之前一直使用python2.7,最近打算学习下python3教程,再此记录下一些要点(未完待续。。。)
1、缩进
缩进有利有弊。好处是强迫你写出格式化的代码,但没有规定缩进是几个空格还是Tab。按照约定俗成的管理,应该始终坚持使用4个空格的缩进。
缩进的另一个好处是强迫你写出缩进较少的代码,你会倾向于把一段很长的代码拆分成若干函数,从而得到缩进较少的代码。
缩进的坏处就是“复制-粘贴”功能失效了,这是最坑爹的地方。当你重构代码时,粘贴过去的代码必须重新检查缩进是否正确。
2、数据类型
整数:任意大小的整数,当然包括负整数
浮点数:浮点数也就是小数,很大或很小的小数用科学计数法表示,把10用e替代,1.23x109就是1.23e9
,或者12.3e8
,0.000012可以写成1.2e-5
字符串:用单引号或双引号括起来的任意文本;如果字符串内部既包含'
又包含"
,可以用转义字符\
来标识,如:'I\'m \"OK\"!'表示是
I'm "OK"!;
转义字符
\
可以转义很多字符,比如\n
表示换行,\t
表示制表符,字符\
本身也要转义,所以\\
表示的字符就是\;
Python还允许用r''
表示''
内部的字符串默认不转义 print(r'\\\t\\')结果为 \\\t\\
布尔值:True、False
空值:空值是Python里一个特殊的值,用None
表示。None
不能理解为0
,因为0
是有意义的,而None
是一个特殊的空值。
列表:各个元素类型可以不同,元素可变
字典:
元组:各个元素类型可以不同,但元素不可变
不可变数据类型:整数、浮点数、字符串、元组
3、变量
变量可以使任意数据类型;变量名必须是大小写英文、数字和_
的组合,且不能用数字开头;
变量名是对内存中的变量的一个引用
# python干了两件事:1、在内存中创建了一个'ABC'的字符串;2、在内存中创建了一个名为a的变量,并把它指向'ABC'
a = 'ABC'
b = a # 在内存中创建了一个名为b的变量,并把它指向a变量指向的'ABC'
a = 'XYZ' # 在内存中创建了变量’XYZ', 并用变量名a指向‘XYZ'
print(b) # 'ABC'
# 当数据类型为可变数据类型,如列表时:
a = [1, 2, ] # 在内存中创建列表[1,2,], 创建变量名a指向列表
b = a # 创建变量名b,指向变量名a指向的内存地址
a.append(3) # a指向的列表的最后增加元素3
print(b) # [1,2,3] # 此时变量名a和b任然指向同一内存地址
4、常量
python3中通常用全部大写的变量名表示常量,但这只是一种约定
PI = 3.14159265359
python3没有任何机制保护PI不会被改变,用全部大写的变量名表示常量只是一个习惯上的用法,如果你一定要改变变量PI
的值,也没人能拦住你
5、除法
python3的除法与python2.7不同
# /除法计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数
10 / 3 # 3.3333333
9 / 3 # 3.0
# 还有一种除法是//,称为地板除,两个整数的除法仍然是整数
10 // 3 #
# 取余数
10 % 3 #