链式赋值:同一个对象赋值给多个变量
x = y =123
解包赋值
系列数据(序列)给对应相同个数变量赋值
常量
python不支持常量,即没有语法规则限制改变一个常量的值,常量大写,人为的不改变它
python中内置的最基本的数据类型
整型、浮点、布尔、字符串
幂运算:**
divmod(a,b)返回(商,余数)
三种进制:(是0不是o)
0b或者0B 二进制
0o或者0O 八进制
0x或者0X 十六进制
int()函数
1 浮点型小数截断
2 布尔型0和1
3 字符串符合整数格式转为相应整数,浮点数转不了
自动转型:浮点和整数混合运算时,自动转浮点
浮点数在内存中按照科学计数法存储,如3.14
314e-2
和浮点数相关的类型转换:
1 float(),可转换字符串、布尔、整型
2 round(),四舍五入取整数
住:生成了新的对象,不改变原有对象的值
增强型赋值运算符:
/=
计算机的unix时间:1970
布尔值:
关键字是True和False,但本质还是1和0,甚至可以和数字运算3.1
逻辑运算符返回值:
or和and返回的是能够确定结果的最后一个值;not返回True或False
is is not:判断id()
==判断值,调用__eq__()
整数的缓存问题
python将[-5,256]的对象进行缓存,而并非所有整数对象。而在pycharm中范围是[-5,+无穷]
例如:
命令行模式下
a = 1000
b = 1000
c = a
#id(a)和id(b)不相等,id(a)和id(c)相等
字符串编码
python3直接支持unicode,Python的字符默认就是16位的unicode编码
使用内置函数ord()可以吧字符转换成对应的unicode码;
使用内置函数chr()可以把十进制数字转换成对应字符
字符拼接
空格可以代替加好:'a' 'b' 'c'等于'abc'
print(sep=' ', end='\n')默认
S.replace():字符串不可变,直接看源码
def replace(self, old, new, count=None):
"""
S.replace(old, new[, count]) -> str
Return a copy of S with all occurrences of substring
old replaced by new. If the optional argument count is
given, only the first count occurrences are replaced.
"""
return ""
切片操作时,起始和终止偏移量不在[0,len-1]范伟时也不会报错
S.split()分割字符串,看源码,返回列表
S.join(iterable)拼接字符串,看源码;返回字符串;此方法相对于+法拼接不需要创建过多对象
字符串驻留机制:
对于满足符合标识符的字符串自动启用字符串驻留机制,即仅保存一份相同且不可变的字符串,不同的值被存放在字符串驻留池中。
如
a = 'a_11'
b = 'a_11' #则id(a)和id(b)相等
a = 'a_11#'
b = 'a_11#' #则id(a)和id(b)不相等
字符串常用方法:看看源码
s.startswith()
s.endswith()
s.find()
s.rfind()
s.count()
s.isalnum()
s.strip()
s.lstrip()
s.rstrip()
s.capitalize()
a.title()
a.upper()
a.lower()
a. swapcase()
a.center()
a.ljust()
a.rjust()
s.isalnum()
s.isalpha() 是否都由字母组成,含汉字
s.digit()
s.isspace()
s.isupper()
s.islower()
字符串格式化
"{索引或者参数名:填充符格式(<>^)位数}".format(, ,)
2020.3.19