Python数据类型
数值 int
- int(x,[base])
将字符串转换成数值
>>>a = "123"
>>>print(type(a),a) ##可以得到该类型为str
>>>b = int(a)
>>>print(type(b),b) ##可以得到该类型为int,将字符串"123"转换成了数字123
>>>num = "0011"
>>>v = int(num, base = 16)
>>>print(v) ## 按着16进制来处理
将一个数值按着或base类型的字符串转换成整数,当有base之后,x必须为str.base的取值范围为2~36.
- bit_lenght
返回表示该数值时占用的最少位数
>>>bin(37)
'0b100101'
>>>(37).bit_lenght()
6
布尔值 bool
- 真与假
- True与False
- 1 与 0
字符串 str
常有功能:
-
移除空白
-lstrip(self, chars = None)
>>>s = " rany " >>>s.lstrip() >>>print(s) rany ##左边的两个空格没有了,而右边的两个空格还在 >>>s = 'dgsnja' >>>s.lstrip(d) >>>print(s) gsnja ##表示去掉从左边开始的,括号里的值
-rstrip(self,chars = None)
从右边开始,其他同lstrip()
-strip(self, chars = None)
去掉两边的,其他同lstrip()
-
分割
-partition(self, sep)
分割成前、中、后是三个部分
>>> v = 'abcdabcdfhkdfk' >>> m = v.partition('d') >>> print(m) ('abc', 'd', 'abcdfhkdfk')
-rpartition(self, sep)
从右边开始,其他与partition()雷同
-split(self, sep=None, maxsplit=None)
以什么为基础,最多分割几次
('abc', 'd', 'abcdfhkdfk') >>> v = "abcabcdabcdefg" >>> m = v.split("c",3) >>> print(m) ['ab', 'ab', 'dab', 'defg'] ##注意:被作为基础的值,将会被遗弃
-rsplit(self, sep=None, maxsplit=None)
从右边开始,其他与split()雷同
-splitlines(self, keepends=False)
分割,但是只保留行
>>> v = "I like your eyes\nI love you\nI think you are good" >>> m = v.splitlines() >>> print(m) ['I like your eyes', 'I love you', 'I think you are good']
-
长度
可以用len()函数,得到其长度,在Python 2里面会得到其字节长度,而Python 3中会得到其字符长度
>>> v = "I love you" >>> print(len(v)) 10
-
索引
>>> v = "I love you" >>> print(v[0]) ##通过索引下标可以得到字符里的值,其是从0开始计数 I
-
判断 得到的都是bool
-endswith(self, suffix, start = None, end = None)
以什么结尾
>>>test = "I like to play games" >>>v = test.endswith("es") >>>print(v) True
-startswith(self, suffix, start = None, end = None)
以什么开始,与endswith雷同
-isalnum(self)
判断是否为数值或者字母
-isalpha(self)
判断是否为汉字或者字母
-isdigit(self)
True: Unicode数字,byte数字(单字节),全角数字(双字节)
False: 汉字数字 ,罗马数字
Error: 无
-isdecimal(self)
True: Unicode数字,全角数字(双字节)
False: 罗马数字,汉字数字
Error: byte数字(单字节)
-isnumeric(self)
True: Unicode数字,全角数字(双字节),罗马数字,汉字数字
False: 无
Error: byte数字(单字节)-isprintable(self)
判断是否有\t制表符或者\n换行符,如果有就返回False
-isspace(self)
判断是否全部为空格
-istitle(self)
判断是否为标题,即每一个字母都是大写开头
-islower(self)
判断是否全部为小写
-issupper(self)
判断是否全部为大写
-
查找
-count(self, sub, start = None, end = None)
查找子序列的个数
>>>test = "aLexalexr >>>v = test.count('ex',5,6) >>>print(v) 1
-find(self, sub, start = None, end = None)
寻找子序列位置,如果没有找到,则返回“1”
>>>test = "L like your hair" >>>v = test.find('your') 7
-index(self, sub, start = None, end = None)
查找索引,同find()雷同,但是如果没有找到,则报错
-
切片
>>> v = "I love you" >>> print(v[0:5]) ##可以取得一定范围里的字符,但是其顾头不顾尾 I lov
-
变大小写
-capitalize(self)
让该字符串所有单词的首字母变大写
>>>test = "l like your eyes" >>>test.capitalize() >>>print(test) L Love Your Eyes
-lower(self)
让字符串里面所有字母变成小写
>>>test = "L lIke Your Eyes" >>>test.lower() >>>print(test) l like your eyes
-casefold(self)
同lower,但是不同之处在于casefold的功能更强大,适用于更多种类的语言
>>>test = "L Like yOur eyEs" >>>test.casefold >>>print(test) l like your eyes
-swapcase(self)
大小写相互转换
>>> v = "I Love You" >>> m = v.swapcase() >>> print(m) i lOVE yOU
-isidentifier(self)
判断是否为标识符
>>> v = "False" >>> m = v.isidentifier() >>> print(m) True
-
填充替换
-center(self, width, fillchar = None)
设置总长度,并将内容居中
>>>test = 'yy' >>>v = test.center(6,"*") >>>print(v) **yy**
-ljust(self, width, fillchar = None)
从左边开始填充,其他与center雷同
-rjust(self, width, fillchar = None)
从右边开始填充,其他与center雷同
-zfill(self, width)
雷同于ljust(),但是只填充0
>>>test = 'yy' >>>v = test.zfill(6,"*") >>>print(v) 0000yy
-join(self, iterable)
连接
>>>test = "loveyou" >>>v = '-'.join(test) >>>print(v) l-o-v-e-y-o-u
-replace(self, old, new, count=None)
把某字符转换成指定的字符
>>> v = "I like you" >>> m = v.replace("like", "love") >>> print(m) I love you
-
其他
-expandtabs(self, tabsize = None)
将tab转换成空格,默认一个tab转换成8个空格
>>>test = "username\temail\tpassword" >>>v = test.expandtabs(3) >>>print(v) username temail tpassword ##这些单词之间都多了两个空格
-format(*args, **kwargs)
格式化
>>>test = 'I am {name}, age {a}' >>>v = test.format(name = "Hermaeus", age = 19) >>>print(v) I an Hermaeus, age 19
-translate(self, table, deletechars=None)
转换,需要提前做一个对应表,最后一个表示删除字符集合
>>> v = "I like your eyes" >>> m = str.maketrans("your", "1234") ##先建立一个对应关系,两个值必须等长 >>> new_v = v.translate(m) ##转换 >>> print(new_v) I like 1234 e1es
-
循环
可以通过for循环打印字符串
>>> v = "I love you" >>> for i in v: print(i) I l o v e y o u
(四)range(start, stop,[ step])
可以通过range()函数得到一个连续的,或者递增/递减的取值范围
>>> for i in range(1,10,2):
print(i)
1
3
5
7
9