Python语法易错点记录
本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人! (拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) |
Chinar —— 心分享、心创新! 助力记录 Python 语法中易错点、总结 ( 便于查询 ) 为新手节省宝贵的时间,避免采坑! |
Chinar 教程效果:
全文高清图片,点击即可放大观看 (很多人竟然不知道)
1
Python —— 解释性语言
Python —— 敬请期待
2
Pragma —— 注释
1、 Python 中的单行注释以 #
开头
#这是一个单行注释
print('Hello , Chianr')
2、 Python 中的多行注释以 3个'''
/"""
开头结尾
'''
这是多行注释,用三个单引号
这是多行注释,用三个单引号
这是多行注释,用三个单引号
'''
print('Hello , Chianr')
'''
这是多行注释,用三个单引号
这是多行注释,用三个单引号
这是多行注释,用三个单引号
'''
print('Hello , Chianr')
3、 Python 中利用 函数.__doc__
可输出函数中的注释
def fun():
'''这是函数中的注释'''
pass
print(fun.__doc__)
输出结果:
这是函数中的注释
3
Member Typeid —— 成员运算符
Python 中支持成员运算符,分别为 in
/ not in
运算符 | 描述 |
---|---|
in | 如果指定序列中找到值,则返回 True,否则False |
not in | 如果指定序列中没有找到值,则返回 True,否则False |
In:
a=666
b=5
list=[1,2,3,4,5]
print(a in list)
输出结果:
False
not in:
a=666
b=5
list=[1,2,3,4,5]
print(a not in list)
输出结果:
True
4
Identity Typeid / Comparision Operator ——身份 / 比较运算符
1. is 和 == 的区别
Python 中支持多种运算符
其中 is
/ ==
其中 is not
/ !=
比较难以分别
运算符 | 描述 |
---|---|
is | 判断两个标识符,是否引用自一个对象 |
is not | 判断两个标识符,是否引用自不同对象 |
== | 判断两者的值是否相等 |
!= | 判断两者的值是否不相等 |
区别在于:一个比较的是引用对象,另一个是比较二者的值
栗子:
a=666
b=666
print("a-ID:",id(a))
print("b-ID:",id(b))
if a==b:
print("a等于b")
else:
print("a不等于b")
if a is b:
print("两者引用一个对象")
else:
print("不是")
输出结果:
a-ID: 1809336357040
b-ID: 1809336357040
a等于b
两者引用一个对象
2. Python 中变量以内容为基准
注意: 这里就会又引入一个知识点
由 1 中输出结果,可以看出
当两个变量 a 和 b 都赋值 5 时,二者的 id 相同
这是由于 Python 是以内容为基准的
无论你变量起什么名字, a、b、c、d、e、f、g
只要内容是数字 666 ,那么变量的 id 就一定是相同
注意: 如果类型是 列表、元组、字典等其他类型,a 和 b 赋值相同
那么 id 就不相同了,但值依旧是相同的
栗子:
a=[1,2,3]
b=[1,2,3]
print("a-ID:",id(a))
print("b-ID:",id(b))
if a==b:
print("a等于b")
else:
print("a不等于b")
if a is b:
print("两者引用一个对象")
else:
print("不是")
输出结果:
a-ID: 1863951999560
b-ID: 1863951999624
a等于b
不是
可以看出 a 和 b 的 id 在此时,并不一致
5
Binary System —— 二进制 / 八进制 / 十进制
Python 中二进制并非直接赋值就行
需要通过 0b
开头,然后写上二进制数,才可以完成赋值
进制开头 | 描述 |
---|---|
0b | 二进制 ( Binary ) |
0o | 八进制 ( Octonary) |
0x | 十六进制 ( Hexadecimal ) |
同样输出,也需要按照格式来书写
bin(数字)
可以输出 2 进制
oct(数字)
可以输出 8 进制
hex(数字)
可以输出 16 进制
In:
a = 0b1010011010 # 二进制的赋值,需要0b开头
b = 666 # 直接赋值666给b
print(a) # 直接输出a的值:0b1010011010 == 666
print(bin(b)) # 直接输出b的2:b的二进制 == 0b1010011010
print(oct(b)) # 直接输出b的8:b的八进制 == 0o1232
print(hex(b)) # 直接输出b的16:b的十六进制 == 0x29a
输出结果:
666 #直接输出a的二进制 对应的数值
0b1010011010 #输出b的二进制
0o1232 #输出b的八进制
0x29a #输出b的十六进制
支持
May Be —— 搞开发,总有一天要做的事!
拥有自己的服务器,无需再找攻略! Chinar 提供一站式教程,闭眼式创建! 为新手节省宝贵时间,避免采坑! |
先点击领取 —— 阿里全产品优惠券 (享受最低优惠)
1 —— 云服务器超全购买流程 (新手必备!)
2 —— 阿里ECS云服务器自定义配置 - 购买教程(新手必备!)
3—— Windows 服务器配置、运行、建站一条龙 !
4 —— Linux 服务器配置、运行、建站一条龙 !
" role="presentation">
技术交流群:806091680 ! Chinar 欢迎你的加入
END
本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究
对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: ichinar@icloud.com
对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址