1. 数值类型

1.1整数类型

四种进制表示

  • 十进制:如 1010,99,-217
  • 二进制:以0b或0B开头, 如 0b010, -0B101
  • 八进制:以0o或0O开头,如0o123,-0O456
  • 十六进制:以0x或0X开头,如0x9a,-0X89

    pow(x,y)函数

    计算x^y
    image.png

    1.2 浮点数类型

    带有小数点及小数的数字;
    存在不确定尾数。

    round(x,d)函数

    对x作四舍五入,d是小数截取位数,可以避免不确定位数造成的运算不正确问题。
    image.png

    用e或E作为幂符号

    语法:<a>e<b> #以10为基数
    image.png

    1.3复数类型

    image.png
    image.png

    数值运算操作符

    操作符是完成运算的一种符号体系

    一元操作符

    | 操作符及使用 | 描述 | | —- | —- | | x+y | 加,x与y之和 | | x-y | 减,x与y之差 | | x*y | 乘,x与y之积 | | x/y | 除,x与y之商,10/3结果是3.3333333333333335 | | x//y | 整数除,x与y之整数商 10/3结果是3 |
+x x本身
-y y的负值
x%y 余数,模运算 10%3的结果是1
x**y 幂运算,x的y次幂 x^y ; y可以是小数,表示开方 如10**0.5

二元操作符

增强操作符及使用 描述
x op = y 即 x = x op y ,其中,op为二元操作符
x += y ; x -= y ; x = y ; x /= y
x //= y ; x %= y ; x*
= y
x += y 等价于 x = x+y

数值运算函数

