python极简教程已经开赛,如果错过说明可以回翻:

极简python教程:赛前说明

借这个机会,我再讲讲我的教程和其他网上的教程的区别:

1 我分享的内容,是我在工作中会高频使用的语法,是精华内容

2 我剔除了“冗杂”知识,你只需要get到我提到的重点,轻松入门不是梦

3 你可以敲代码学习,效果最佳;亦可以收藏,待有需求时粘来即用

这一场,主讲python的变量类型。

目标:熟悉python中的基础变量类型,以及我们该重点关注的知识点。

说明:Python 中的变量赋值不需要类型声明。

常用的python变量类型是:

counter = 100 # 整型
miles = 1000.0 # 浮点型
name = "John" # 字符串
py_list = [123, 'john'] # 列表
py_tuple = (123, 'john') # 元组
py_dict = {'name': 'runoob','code':6734, 'dept': 'sales'} # 字典

整型和浮点型,就是整数和小数,学过数学的都清楚,没什么说的,我从字符串开始说起。

 

01 字符串

【常用场景1】格式转换,eg:字符串、json 、字典类型之间的转换

# 内置函数-字符串转json
str1 = "{'key':1,'value':2}"
eval(str1)
# 一般转换采用此方法,但它有个问题,如果json中有null值,则无法使用,这时需要用到json库 import json
json1= '{"key":null,"value":2}'
dicts = json.loads(json1) # 可将json的null替换为python能识别的None
print(dicts)

【常用场景2】单双引号使用

# 双引号中的双引号需要转义
string1 = "hello,my,\"god\" "
# 单引号中的双引号不需要转义
string2 = 'hello, my "god" '

【常用场景3】多引号使用

# 比如我们需要在py文件里写一条sql语句
sql_a = 'select * from asset where asset_create_at >= "2018-08-01" '
# 注意每一个右引号左边都需要空格,写代码特别麻烦
sql_b = ('select * '
'from asset '
'where asset_id = "123456";'
)
sql_c = '''
select * from asset where asset_create_at >= "2018-08-01"
'''
# 也可以在三个引号内随意写,这种写法更加方便,但要注意,实际字符串是包含了三行,即sql前面换行的\n和sql后面的换行\n(其实无伤大雅)

02 列表

列表的索引  重点必须掌握!!!

lst = ['a', 'b', 'c','d','e','f']
lst.append('g') # 在列表尾部添加值
lst.pop(0) # 删除索引位置的值
lst[0] # 取index=0的值
lst[1:3] # 取index从0开始(不包括),到index=3的值

列表遍历迭代  重点必须掌握!!!

li = ['a', 'b', 'c', 'd', 'e']
# 一般的遍历
for i in li:
print(i) # 带索引的遍历
for i, e in enumerate(li):
print("index:",i,"element:",e)

【拓展场景1】:多列表迭代

# 循环嵌套
# 缺点:代码复杂度高
x_list, y_list, z_list = [], [], []
for x in x_list:
for y in y_list:
for z in z_list:
None
# itertools标准库
# 缺点:不方便调试
from itertools import product
for x, y, z in product(x_list, y_list, z_list):
None

【拓展场景2】:交集、并集、差集

a=[2,3,4,5]
b=[2,5,8]
# 交集
print(list(set(a).intersection(set(b))))
# 并集
list(set(a).union(set(b)))
# 差集
list(set(b).difference(set(a))) # b中有而a中没有的
list(set(a).difference(set(b))) # a中有而b中没有的

03 元组

如何理解:可以将元组当成不可编辑的list(一般很少用到该类型)

('a','b','c','d')

04 字典

如何理解:key-value键值对

取值  重点必须掌握!!!

personinfo = {'name': 'joe', 'age':'20', 'hobby':'football'}
personinfo['name']

遍历迭代  重点必须掌握!!!

personinfo = {'name': 'joe', 'age':'20', 'hobby':'football'}
for k, v in personinfo.items():
print(k, v)

【实用场景1】合并和复制

# 合并
date_info = {'year': "2020", 'month': "01", 'day': "01"}
track_info = {'artist': "Beethoven", 'title': 'Symphony No 5'}
all_info = {**date_info, **track_info}
# 添加值
date_info = {'year': '2020', 'month': '01', 'day': '7'}
event_info = {**date_info, 'group': "Python Meetup"}
# 在复制/合并字典的同时重写特定的值
event_info = {'year': '2020', 'month': '01', 'day': '7', 'group':'Python Meetup'}
new_info = {**event_info, 'day': "14"}
 

【实用场景2】json和字典的转换  重点必须掌握!!!

import json
data = {"spam" : "foo", "parrot" : 42} # 把python对象转换成json
python_to_json = json.dumps(data)
print(python_to_json)
json_to_python = json.loads(python_to_json) # 将json转换成python对象
print(json_to_python)

05 拓展

isinstance:用来判断对象的类型,也可以判断一个对象是否是一个类的实例

# 【常用场景1】:判断对象的类型
py_int = 1
py_str = 'a'
py_list = ['a','b']
py_dict = {'a':1,'b':2}
isinstance(py_int, int) # 【常用场景2】:一个对象是否是一个类的实例
class C():
pass
cc = C()
isinstance(cc, C)

format:用于组装和格式化数据

# 【常用场景1】:装载字符串
py_str = "hello {0}".format("world")
py_str = "hello {}{}".format("great","world!")
# 【常用场景2】:装载列表
a = [1,2]
py_list = '列表第一个: {0}; 列表第二个: {1}'.format(a[0],a[1])
py_list = '列表第一个: {0[0]}; 列表第二个: {0[1]}'.format(a)
# 常用场景3:装载字典
student = {"name": "zhao", "age": 5}
"My name is {} and my age is {}".format(student['name'],student['age'])
"My name is {pig[name]} and my age is {pig[age]}".format(pig=student)

