首先字符串出现的时候一定要加‘’!!!!!
注意:int和float进行算术运算的时候,精度会自动提升为float类型
还要如果数值参与逻辑运算的时候,参照的标准是非0即真
数学函数
内建函数:
返回数字的绝对值(abs)
求数字中的最大值,最小值(max,min)
对数字进行四舍五入(round)
返回x的y次幂(power)
print(abs(-100))
print(max(-1,3,8,9))
print(min(-1,-2,9,9))
print(round(3.1416))
print(round(3.1416,2)) #对数字进行四舍五入,后面的参数是保留几位小数
print(pow(2,4)) #相当于2的四次幂

math模块的函数(需要导入模块)
上取整、下取整
开平方
求对数
print(math.ceil(4.1))
print(math.ceil(4.9)) #上取整,ceil天花板
print(math.floor(3.3)) #下取整,floor地板
print(math.sqrt(4)) #开平方
print(math.log(10000,10))#log(x,base)以base为基数,x为对数,10的几次方是10000-4

随机函数(需要导入random模块)
random函数:获取范围内的小数【0,1)左闭右开
choice函数:从一个序列中,随机挑选一个数值
uniform函数:【x,y】范围内的随机小数
randomint(x,y)函数:范围内是随机的整数
randrange(start,stop=None,step=1):给定区间内的一个随机整数,【start,stop)左闭右开,这个步长说明第一次随机的数字和下一次随机的数字之间肯定超过这个步长
import random
print(random.random())
a = [1,2,3]
print(random.choice(a))
print(random.uniform(1,3))
print(random.randint(1,3))
print(random.randrange(1,13,2))

三角函数

正弦函数:sin(x),x参数所接受到的是一个弧度
pi = 180度,要进行转换
import math
#hudu =30 / 180 * pi
hudu1 =30 / 180 * math.pi
hudu2= math.radians(30) #角度转换为弧度
result1 = math.sin(hudu1)
result2 = math.sin(hudu2)
print(result1)
print(result2)
因为精度问题,所以是0.5左右

字符串:单个字符组成的一个集合

这里的原始字符串是指里写什么东西,实际上出来的就是什么东西
字符串的一般操作-----字符串的拼接

introduction = 'woshi%s'%'lll'
introduction1 = 'woshi%s,%d year old'%('lqz',22) #%s是占位符,后面的%是用来填坑的
print(introduction)
print(introduction1)

字符串的一般操作-----字符串的切片操作


name = 'abcdefg'
print(name[0])
print(name[6])
print(name[-1])


name = 'abcdefg'
print(name[0:len(name):1])
print(name[::-1])
print(name[-1:-5:-1])
print(name[::])

字符串的查找计算

name = 'woshini'
print(len(name))

name = 'wo shi ni'
print(len(name))
print(name.find('n'))
print(name.find('s'))
print(name.find('s', 3, 7))
print(name.find('i',0,5))

name = 'wo shi sz'
print(name.find('s'))
print(name.rfind('s'))

name = 'wo shi sz'
print(name.index('zz'))

name = 'wo shi szwo'
name1 = 'wo shi sz'
name2 = 'wo shi zz'
print(name.count('wo'))
print(name1.count('wo'))
print(name2.count('zz'))
print(name2.count('z'))

字符串的转换操作

name = 'wo shi sz'
print(name.replace('s','z'))
print(name)
print(name.replace('s','z',1))

name = 'wo shi sz'
print(name.capitalize())

name = 'wo shi sz'
print(name.title())

name = 'Wo Shi SZ'
print(name.lower())

name = 'wo shi SZ'
print(name.upper())

字符串的分割拼接操作

info = 'lqz-2022-0531-6666'
result = info.split('-')
print(result)

比如说后面0531 6666是电话号码,我们不想让他们分开,那就利用第二个参数指定分割次数
info = 'lqz-2022-0531-6666'
result = info.split('-',2)
print(result)

划分的步骤就是从左往右寻找分隔符,找到第一个分隔符就开始分割,后面的分隔符就不再管了。
对于没有找到分隔符的,也是分为3部分元组,只不过把整个式子都在第一个内容中了
info = 'lqz-2022-0531-6666'
result = info.partition('-')
result1 = info.partition('|')
print(result)
print(result1)

info = 'lqz-2022-0531-6666'
result = info.rpartition('-')
print(result)

其中\r是回到句首的意思,当回到句首后,shi被zz覆盖了,所以原输出没有shi
name = 'wo \n shi \r zz'
info = name.splitlines()
info1 = name.splitlines(True)
print(info)
print(info1)
print(name)

items = ['11','22','33','abc']
a = '-'.join(items)
print(a)

字符串的填充压缩操作–或者叫字符串的宽展/缩小

name = 'abc'
print(name.ljust(6,'x'))

name = 'abc'
print(name.rjust(6,'x'))

name = 'abc'
# print(name.rjust(6,'x'))
print(name.center(6,'x'))

最后两行,我们可以看出来对于要移除的字符wo不是说只移除wo这个组合字符,而是我、或者o,并且从左边开始移除,后面的就不管了,或者这样理解,从左边开始数,第一个字符不再要移除的字符内,后面的就不管了
name = ' wo shi zzzw '
print('|'+name+'|')
print('|'+name.lstrip()+'|')
print('|'+name.rstrip()+'|')
name = 'wwwooo shi zz'
print('|'+name.lstrip('wo')+'|')
print('|'+name.rstrip('zw')+'|')

字符串的判定操作(结果都是Boolean类型)

name = 'sz'
print(name.isalpha())
name = 'sz1'
print(name.isalpha())
name = ''
print(name.isalpha())

name = '123'
print(name.isdigit())
name = '123a'
print(name.isdigit())
name = ''
print(name.isdigit())

name = '123abc'
print(name.isalnum())
name = '123anc /'
print(name.isalnum())
name = ''
print(name.isalnum())

name = ''
print(name.isspace()) #这是一个空字符串
name = ' '
print(name.isspace())
name = '\t'
print(name.isspace())

name = '2022-09-06:wqe.txt'
print(name.startswith('2018'))
name = '2022-09-06:wqe.txt'
print(name.startswith('2022'))
name = '2022-09-06:wqe.txt'
print(name.startswith('2022',0,2))
name = '2022-09-06:wqe.txt'
print(name.startswith('2022',0,3)) #3的索引是后面那个2的位置,实际上也是取不到的,右边取不到
name = '2022-09-06:wqe.txt'
print(name.startswith('2022',0,4))
name = '2022-09-06:wqe.txt'
print(name.startswith('22',2,4)) #只能检测以**前缀开头

endswith:判定一个字符串是否以某个后缀结尾
endswith(suffix,start = 0,end = len(str))
比如说判定文件的结尾形式,以txt结尾还是xls结尾
name = '2022-09-06:wqe.txt'
print(name.endswith('txt'))

name = 'wo si abc'
print('sz' in name)
name = 'wo si sz'
print('sz' in name)
name = 'wo si sz'
print('sz' not in name)
name = 'wo si 123'
print('sz' not in name)
