Python基础(二):基本数据类型
基本数据类型
数字类型及操作
数字类型
数字类型可以自动“拓宽”:整数→浮点数→复数
整数
4 种进制表示(十进制、二进制、八进制、十六进制)
浮点数
浮点数运算存在不确定尾数
浮点数可采用科学记数法表示
复数
数值运算操作符
x+y
|x-y
|x*y
|x/y
|x//y
|x%y
|x**y
|+x
|-x
x op y
op为二元操作符,例如
x += y
数值运算函数
abs(x) | pow(x,y[,z]) | divmod(x,y) | round(x,[,d]) | max(a,b,...) | min(a,b,...)
[ ]
表示参数可以省略divmod(x,y)
同时输出商和余数pow(x,y[,z])
计算(x**y)%z
round(x[,d])
四舍五入,d 是保留小数位数
int(x) | float(x) | complex(x)
数字类型的显式转换
字符串类型及操作
字符串类型
如何表示
一对单引号,一对双引号,一对三单引号,一对三双引号
操作符:
x+y | x*n 或 n*x | x in s
x*n
或n*x
:复制 n 次字符串 xx in s
:判断 x 是 s 的子串
处理字符串的函数
len(s) | str(x) | hex(x) | oct(x)
hex(x)
与oct(x)
:整数 x 的八进制与十六进制小写形式字符串。chr(u) | ord(x)
u 为 Unicode 编码,
chr(u)
返回对应的字符x 为字符,
ord(x)
返回对应的 Unicode 编码
字符串处理方法
.lower() | .upper() | .split(sep) | .count(sub) | .replace(old,new)
.center(width[,fillchar]) | .strip(chars) | .join(iter)
字符串格式化
<模板字符串>.format(<逗号分隔的参数>)
槽: 用
{}
表示槽,如下图:槽内部的写法:
{<参数序号>:<格式控制标记>}
槽内部的格式控制标记:
思维导图
Tips
字符串处理方法
.lower()
与.upper()
返回字符串的副本,全部字符转为小写/大写 .count(sub)
返回子串sub在str中出现的次数 .replace(old,new)
返回字符串的副本,所有old子串被替换为new .center(width[,fillchar])
让字符串根据宽度width居中,fillchar是用于填充的符号 .strip(chars)
删除字符串两端的空格或指定字符chars。 "123abob321".strip('12')
结果为3abob3
.split(sep)
以sep分割字符串,返回列表, "A,B,C".split(",")
结果为['A','B','C']
.join(iter)
联结字符串元素。 "-".join("12345")
结果为1-2-3-4-5
split:分开,join:联合
字符串的格式化输出
.format()
,对槽的内部控制格式加深理解#eg1 print("工作日的努力参数是: {:.3f}".format(dayfac)) #eg2 print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,d) ,end="") #eg3 N = eval(input()) for i in range(1,N+1,2): # 从1到N,步长为2 #print(('*'*i).center(N,' ')) # 一种方式 print("{:^{}}".format('*'*i,N)) # 另一种方式 # 注意如果用print("{:^N}".format('*'*i))是错误的
Python 没有字符类型,不能直接进行字符加减运算,需借助
chr(u)
和ord(x)
函数#凯撒密码加密 plaintext = input() ciphertext = "" for p in plaintext: if 'a' <= p <= 'z': # 字符串比较 **c = chr(((ord(p)-ord('a'))+3)%26+ord('a'))** elif 'A' <= p <= 'Z': # 字符串比较 **c = chr(((ord(p)-ord('A'))+3)%26+ord('A'))** else: c = p ciphertext += c print(ciphertext)