最后,一如既往,总结一下:

1 python的变量是python语法基础中的基础,重要中的重要

2 一定要上手实操一遍

另,我写的这些场景,如果你以后用不到,可以来打我;若有疑问,欢迎评论咨询~

极简python教程02:基础变量,删繁就简的更多相关文章

  1. 极简python教程:快速入门好方法

    大家好,我是测试奇谭的作者风风. 其实很久之前,就有身边的同事或者网友让我分享一些关于python编程语言的快速教程,他们的痛点同大多数自学编程语言的人一样,遇到了这些问题: 网络上的信息太多,良莠不 ...

  2. Git 极简入门教程学习笔记

    Git 极简入门教程  http://rogerdudler.github.io/git-guide/index.zh.html 测试用 https://github.com/xxx/BrnShop. ...

  3. 极简Python DeBug工具——PySnooper

    DeBug Python 代码的方式有很多种?比如: (1)设置断点 (2)print函数 (3)... 本文要介绍的是一个新开源的项目PySnooper ,只要给有疑问的代码加上装饰器,各种信息一目 ...

  4. Python入门 —— 02基础语法

    基础语法入门学习推荐: 简明 Python 教程 下文仅为入门推荐书籍的补充与重点 多行语句:末尾使用斜杠 (  ) ,将一行分为多行 var = item1 + item2 + item3 注释: ...

  5. 30段极简Python代码:这些小技巧你都Get了么

    学 Python 怎样才最快,当然是实战各种小项目,只有自己去想与写,才记得住规则.本文是 30 个极简任务,初学者可以尝试着自己实现:本文同样也是 30 段代码,Python 开发者也可以看看是不是 ...

  6. Vim,极简使用教程,让你瞬间脱离键鼠切换的痛苦

    注:看大家对Vim仇恨极大,其实它只是一种文本操作方式,可以减少键鼠的切换,从而让编辑文本的操作更迅捷.并不等同于IDE,在我看来,它们是两个是包含关系,IDE可以有Vim编辑模式.Vim或许可以通过 ...

  7. 极简Node教程-七天从小白变大神(一:你需要Express)

    如果说用一句话来概括Node那就是:它开启了JavaScript服务器端语言. Node系列的文章并不会从一开始长篇概论的讲Node的历史,安装,以及其他很琐碎的事情.只会专门介绍关于Node或者准确 ...

  8. 极简估值教程——第一篇 速判估值与PEG的推导

    来自盛京剑客的雪球原创专栏 一.极简速判估值怎么判? 很简单.简单到粗暴. 用PEG PEG=PE/(g*100)=1.0 什么意思? PE市盈率,g未来收益增长率,PEG为1.0合理估值,大于1.0 ...

  9. WordPress基础:极简安装教程

    1.下载WordPress 2.将解压后的文件夹,放到网站根目录,并重命名为你喜欢的目录如:w, 3.重命名文件wp-config-sample.php 为 wp-config.php,并进行配置 4 ...

随机推荐

  1. Codeforces 1404 D. Game of Pairs

    Codeforces 1404 D.Game of Pairs 给定\(2n\)个数\(1,2,...,2n\),A 和 B 将进行交互,规则如下: A 需要将元素分成 n 组 \(\mathbf{p ...

  2. Java中float浮点型变量不加F报错情况

    1 public class Text { 2 3 public static void main(String args[] ){ 4 float x=123.45; 5 System.out.pr ...

  3. Pandas_VBA_数据清洗对比

    VBA处理数据与Python Pandas处理数据案例比较 Author : Collin_PXY 需求: 现有一个 csv文件,包含'CNUM'和'COMPANY'两列,数据里包含空行,且有内容重复 ...

  4. MongoDB基础教程(安装、操作、配置)

    MongoDB 下载安装 简易安装 # redhat, centOS sudo yum install -y mongodb # debian, ubuntu sudo apt install -y ...

  5. linux Netfilterr中扩展match target

    Match: netfilter定义了一个通用的match数据结构struct xt_match /* 每个struct xt_match代表一个扩展match,netfilter中各个扩展match ...

  6. binary hacks读数笔记(file命令与magic file)

    file命令的作用是用于检验文件的类型,并打印至终端.file命令检验文件类型按以下顺序来完成: 检验文件系统(Filesystem)中支持的文件类型. 检验magic file规则. 检验文件内容的 ...

  7. Ceph中的Copyset概念和使用方法

    前言 copyset运用好能带来什么好处 降低故障情况下的数据丢失概率(增加可用性) 降低资源占用,从而降低负载 copyset的概念 首先我们要理解copyset的概念,用通俗的话说就是,包含一个数 ...

  8. 用rsync备份一台linux服务器上的数据

    rsync是安装完linux后都会自带的,在机器上运行rsync命令看是否有安装即可 备份到远程服务器 这里介绍的rsync的用途是备份一台linux服务器上的数据到另外一台机器 环境 将需要备份机器 ...

  9. mysql 创建数据库知识总结

    表设计 库名.表名.字段名必须使用小写字母,"_"分割,且名称长度不超过12个字符并且要做到见名知意. 建议使用InnoDB存储引擎. 存储精确浮点数必须使用DECIMAL替代FL ...

  10. DjangoWeb _ 登录页开发test

    1.数据库设计 user表 --id 自增 --username varchar(20) --password varchar(25) --add_time datetime 2.数据操作 新增 修改 ...