1. 数值类型

1.1整数类型

四种进制表示

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

pow(x,y)函数

计算x^y

1.2 浮点数类型

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

round(x,d)函数

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

用e或E作为幂符号

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

1.3复数类型

数值运算操作符

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

一元操作符

操作符及使用 描述
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. "字符串"
2. '字符串'
3. '''
	多行字符串,可作为注释
   '''

2.2 切片、索引

1. 索引

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

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

2. 切片

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

1. <字符串>[M:N:K] ,M不填,表示至开头,N不填表示至结尾,K不填表示使用默认步长1
	"0123456789"[:3]  #结果是 "012"

2. 根据步长K对字符串切片
	"0123456789"[1:8:2]  #结果是 "1357"
    "0123456789"[::-1]	 #结果是 "9876543210"

3. 特殊字符

转义符: \

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

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

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

2.3 字符串操作符

对不同字符串间使用

操作符 描述
x+y 连接两个字符串x和y
nx  或 xn n是数字,复制n次字符串x
x in s 如果x是s的子串,返回True,否则返回False
1.示例:获取星期字符串
    weekstr= "一二三四五六日"
    week_id=eval(input("请输入星期数字(1~7):"))
    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

 

2.5 字符串处理 "方法"

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

方法 描述 示例
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(<逗号分隔的参数>)

槽{}

槽内部对格式化的配置方式

槽{}格式

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

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

示例

1.填充、对齐、宽度
	"{0:=^20}".format("python","c++")	 #第0个参数,'='填充,居中对齐,输出宽度20字符
  	输出: '=======python======='
   
	"{1:10}".format("python","c++")	     #第1个参数,默认空白填充,默认左对齐,输出宽度10字符
    输出: 'c++       '
    
2.精度、分隔符、数值类型
	"{0:,.2f}".format(12345.6789)	#第0个参数,2位小数精度浮点数
    输出: "12,345.67"
    
    "{0:b},{0:c},{0:d},{0:o}{0:x}{0:X}".format(425)		#各进制整数输出类型
    输出:"1101011001,∑,425,651,1a9,1A9"
    
    "{0:e},{0:E},{0:f},{0:%}".format(3.14)		#科学计数法、浮点数、百分比
    输出:"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  用十六进制数格式化变量的地址

示例

>>> print("测试%s" %'python')
测试python

3. time库

3.1获取时间

.time() 、.ctime() 、.gmtime()

函数 描述
.time() 获取当前时间戳,即计算机内部时间值,浮点数
.ctime() 获取当前时间,并以易读的方式表示,返回字符串
.gmtime() 获取当前时间,表示为计算机可处理的时间格式
示例:
>>> import time

>>> time.time()
1621694585.217611

>>> time.ctime()
'Sat May 22 22:44:22 2021'

>>> time.gmtime()
time.struct_time(tm_year=2021, tm_mon=5, tm_mday=22, tm_hour=14, tm_min=45, tm_sec=21, tm_wday=5, tm_yday=142, tm_isdst=0)

3.2 时间格式化

.strftime(<格式>,<时间>) #时间需要是计算机可处理的格式,用.gmtime()获取

函数 描述
.strftime(tpl,ts) tpl是格式化模板字符串,用来定义输出效果
示例:
>>> t=time.gmtime()
>>> time.strftime('%Y-%m-%d %H:%M:%S',t)
'2021-05-22 14:49:23'

3.3 程序计时

.perf_counter() 测量时间

使用差值计算程序用时

函数 描述
perf_count() 返回一个cpu级别的精确时间计数值,单位为秒
示例:
>>> start = time.perf_counter()
>>> end = time.perf_counter()
>>> end - start
14.770334100000582

.sleep(s) 休眠

函数 描述
sleep(s) s 拟休眠的时间,单位是秒,可以是浮点数
>>> def wait():
	time.sleep(3.3)
>>> wait()              #程序等待3.3s后退出

学习途径:中国大学mooc-嵩天-python语言程序设计