一、数值类型
1、浮点数可以直接写,也可以写科学计数法
2、写复数两种方法:
com_num = 3.4 + 2j com_num1 = complex(3.4, 2)
3、内建函数:无须导入
eg:abs()绝对值;
min()参数可以放列表
round(num,n)四舍五入,n为保留位数
4、模块函数
a、math+常用函数
使用时 先import,再使用math.函数(参数)
ceil()向上取整、floor()向下取整、sqrt()开根、log(num,base)取对数
三角函数属于math,且参数是弧度,π在python中为math.pi
degrees(x)弧度转角度,radians角度转弧度
b、random+常用函数
random()取[0,1)之间的随机小数
choice(列表)取序列随机数字
uniform(m,n)取[m,n]之间的随机小数
randrang(m,n,sep)取[m,n)之间步长为sep的随机整数
二、布尔类型
1、是数值类型的子类 eg:print(true+1)=>3
2、判断函数issubclass(bool,int)=>True
三、字符串类型
1、除了一对单、双引号可以定义外,三个单、双引号也可以定义
2、有一个没见过的转义字符“\”续行符,可以把两行连起来,三者效果相同:
str1="woshi" str2=("wo" "shi") str3="wo"\ "shi"
3、原始字符串在普通字符串前面加r:r"字符串1",字符串1里面是什么内容就输出什么内容,不用转义。
4、单双引号混合使用可以少使用转义字符
5、三引号可以跨行书写(连回车都保留下来了)
6、拼接:加号、两个字符串中间放空格、%占位格式符、乘号:
"adasd"+"sadasd"、"sadsd" "sadasda"、"asdasd%s%s"%("asdasd","asdasd")、"asdasd"*3
7、切片:
(1)数组下标方法(单个):正向从0开始,逆向从-1开始
(2)arr[起始:结束:步长](片段):[起始,结束);若步长<0,从右往左;注意不能直接从首部跳到尾部或从尾部调到首部。
name="name" print(name[-1::1]) #尾部到首部 print(name[0::-1]) #首部到尾部
8、函数操作:
(1)查找计算
find(sep,start=0,end) #sep为要查找的字符串,查找区间为[start,end),找到返回下标,没找到返回-1。
rfind与find区别为:find从左到右,rfind从右到左查找。
index与find区别:没找到会抛出异常。
rindex与index区别为:index从左到右,rindex从右到左查找。
count计算字符串出现个数
(2)转换
replace(old,new,[count]) #[]为可选,替换count个字符串,返回替换的结果不改变原字符串
capitalize(sep)将字符串首字母大写
title(sep)将字符串中每个单词首字母大写,区分的方法为看字母中间是否有非字母的分隔符
lower(sep)将字符串中每个字母转换为小写
upper(sep)将字符串中每个字母转换为大写
(3)填充压缩
ljust(width,fillstr)填充原字符串靠左; rjust(width,fillstr)填充用法类似;
center(width,fillstr)原字符串靠中间,两边不平均时左边的填充字符串少一位
lstrip(字符集);默认去除空字符串("\n"、"\t"、" "都属于空字符串);l是指去除左侧的字符(让原始字符靠左);去除掉的是指传入参数中的所有字符。(比如"iaiiioooohi am doudou".lstrip("ia")结果为oooohi am doudou,从左边开始检索发现一个不满足了就停止)
rstrip(字符集);与上面不同的是从右边检索
(4)分隔拼接
spilt(分割符,分隔最大次数) 返回分割好的字符列表 eg:"doudou-22-nv-0831-666666".split("-",3)=>['doudou', '22', 'nv', '0831-666666']
partition(分隔符)返回元组("分隔符左边字符串","分隔符","分隔符右边字符串"),要是没找到分隔符返回元组("字符串","","")
rpartition(分隔符)区别就是从右边开始找分隔符
splitlines(keepends);通过换行进行分割;keepends表示是否保存下分隔符,eg:
print("doudou\n22\nnv\r0831\r666666".splitlines())=> ['doudou', '22', 'nv', '0831', '666666'] print("doudou\n22\nnv\r0831\r666666".splitlines(True))=> ['doudou\n', '22\n', 'nv\r', '0831\r', '666666']
join(字符)将可迭代对象(见补充)通过传入字符进行连接,eg:
print("+".join(["doudou", "22", "nv", "0831666666"]))=>doudou+22+nv+0831666666
(5)判定:isalpha()是否全是字母、isdigit()四否全是数字、isalnum()是否全是数字或字母、isspace()是否全是不可见的转移符(空格、\n、\t、\r等)这几个见名知意啦
startswith(prefix, start=0, end=len(str))判断前缀是否匹配,可以用于文件条件检索,eg:
test="2024-4-23 dous.docx" print(test.startswith("20",0,2))=>True
endswith(prefix, start=0, end=len(str))判断末尾是否匹配,可以用于文件类型检索
补充:
1、python3里没有long数据类型,2才有;
2、字符串中函数的使用方法有两种:对象.方法(参数)、方法(对象,参数)
3、\r功能为将光标移动到首部,eg:\r使nv那一行的光标移到最前,后面的内容将nv覆盖掉了。
print("doudou\n22\nnv\r0831666666")=> doudou 22 0831666666
4、可迭代对象:比如可以用for xxx in 可迭代对象:进行循环的对象,有字符串、元组、列表等
5、in、not in不属于函数或者方法,属于语句,eg:print("dou" in "i am doudou")