基本数据操作
数字类型及操作
- 整数类型
- 与数学中整数类型一致,可正可负,没有取值范围限制
- pow(x,y)函数,计算下x^y,想算多大算多大
- 十进制:*1010,99,-217 *
- 二进制:以0b或0B开头:* 0b010,-0B101*
- 八进制:以0o或0O开头:0o123,-0O456
- 十六进制:以0x或0X开头:0x9a -0x89
- 浮点数类型
- 与数学中实数一致,精度有限制,但忽略不记
- 浮点数运算存在不确定尾数,但不属于bug
- 二进制小数表示只能无限接近十进制,但是仍不确定,取53位二进制表示十进制,不精确。
- round(x,d):对x四舍五入,d是小数截取的位数 浮点数运算和比较辅助
- 浮点数可采用科学计数法表示,使用e或E作为幂的符号,以10为基数
- 格式:e 表示a*10^b 4.3e-3 9.6E5
- 复数类型
- a+bj 被称为复数,a是实部,b是虚部
- z=1.23e-4+5.6e+89j z.real 获得实部 z.imag 获得虚部
- 数字类型及操作
-
-
-
- / 除 得到是浮点数类型 // 整数除,得到整数商
-
-
- % 余数,模运算 x**y 幂运算 x的y次幂
类型间进行混合运算,生成的结果为“最宽“类型
-
- 数值运算函数
- 一些以函数形式提供的数值运算功能
- int(x)
- float(x)
- round(x,b)
- max(a,b)
- min(a,b)
- abs(x) 绝对值,x的绝对值 *abs(-10.34) 输出 10.34
- divmod(x,y)商余,同时输出商和余数,*divmod(10,3) 输出 (3,1)
- pow(x,y[.z])幂余,*pow(3,pow(3,99),10000) 结果为 4587
实例 天天向上的力量
**
daydayup.py 计算努力值
**def dayup(df):
**dayup = 1
**for i in range(365):
**if i % 7 in [6,0]:
** dayup = dayup * (1-0.01)
**else:
** dayup = dayup*(1+df)
**return dayup
**dayfactor = 0.01
**while dayup(dayfactor) < 37.78:
**dayfactor += 0.001
**print("工作日的努力参数是:{:.2f}",format(dayfactor))
- 字符串类型及操作
- 2类4种表示方式
- 由一对单引号或双引号表示,仅表示单行字符串 ** “你好” ‘ C’
- 由一对三单引号或三双引号表示,可表示多行字符串
- 字符串中如果出现单引号则用双引号表示字符串 字符串中如果出现双号则用单引号表示字符串 同时出现单引号和双引号就使用三引号
- 字符串切片的高级用法
- <字符串>[M:N],M缺失表示至开头,N缺失表示至结尾
- <字符串>[M:N:K],根据步长K对字符串进行切片
- “0123456789”[1:8:2] 结果是:”1 3 5 7“ 从1开始至8前结束,步长为2进行截取
- ”0123456789“[::-1]结果是”0123456789“将字符串进行倒序
- 字符串操作符
- x+y :连接字符串 x,y
- nx 或 xn: 复制n次字符串x
- x in s : 如果x是s的子串,返回true,否则返回False
- 字符串处理函数
- len(x) 长度,返回字符串x的长度
- str(x)任意类型 x 所对应的字符串形式
- hex(x)或oct(x)整数x的十六进制或八进制小写形式字符串
- chr(u) u为Unicode编码,返回其对应的字符
- ord(x) x为字符,返回其对印的Unicode编码
- 字符串处理方法
- str.lower() 或 str.upper() :返回字符串副本,全部字符小写/大写 “ABCDEFG”.lower() 结果是“abcdefg”
- str.split(sep=None) :返回一个列表,由str根据sep被分割的部分组成 “ABC”.split(",")结果是[‘A’,‘B’,‘C’]
- str.count(sub) :返回子串sub在str中出现的次数 “an apple a day”.count(“a”) 结果为4
- str.replace(ald,new) :返回字符串str副本,所有old字串被替换为new “python”.replace(“n”,“n123.io”) 结果为“python123.io”
- str.center(width[,fillchar]) :字符串str根据宽度width居中,fillchar可选 “python”.center(20,"=")结果为“=python=”
- str.strip(chars):从str中去掉在其左侧和右侧chars中列出的字符 “= python= ”.strip(" =np") 结果为“ytho”
- str.join(iter) 在iter变量除最后元素外每个元素后增加一个str",".join(“12345”)结果为“1,2,3,4,5” #用于字符串分割
- for x in y:也是循环结构的一种,经常用于遍历字符串、列表,元组,字典等x依次表示y中的一个元素,遍历完所有元素循环结束。
- 字符串类型的格式化
- 格式化是对字符串进行格式化表达的方式
- 字符串格式化使用.format()方法, <模板字符串>.format(<逗号分隔的参数>)
- 槽 槽中的默认顺序可以随便更改,对应format中的参数顺序
Unicode编码 python所使用的编码形式
统一字符编码,覆盖所有字符
从0到1114111(0x10FFF)空间,每个编码对应一个字符
python字符串中每个字符都是Unicode编码字符
- 2类4种表示方式