函数及使用 描述 示例
abs(x) 绝对值,x的绝对值 abs(-10.01) 结果为 10.01
divmod(x,y) 商余, (x//y,x%y) ,同时输出商和余数 divmod(10,3) 结果为 (3,1)
pow(x,y[,z]) 幂余,(x**y)%z ,z可省略 pow(3,pow(3,99),10000) 结果为4587
round(x[,d]) 四舍五入,d是保留小数位数,默认值为0 round(-10.123,2) 结果为 -10.12
max(x,y,z…) 最大值,返回括号内数值中的最大值 max(1,9,5,4,3) 结果为9
min(x,y,z…) 最小值,返回括号内数值中的最小值 min(1,9,5,4,3) 结果为1
int(x) 将x变成整数,舍弃小数部分 int(123.45) 结果为 123;
int(“123”) 结果为 123
float(x) 将x变成浮点数,增加小数部分 float(12) 结果为 12.0;
float(“1.23”) 结果为 1.23
complex(x) 将x变成复数,增加虚数部分 complex(4) 结果为 4+0j

2.字符串类型

2.1字符串表示

字符串由一对单引号或一对双引号表示;
三单引号或双引号可表示多行。

  1. 1. "字符串"
  2. 2. '字符串'
  3. 3. '''
  4. 多行字符串,可作为注释
  5. '''

2.2 切片、索引

1. 索引

字符串是字符的有序序列,可以对其中的字符进行索引

  1. 例如:
  2. a="请输入字符串" # "请"是第0个字符
  3. print(a[0]) #输出: 请

2. 切片

使用 [M:N:K] 根据步长对字符串切片

  1. 1. <字符串>[M:N:K] ,M不填,表示至开头,N不填表示至结尾,K不填表示使用默认步长1
  2. "0123456789"[:3] #结果是 "012"
  3. 2. 根据步长K对字符串切片
  4. "0123456789"[1:8:2] #结果是 "1357"
  5. "0123456789"[::-1] #结果是 "9876543210"

3. 特殊字符

转义符: \

  • 转义符表达特定字符的本意

"这里有个双引号(\")" 结果为 这里有个双引号(")

  • 转义符形成一些组合,表达一些不可打印的含义
    1. \b :回退
    2. \n :换行(光标移动到下行行首)
    3. \r :回车(光标移动到本行行首)

    2.3 字符串操作符

    对不同字符串间使用
操作符 描述
x+y 连接两个字符串x和y
nx 或 xn n是数字,复制n次字符串x
x in s 如果x是s的子串,返回True,否则返回False
  1. 1.示例:获取星期字符串
  2. weekstr= "一二三四五六日"
  3. week_id=eval(input("请输入星期数字(1~7):"))
  4. print("星期" + weekstr[week_id-1])

2.4 字符串处理函数

提供处理功能的函数

函数 描述 示例
len(x) 长度,返回字符串x的长度 len(“123456”) 结果为 6
str(x) 任意类型的 x 转为字符串形式 str(1.23) 结果为 “1.23” ; str([1,2]) 结果为 “[1,2]”
hex(x) 整数x的十六进制小写形式字符串 hex(425) 结果为 “0x1a9”
oct(x) 整数x的八进制小写形式字符串 oct(425) 结果为 “0o651”

unicode编码

函数 描述 示例
chr(u) x为Unicode编码, 返回其对应的字符 chr(97) 结果为 “a” ; chr(100) 结果为 “d”
ord(x) x为字符,返回其对应的Unicode编码 ord(“a”) 结果为 97 ;ord(“d”) 结果为 100
  1. ![image.png](https://cdn.nlark.com/yuque/0/2021/png/20358086/1621691337808-c99c05c9-4cd7-4f9d-ac00-479f30671e48.png#crop=0&crop=0&crop=1&crop=1&height=88&id=IwtSu&margin=%5Bobject%20Object%5D&name=image.png&originHeight=88&originWidth=307&originalType=binary&ratio=1&rotation=0&showTitle=false&size=9009&status=done&style=none&title=&width=307)

2.5 字符串处理 “方法”

“方法” 特指 .( ) 风格中的函数 ( ) ;
方法本身也是函数,但与
有关,字符串或字符串变量是, 存在一些可用方法

方法 描述 示例
str.lower() 返回字符串的副本,全部字符小写 “AbCdEfGh”.lower() 结果为 “abcdefgh”
str.upper() 返回字符串的全大写形式 “AbCdEfGh”.upper() 结果为 “ABCDEFGH”
str.split(sep=None) 返回一个列表,由str根据sep被分隔的部分组成 “A,B,C”.split(“,”) 结果为 [‘A’,’B’,’C’]
str.count(sub) 返回字串sub在str中出现的次数 “an apple a day”.count(“a”) 结果为 4
str.replace(old,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”) 结果为”yuho”
str.join(iter) 在iter变量除最后元素外每个元素后增加一个str “,”.join(“12345”) 结果为 “1,2,3,4,5”
#主要用于字符串分隔

2.6 格式化 (槽的填充格式)

对字符串进行格式表达的方式
语法:<模板的字符串>.format(<逗号分隔的参数>)

槽{}

  1. ![image.png](https://cdn.nlark.com/yuque/0/2021/png/20358086/1621692690798-d6440fbb-5828-4ad9-b03e-375d8d4e0e2d.png#crop=0&crop=0&crop=1&crop=1&height=144&id=jIhIc&margin=%5Bobject%20Object%5D&name=image.png&originHeight=204&originWidth=722&originalType=binary&ratio=1&rotation=0&showTitle=false&size=29980&status=done&style=none&title=&width=510)<br />槽内部对格式化的配置方式

槽{}格式

{<参数序号> : <格式控制标记>}

: <填充> <对齐> <宽度> <,> <.精度> <类型>
引导符号 用于填充的单个字符 < 左对齐;
> 右对齐;
^ 居中对齐
槽设定的输出宽度 数字的千位分隔符(可忽略) 浮点数小数精度;
或 字符串最大输出长度
整数类型:
b, c, d, o, x, X ;
浮点数类型:
e, E, f, %

示例

  1. 1.填充、对齐、宽度
  2. "{0:=^20}".format("python","c++") #第0个参数,'='填充,居中对齐,输出宽度20字符
  3. 输出: '=======python======='
  4. "{1:10}".format("python","c++") #第1个参数,默认空白填充,默认左对齐,输出宽度10字符
  5. 输出: 'c++ '
  6. 2.精度、分隔符、数值类型
  7. "{0:,.2f}".format(12345.6789) #第0个参数,2位小数精度浮点数
  8. 输出: "12,345.67"
  9. "{0:b},{0:c},{0:d},{0:o}{0:x}{0:X}".format(425) #各进制整数输出类型
  10. 输出:"1101011001,∑,425,651,1a9,1A9"
  11. "{0:e},{0:E},{0:f},{0:%}".format(3.14) #科学计数法、浮点数、百分比
  12. 输出:"3.1400000e+00,3.1400000E+00,3.1400000,314.00000%"

格式化符号

符 号 描述
%c 格式化字符及其ASCII码
%s 格式化字符串
%d 格式化整数
%u 格式化无符号整型
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化浮点数字,可指定小数点后的精度
%e 用科学计数法格式化浮点数
%E 作用同%e,用科学计数法格式化浮点数
%g %f和%e的简写
%G %F 和 %E 的简写
%p 用十六进制数格式化变量的地址

示例

  1. >>> print("测试%s" %'python')
  2. 测试python
  3. # 利用for循环和range输出9 * 9乘法表
  4. for i in range(1, 10):
  5. for j in range(1, i+1):
  6. print("%s*%s=%s" % (j,i,i*j), end=" ") #输出结果结尾用空' ' 代替默认的 \n换行符
  7. print(end="\n")