第 2 章 数据类型
2.1 标识符与关键字
标识符规则一:关于引导字符和后续字符,只要是Unicode编码的字符都可以作为引导字符包括ASCII字符,下划线(_),以及大多数非英文字符。后续字符是任意的引导字符,或者非空格,包括Unicode中认为是数字的字符。标识符大小写敏感。规则二:标识符不能与Python的关键字重名。
Python中的关键字:
and continue except global lambda pass while
as def False if None raise with
assert del finally import nonlocal return yield
break elif for in not True
class else from is or try
约定一:不要使用Python预定义的标识符名对自定义的标识符命名,也不要使用内置函数名和异常名作为标识符名。检查方法使用Python3内置的dir()函数:dir(__builtins__)。
约定二:关于下划线的使用,名的开头和结尾都使用下划线(_)的情况应该避免使用,因为Python定义了各种特殊的方法和变量,对于特殊方法我们可以对其进行重新实现,也就是说给出我们自己的实现版本
2.2 Integral类型
整数的大小只受限于机器内存的大小。
二进制数以 0b 引导,八进制数以 0o 引导,十六进制数以 0x 引导,大小写字母均可。
一些运算符:+ – * ,与其他语言无异。
// :整除,5//2 == 2; /:浮点除法,5/2 == 2.5; %:求模, 5%2 == 1. x**y: 就是x的y次幂,5**2 == 25;
所有的二元运算符都有相应的增强型赋值运算符:x op= y <=> x = x op y
常用函数:
abs(x) :取x的绝对值
divmod(x,y):以二元组的形式返回x除以y的商和余数(两个整数)
pow(x,y): 同 x**y
pow(x,y,z): 同 (x**y)%z
round(x,n):返回浮点数x四舍五入后得到的相应整数(或者如果给定n,就将浮点数转化为小数点后有n位)
位逻辑操作符:& | ~ ^ >> <<和C语言无异,同样二元的位逻辑操作符都有其对应的增强型赋值运算符.
布尔类型:
两个内置的布尔类型: Flalse ,True.
2.3 浮点类型
Python中提供的3种浮点值:内置的 float 和 complex ,以及来自标准库的 decimal.Decimal类型。
float类型的数值使用小数点或指数表示。比如:2.5,-2.5 ,2.5e-4,-2.5e4。
math库:太多,不计了,用到的时候import math; help(math)查吧
decimal模块:提供固定的十进制书,起精度可以自己指定。比float更精确,当速度会降低。
十进制书使用 decimal.Decimal() 创建,可以接受一个整数或字符串最为参数,但是不能使用浮点数作为参数,因为浮点数不过精确,decimals则很精确。
PS:从Python3.1开始可以decimal。Decimal() from-float()将float转为十进制,该函数以float作为参数,返回与该float最为接近的decimal.Decimal.
2.4 字符串
字符串的3种表示:单引号(‘’),双引号和三引号
跨越多行的字符串可以使用”str1”+\换行”str2”和(”str3“换行”str4“)来表示
字符串分片:
1. Python的索引从 0 开始
2. 3种分片语法:seq[start]
seq[start:end]:分片包含start但是不包含end,seq[:]与seq[0:len(seq)],等同
seq[start:end:step]:step表示提取的步长。
字符串的反转:str[::-1] 或者 “”.join(reversed(str)).
后面还有3个部分内容,留作下篇。
字符操作函数
字符串格式化
格式规约