Python运算符
算数运算符:+ - * / % // **
比较运算符:== > < >= 大于等于 <= 小于等于 != 不等于 <> 不等于
逻辑运算符:not 、 and 、 or (布尔值:True 真 False: 假)
in not in 判断某个东西是否在某个里面 # 注释符 多个字符叫做字符串,单个字符叫做字符。
赋值运算符: +=、-=、%=、*=、/=、//=、**=
not False====>>True (有括号先计算括号里的)
name = "张三1" if "张1" in name: print('ok') else: print('error') #输出error,只有连续的或者单个的是子序列。
name = "李四2" if "李2" not in name: print("not in ") else: print("in")
基本数据类型
数值型 Python2中 :int 整型 long 长整型
Python3中 所有数字都是整型,没有长整型
数值的魔法:
1 a1 = 123 #type(a1)查看a1的数据类型 2 b1 = 456 3 r = b1.bit_length() #当前数字的二进制,至少用几位来表示 4 - int 将字符串转换为数字 5 a = "123" 6 b = int(a) 7 b = b + 1000 8 a1 = "0011" 9 int(a1,base=n) #将字符串以n进制的形式转换
字符串型 : str的必会魔法:7个基本魔法 5个灰魔法 1个深灰魔法
7个基本魔法: join upper lower replace find strip split
深灰魔法:字符串一旦创建不可修改,一旦修改或者拼接,都会造成重新生成字符串
test = "alex" v = test.capitalize() #首字母大写 v = test.casefold() # 所有字母变成小写,casefold更牛逼,可以把很多未知的变成小写 v = test.center(width,"*") #作用:将内容设置剧中,参数一设置宽度,参数二设置除内容外的字符,可以为空。 eg:test.center(10,@) =====>>@@@alex@@@ v = test.count('子序列',起始位置) #统计子序列在字符串中出现的次数 eg:test.count('l',2) =====>>1 v = test.endswith('字符序列') #是否以字符序列结尾的 eg:test.endwith("ex") =====>>True v = test.startswith('字符序列') #是否以字符序列开头的 eg:test.startswith("ae") =====>>False v = test.expandtabs([tabsize=8]) #方法把字符串中的 tab 符号(' ')转为空格,tab 符号(' ')默认的空格数是 8。 eg:test = "ale x" #注意:先看tabsize的值,根据指定长度一个个判断,用空格补齐指定长度 v = test.expandtabs(6) print(v,len(v)) =====>>ale x 7 v = test.find(str, beg,end) #检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回从第一个开始的索引值,否则返回-1。 v = test.format('值1','值2') #格式化,将一个字符串中的占位符替换为指定的值 eg:test = 'i am {name},age {a}' v = test.format(name='alex',a=19) =====>>i am alex, age 19 v = test.format_map({"name":'alex',"a":19}) #与上format作用相同,但书写方式不同,和字典相同。 v = test.index() #找到其索引,未找到则报错。 eg:test = "alexalex" v = test.index('8') #报错 v = test.isalnum() #判断字符串中是否只包含数字和字母 eg:test = "fafd_123" v=test.isalnum() ======>>False v = test.isalpha() #判断是否是字母 v = test.isdecimal() #判断是否是数字,比较常用 v = test.isdigit() #判断是否是纯数字 v = test.isnumeric() #可以判断是否是数字,支持中文数字,可用于判断标题 字母的转换与判断 v = test.islower() #判断字符串是不是全部小写 v = test.lower() #把字母转换为小写 v = test.isupper() #判断字符串是不是都是大写 v = test.upper() #把字母转换为大写 v = test.swapcase() #大小写转换 v = test.isidentifier() #是否是由字母,数字,下划线,标识符(def、class)组成 eg:test = "alexalex" v = test.isidentifier() ======>> True v = test.isprintable() #是否存在不可显示的字符,若存在则为False。例如: 、 v = test.isspace() #判断是否全部是空格,空串不包含空格 v = test.title() #把字符串转为标题类型 v = test.istitle() #判断是不是标题,所有首字母大写 # 字符串的填充 v = ''.join() eg:a = 'fasaff' v = '_'.join(a) #将每一字母之间都添加上下划线 ======>> f_a_s_a_f_f v = test.ljust(长度,"填充符") #从左侧向右填充,长度是整个字符串长度 abc@@@@ v = test.rjust(长度,"填充符") #从右侧向左填充,长度是整个字符串长度 @@@@abc v = test.zfill(长度) #只能填充0,可用rjust代替 #空格的增删 注意:可去除 、 还适用于字符删除,匹配子序列中与字符串左或右侧相对应的,先匹配字符多的 v = lstrip() #删除左侧空格 v = rstrip() #删除右侧空格 v = strip() #删除两侧空格 eg:test = 'abcde' v=test.lstrip('deacb') =======>> cde #maketrans和translate配合使用,实现字符间的转换 v = test.maketrans("12345","aeiou") #把字符1替换为a 2替换为e eg:test = "test" m = test.maketrans("ts","12") new_v = test.translate(m) ========>> 1e2t #按照一定规则进行分割 #partition与split的区别是:partition会把要分割的字符分成一份,而split不会 v = test.partition(分隔符'a') #把字符串分隔成3份,找到第一个a,左侧一份,a一份,a右侧一份 v = test.rpartition(分隔符) v = test.split('a') #把整个字符串中所有的a都进行分割,但是a本身不会被匹配 v = test.rsplit(分隔符) eg:test = "asdfadreafdgd" v = test.split('d',2) #后面可指定两个参数,第二个参数是为了匹配制定次数的 =======>> ['as','fa','reafdgd'] v = test.splitlines(True/False) #根据true或false,是否保留换行符 eg:test = "fas fsdaf fd" v = test.splitlines() #根据换行符进行分割 =======>> ['fas','fsdaf','fd']
#字符的替换
test = 'alexalexalex'
v = test.replace("ex","bbb",2) #把ex替换成bbb,只替换前两个
print(v)
==========>> albbbalbbbalex
字符串的灰魔法:
#索引,下标,获取字符串中的某一个字符 test = "abcd" v = test[2] print(v) ==========>> c #切片 test = "abcd" v = test[0:-1] #从下标0到最后,但不包含最后一个 pirnt(v) ==========>> abcd #获取字符串长度 注意:当获取列表的元素个数时,获取的是个数 v = len("abcde") print(v) =========>> 5 #######例题######### test = '妹子有种冲我来' index = 0 while index<len(test): v = test[index] print(v) index+=1 print("==========") =========>>妹 子 有 种 冲 我 来 ========== #for循环 注意:for循环可用于列表、字典等等# for 变量名 in 字符串: 代码块 #帮助创建连续的数字,通过设置步长来设定不连续的数字 v = range(0,100,5) #大于等于0小于等于100的步长为5的数 for item in v: print(item) #例题:将文字对应的索引打印出来 test = input("<<<<<") l = len(test) r = range(0,l) for item in r: print(item,test[item])