计算x^y
带有小数点及小数的数字;
存在不确定尾数。
对x作四舍五入,d是小数截取位数,可以避免不确定位数造成的运算不正确问题。
语法:<a>e<b>
#以10为基数
操作符是完成运算的一种符号体系
操作符及使用 | 描述 |
---|---|
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 |
字符串由一对单引号或一对双引号表示;
三单引号或双引号可表示多行。
1. "字符串" 2. '字符串' 3. ''' 多行字符串,可作为注释 '''
字符串是字符的有序序列,可以对其中的字符进行索引
例如: a="请输入字符串" # "请"是第0个字符 print(a[0]) #输出: 请
使用 [M:N:K] 根据步长对字符串切片
1. <字符串>[M:N:K] ,M不填,表示至开头,N不填表示至结尾,K不填表示使用默认步长1 "0123456789"[:3] #结果是 "012" 2. 根据步长K对字符串切片 "0123456789"[1:8:2] #结果是 "1357" "0123456789"[::-1] #结果是 "9876543210"
转义符: \
"这里有个双引号(\")"
结果为 这里有个双引号(")
\b :回退 \n :换行(光标移动到下行行首) \r :回车(光标移动到本行行首)
对不同字符串间使用
操作符 | 描述 |
---|---|
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])
函数 | 描述 | 示例 |
---|---|---|
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" |
函数 | 描述 | 示例 |
---|---|---|
chr(u) | x为Unicode编码, 返回其对应的字符 | chr(97) 结果为 "a" ; chr(100) 结果为 "d" |
ord(x) | x为字符,返回其对应的Unicode编码 | ord("a") 结果为 97 ;ord("d") 结果为 100 |
"方法" 特指 <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" |
#主要用于字符串分隔 |
对字符串进行格式表达的方式
语法:<模板的字符串>.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
.time() 、.ctime() 、.gmtime()
函数 | 描述 | 示例 |
---|---|---|
.time() | 获取当前时间戳,即计算机内部时间值,浮点数 | >>> import time |
time.time()
1621694585.217611 |
| .ctime() | 获取当前时间,并以易读的方式表示,返回字符串 | >>> time.ctime()
'Sat May 22 22:44:22 2021' |
| gmtime | 获取当前时间,表示为计算机可处理的时间格式 | >>> 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) |
.strftime(<格式>,<时间>) #时间需要是计算机可处理的格式,用.gmtime()获取
函数 | 描述 | 示例 |
---|---|---|
.strftime(tpl,ts) | tpl是格式化模板字符串,用来定义输出效果; | |
ts是计算机内部时间类型变量(用gmtime获取) | >>> t=time.gmtime() |
time.strftime('%Y-%m-%d %H:%M:%S',t)
'2021-05-22 14:49:23' |
使用差值计算程序用时
函数 | 描述 | 示例 |
---|---|---|
perf_count() | 返回一个cpu级别的精确时间计数值,单位为秒; | |
由于这个计数值起点不确定,连续调用差值才有意义 | >>> start = time.perf_counter() |
end = time.perf_counter()
end - start
14.770334100000582 |
函数 | 描述 | 示例 |
---|---|---|
sleep(s) | s 拟休眠的时间,单位是秒,可以是浮点数 | >>> def wait(): |
time.sleep(3.3)
wait() #程序等待3.3s后退出 |
学习途径:中国大学mooc-嵩天-python语言程序设计