一对三单引号’‘’ 之间可以放段落式注释
#是单行注释
Python不支持常量
/ 浮点数除法
// 商取整
% 取余
divmod() 可以同时得到商和余数
divmod(31, 3)
(10, 1)
Python进制:
0b或0B:二进制 0 1
0o或0O:八进制 0 1 2 3 4 5 6 7
0x或0X:十六进制 0 1 2 3 4 5 6 7 8 9 a b c d e f
int()转浮点数会直接舍去小数点后面的数字
float()将整数转为小数
str()将对象转为字符串
Python3中int可以储存任意大小的整数
任何包含float的运算结果都是float
round()可以做四舍五入
unix时间点:Python里时间从1970年1月1日零点开始,以毫秒(1/1000秒)的精度进行计算。
math.sqrt()可以开方
import math
math.sqrt()
Boolean(布尔值)只有True和False两个值
int(True) = 1
int(False) = 0
本质上布尔值是数字,可以相加
逻辑运算符优先级:
not > and > or
同一运算符(is 和 is not):
实际比较对象的ID
is用于比较对象的ID,== 用于比较对象的值
Python会对[-5, 256]的整数进行缓存(id相同),但在解释器或者保存文件执行,缓存范围变为[-5, +inf]
Python字符串不可改变,只能创建新字符串
Python允许空字符串,len() = 0
转义字符:
\ 续航
\\ 反斜杠符号
\' 单引号
\" 双引号
\b 退格(backspace)
\n 换行
\t 横向tab
\r 回车
加号 ‘+’ 可以用来拼接字符串,多个字符串也可以直接放一起实现拼接
乘号 ‘*’ 可以复制字符串
不换行打印:
print('任意字符串', end = '任意字符串')
input()用于控制台键盘输入
replace()用来修改替代字符串:
string = '我也不知道该写点什么'
string.replace('也不', '')
'我知道该写点什么'
字符串切片:
用[],包头不包尾
练习:
将’ to be or not to be’倒序输出
string = 'to be or not to be'
string[::-1]
'eb ot ton ro eb ot'
将’sxtsxtsxtsxtsxt’中所有的s输出
string = 'sxtsxtsxtsxtsxt'
string[::3]
'sssss'
split()用于切割字符串:
string = 'to be or not to be'
# 以o切割
string.split('o')
['t', ' be ', 'r n', 't t', ' be']
join()用来连接字符串,一般用于列表:
string = string.split('o')
string
['t', ' be ', 'r n', 't t', ' be']
'#'.join(string)
't# be #r n#t t# be'
Python支持字符串驻留机制,对于符合标识符规则的字符串(仅下划线,字母,数字)会启用字符串驻留机制
成员操作符:
in/not in,判断子字符串是否存在于字符串中
字符串常用方法:
len() 字符串长度
.startswith(‘’) 以指定字符串开头,返回boolean值
.endswith(‘’) 以指定字符串结尾,返回boolean值
.find(‘’) 指定字符串第一次出现的位置
.rfind(‘’) 指定字符串最后一次出现的位置
.count(‘’) 指定字符串出现的次数
.isalnum() 所有字符是否全为字母或数字,返回boolean值
.strip(‘’) 去除首尾指定字符串
.lstrip(‘’) 去除首指定字符串
.rstrip(‘’) 去除尾指定字符串
.capitalize() 产生新的字符串,首字母大写
.title() 产生新的字符串,每个单词的首字母大写
.upper() 产生新的字符串,所有字母大写
.lower() 产生新的字符串,所有字母小写
.swapcase() 产生新的字符串,所有字母大小写转换
.center(新字符串长度,‘填补两端空缺的字符’) 字符串居中
.ljust(新字符串长度,‘填补两端空缺的字符’) 字符串靠左
.rjust(新字符串长度,‘填补两端空缺的字符’) 字符串靠右
.isalpha() 检测字符串是否只由字母组成(含汉字)
.isdigit() 检测字符串是否只由数字组成
.isspace() 检测是否为空白符
.isupper() 检测是否为大写字母
.islower() 检测是否为小写字母
字符串格式化:
.format() 可以接受不限个参数,位置可以不按顺序
# 用法1
string = '字符串:{0},字符串:{1}, 字符串:{0}'
string.format('替代0', 34)
'字符串:替代0,字符串:34, 字符串:替代0'
# 用法2
string = '字符串:{str1},字符串:{num1}, 字符串:{str1}'
string.format(str1 = '替代str1', num1 = 34)
'字符串:替代str1,字符串:34, 字符串:替代str1'
.format() 填充与对其
:后面的字符(仅限一个字符)是用来填充的字符,不指定则默认是空格
^、<、>分别是居中,左对齐和右对齐,后面接长度
float用f格式化,整数用d
string = '字符串:{str1:#^10},字符串:{num1:<.2f}, 字符串:{str1:*>9}, 字符串:{num2:x>8d}'
string.format(str1 = '替代str1', num1 = 17.5984654, num2 = 1)
'字符串:##替代str1##,字符串:17.60, 字符串:***替代str1, 字符串:xxxxxxx1'