数据类型及其魔法方法(慢慢补充)
魔法的简单规则:def XXX(self,XXX,XXX=None) self忽略, XXX则必须写,XXX=None不写则是默认
数字 int
-int() 将字符串转换为数字 a = '123' , b = int(a ) b = 123
-bit_length() 数字的二进制至少用几位表示 a = 5 , a.bit_length() = 3
字符串 str
⭐-join() 将字符串中的每一个元素按照指定分隔符进行拼接
A = '你是风儿我是沙' ,t =' ' , t.join(A)=你 是 风 儿 我 是 沙
-capitalize() 首字母大写 栗子 A = 'alex' , A.capitalize()=Alex
-casefold() 字母变小写,很多未知的对相应变小写 A = 'aLex' , A.casefold() = alex
-lower() 同样变小写,上面更广 -islower() 是否是小写
-upper() 字母变大写 -isupper() 是否是大写
-center () 设置宽度,并将内容居中,20代指总长度,空白填充
A = 'aLex' , A.center(20,'*') =********aLex********
-ljust() 放左边 A='alex' , A.ljust(20) = alex******************** PS:-rjust() 放右边
-count() 去字符串中寻找子序列的出现次数,可设置end. A = 'aLexaLexr' ,A.count('ex',5)=1
-endswith() 表示以什么字符结尾 A='alex', A.endswith('e') = False
-startswith() 表示以什么字符开头
⭐-find() 从开始往后找,找到第一个之后,获取其位置 A = 'alexalex', A.find('ex',5,7) = -1 (-1没找到)
-index() 找不到直接报错,没find()好用 A = 'alexalex', A.index('ex')=2
-format() 格式化,将一个字符串的占位符替换为指定符 A = 'i am {name}',A.format(name='alex')= i am alex
-fromat_map() 格式化,传入的值要是键值对 A = 'i am {name}',A.format_map("name"="alex")= i am alex
-isalnum() 判断字符串中是否只包含字母和数字 A='uasf890', A.isalnum()=True
-isalpha() 判断字符串中是否只包含字母
-expandtabs() 断句6,没有6个遇到\t则补齐6个空 A = '12345678\t9', A.expandtabs(6) =12345678 9
-isdecimal() 判断字符串中是否是数字 A= '123' , A.isdecimal() = True
-isdigit() 判断字符串中是否是数字,比上面更强大,②这种特殊符号都能判断,上面则只有是十进位的
-isnumeric()判断字符串中是否是数字 ,这种类型中文二可以识别,这个识别最强大,当用的场景少
-swapcase() 大小写转换 A = 'aLex' , A.swapcase() = Alex
-isidentifier() 字母,数字,下划线:标识符 A ='_123',A.isidentifier() = True
-isprintabel() 是否存在不可显示的字符 (\t,\n) A = 'asfjkls', A.isprintable() = True
-isspace()判断是否全部是空格 A = ' ', A.isspace() =True
-istitle()判断是否是标题 -title()将字符串转变成标题
⭐-lstrip() 去除右 -rstrip()去除左 -strip()移除指定字符串,有限最多匹配
-maketrans("a","b") - translate 对应文本的替换,a和B的len一样
-partition() 只能按照指定字符将字符串分隔成三分
-rpartition() 与上面一样,方向为右
⭐-split() 按照指定字符将字符串分隔,可以自己定义分隔几次, 但指定字符并不保留
-rsplit() 与上面一样,方向为右
#正则表达式 是否想要分隔的元素 综合上面两种,自己选择
-splitlines() 只根据换行进行分隔,可设置布尔值参数,是否保留换行
⭐-replace() 替换操作,可设置替换个数 A ='alexalexalex' ,A.replace('ex','bbb',2)=albbbalbbbalex
####################################################以下几乎所有数据类型都可以实用
A='alex' , A[0]=a 索引,下标,获取字符串中的某一个字符
A='alex' , A[0:1] = a 取[0=< ,<1]的字符 切片操作
A='alex' , len(A) = 4 ,获取当前字符串中由几个字符组成
A = range(3) A = [0,1,2] 创建数字,可设置步长
⭐PS:字符串一旦创建,就不可修改;一旦修改或者拼接,都会造成重新生成字符串
####################################################
dict.get(key,default=None),字典的get()方法,返回指定键的值,如果值不在字典中返回默认值。
items()方法以列表返回可遍历的(键, 值) 元组数组。key=operator.itemgetter(1)根据字典的值进行排序,key=operator.itemgetter(0)根据字典的键进行排序,reverse降序排序字典
next() 返回迭代器的下一个项目。
iter() 函数用来生成迭代器。
reduce() 函数会对参数序列中元素进行累积。reduce(lambda x, y: x+y, [1,2,3,4,5]) = 15
###############################