1.运算符
结果是值:
算术运算:a = 10 * 10
赋值运算:a = a + 1 a += 1
结果是布尔值:
比较运算:a = 1 > 5
逻辑运算:a = 1>6 or 1==1
成员运算:a = "蚊" in "蚊子"
2.基本数据类型
(1)数字:在python中,数字类型的所有功能都放在int中
# int的功能: # 将字符串转换为数字: a = "123" print(type(a),a) # a的类型为字符串 b = int(a) # b的类型为整型int print(type(b),b) num = "0011" v = int(num, base=16) # 指定base进制的数转为十进制 print(v)
# bit_lenght # 当前数字的二进制,至少用n位表示 r = 3 r = age.bit_length() print(r) # r = 2 3的2进制最少表示为11
(2)字符串 str
常用的一些字符串处理方法:
# len 计算字符串长度
# repalce 将指定字符串替换为指定字符串 # test = "alexalexalex" # v = test.replace("ex",'bbb') # 将ex全部替换为bbb # print(v) # v = test.replace("ex",'bbb',2) # 只将前两个替换 # print(v) # find 从开始往后找,找到第一个之后,获取其位置 # test = "alexalex" # 未找到 -1 # v = test.find('ex') # 结果为2 # print(v) # join 将字符串中的每一个元素按照指定分隔符进行拼接 # test = "你是风儿我是沙" # print(test) # # t = ' ' # v = "_".join(test) # print(v) # strip lstrip rstrip 移除指定字符串,根据最大长度,最大子序列 # 有限最多匹配 # test = "xalexb" # v = test.lstrip('xa') # v = test.rstrip('9lexxexa') # v = test.strip('xa') # print(v) # 去除左右空白和换行 \t \n # test.lstrip() # l->left 去除左边的 # test.rstrip() # r-> right 去除右边的 # test.strip() # 去除两端的 # v = test.lstrip() # v = test.rstrip() # v = test.strip() # print(v) # print(test) # startswith endswith 判断以xxx开头,以xx结尾 # test = "backend 1.1.1.1" # v = test.startswith('a') # print(v) # test.endswith('a) # split 以指定单个字符将字符串全部分隔,同时还可以指定分隔前多少个 # 分隔结果不含指定的字符 # test = "sdfgdfhsfdfgs" # v = test.split("f", 2 ) # print(v) # upper lower 转换为大写和小写 # test = "abCDefg" # v = test.upper() # v = test.lower() # print(v) # format 格式化,将一个字符串中的占位符替换为指定的值 # test = 'i am {name}, age {a}' # print(test) # v = test.format(name='alex',a=19) # print(v) # 也可以按从左到右开始,从0,1,2...开始标记位置 # test = 'i am {0}, age {1}' # print(test) # v = test.format('alex',19) # print(v) # 格式化,传入的值也可为字典 {"name": 'alex', "a": 19} # test = 'i am {name}, age {a}' # v1 = test.format(name='df',a=10) # v2 = test.format_map({"name": 'alex', "a": 19})
# capitalize 首字母大写 # test = "aLex" # v = test.capitalize() # print(v) # casefold 所有变小写,casefold更厉害,很多未知的对相应变小写 # v1 = test.casefold() # print(v1) # v2 = test.lower() # print(v2) # center 设置宽度,并将内容居中 # 20 代指总长度 # * 空白未知填充,一个字符,可有可无 # test = "abc" # v = test.center(20,"中") # print(v) # 内容靠左,填充右边 # test = "alex" # v = test.ljust(20,"*") # print(v) # 内容靠右,填充左边 # test = "alex" # v = test.rjust(20,"*") # print(v) # zfill 默认前面全部填充0 # test = "alex" # v = test.zfill(20) # print(v) # count 去字符串中寻找,寻找子序列的出现次数 # test = "aLexalexr" # v = test.count('ex') # print(v) # 还可以指定开始和结束的位置,如下,从5位置开始,6位置结束 # test = "aLexalexr5" # v = test.count('ex',5,6) # print(v) # expandtabs 以指定长度遇到\t时断开,不够的补空格 # 用途:可以制表格 # test = "username\temail\tpassword\nlaiying\tying@q.com\t123\nlaiying\tying@q.com\t123\nlaiying\tying@q.com\t123" # v = test.expandtabs(20) # print(v) # isalnum 判断字符串中是否只包含 字母和数字 # test = "123" # v = test.isalnum() # print(v) # isalpha 判断是否是字母,汉字 # test = "as2df" # v = test.isalpha() # print(v) # isdecimal isdigit isnumeric 当前输入是否是数字 # test = "二" # 1,② # v1 = test.isdecimal() # v2 = test.isdigit() # v3 = test.isnumeric() # print(v1,v2,v3) # isprintable 是否存在不可显示的字符 # \t 制表符 # \n 换行 # test = "oiuas\tdfkj" # v = test.isprintable() # print(v) # isspace 判断是否全部是空格 # test = "" # v = test.isspace() # print(v) # istitle 判断是否是标题 # test = "Return True if all cased characters " # v1 = test.istitle() # print(v1) # v2 = test.title() # print(v2) # v3 = v2.istitle() # print(v3) # islower isupper 判断是否全部是大小写 和 转换为大小写 # test = "Alex" # v1 = test.islower() # v2 = test.lower() # print(v1, v2) # v1 = test.isupper() # v2 = test.upper() # print(v1,v2) # maketrans translate 对应关系替换 # maketrans 指定对应关系 # translate 进行替换 # test = "aeiou" # test1 = "12345" # v = "asidufkasd;fiuadkf;adfkjalsdjf" # m = str.maketrans("aeiou", "12345") # new_v = v.translate(m) # print(new_v) # partition 分割为三部分 # test = "testasdsddfg" # v = test.partition('s') # print(v) # 从右边开始 # v = test.rpartition('s') # print(v) # splitlines 分割,只能根据,true,false:是否保留换行 # test = "asdfadfasdf\nasdfasdf\nadfasdf" # v = test.splitlines(False) # print(v) # swapcase 大小写相互转换 # test = "aLex" # v = test.swapcase() # print(v) # isidentifier 判断是否为 字母,数字,下划线 : 标识符 def class # a = "def" # v = a.isidentifier() # print(v)
3.补充:
1. for循环
# for 变量名 in 字符串: # 变量名 # break # continue # for item in test: # continue # print(item)
2. 索引,下标,获取字符串中的某一个字符
# v = test[3] # print(v)
3. 切片
# v = test[0:-1] # 0=< <1 # print(v)
4. 获取长度
# Python3: len获取当前字符串中由几个字符组成 # v = len(test) # print(v)
5. 获取连续或不连续的数字
# python3中只有for循环时,才一个一个创建 # r1 = range(10) # r2 = range(1,10) # r3 = range(1,10,2) # 帮助创建连续的数字,通过设置步长来指定不连续 # v = range(0, 100, 5) # # for item in v: # print(item)