第三章 python的数据类型(上)
2020-12-13 02:16
标签:推荐 make 内存 多个 eric 变量 cas strong rip 在本章,我们介绍下python的数据类型。
这章的内容比较多,我们分上,下两部分来介绍。 在py2中有int和long,但是在py3中只有int,py3的int相当于py2的int+long。
py3的int的长度跟内存容量一样。 py2和py3的整除是不一样的 占位符 %f 的时候默认小数点后6位,第7位四舍五入。 用于表示真假的类型,只有True和False两种。 其他类型转换成布尔值: 字符串是写代码中最常见的,python内存中的字符串是按unicode编码存储的。
在python中字符串用‘‘或者""括起来表示。 在python中‘和"是一样的 注意:字符串是不可变类型 下面介绍下字符串的方法: .capitalize(self)
首字母大写 .casefold(self)
字符串变小写。除此之外,可以把英语以外的字母变小写(多用于unicode)。(py3中新追加的) .upper()
英字母全转大写,没有大小写的字符串不会报错 .isupper()
判断都是大写 .lower()
英字母全转小写 .islower()
判断都是小写 .swapcase(self)
大小写互相转换 .title(self)
每个单词的首字母变大写 判断是否是数字有下面3中方法: .center(self,width,fillchar=None)
占用文本长度并居中,fillchar 是填充的字符 类似的还有居左 .ljust(),居右 .rjust(),居右补0 .zfill() .endswith(self,suffix,start=None,end=None)
判断以什么字符串结尾,也可以切片后判断 类似的有:
.startswith(self,prefix,start=None,end=None) .find(self,sub,start=None,end=None)
从左到右找第一个sub相同的字符串,找到了返回下标,找不到返回-1。可切片。 注意:切片后返回的下标依然是原字符串的下标 .index(self,sub,start=None,end=None)
与find基本一样,但是找不到会报错。 类似的有: .rindex() .count(self,sub,start=None,end=None)
查询sub的个数,可以用start和end切片后数(范围count) .isspace(self)
判断是不是空格,多个空格也可以 .isalnum(self)
判断是不是字母或数字 .isprintable(self)
是否可以打印(比如\r,\t,\n,空格 等) .istitle()
每个单词的首字母都是大写 类似的有: .join(self,iterable)
把iterable的列表拼接起来,每个元素之间用self字符串隔开。返回拼接后的字符串 注意:只有字符串型的元素可以拼接 .split(self,sep=None,maxsplit=-1)
把字符串分割并且返回一个列表,可以指定sep字符串来分割元素,sep会被删除。 不指定sep,整个字符串会变成一个元素。注意sep不能同时指定两个字符。
maxsplit是最大分割次数,1就是分割一次。从左往右分割。 .splitlines(self,keepends=None)
根据换行分割,类似split(‘\n‘) .partition(sep)
找到第一个sep,分割成3份:["sep前的","sep","sep后的"] 类似的有: .rpartition() .replace(self, old, new, count)
用new替换掉所有old字符串,并且返回替换后结果。 字符串反转 str[::-1] 注意:字符串没有reverse方法,reverse是列表的方法 第三章 python的数据类型(上) 标签:推荐 make 内存 多个 eric 变量 cas strong rip 原文地址:https://www.cnblogs.com/py-xiaoqiang/p/11030874.html3.1 整型(int),浮点型(float)
3.1.1 整形的长度
3.1.2 整除
py2:除的结果是小数也会返回整数,小数点后面的直接砍掉(不是四舍五入)
py3:除的结果是小数会自动转换成浮点类型3.1.3 浮点型(float)
3.2 布尔(bool)
{},[],None,"",0 -> False3.3 字符串(str),及其方法
3.4.1 字母大小写
3.4.2 判断数字
s1 = '1'
s2 = '二'
s3 = '③'
s1.isdigit() # True
s2.isdigit() # False
s3.isdigit() # True
# '1','②'可以判断
s1 = '1'
s2 = '二'
s3 = '③'
s1.isdecimal() # True
s2.isdecimal() # False
s3.isdecimal() # False
# 只有'1'可以判断,和int()能转换的一致。推荐使用
# 详细:判断是否是10进制小数
s1 = '1'
s2 = '二'
s3 = '③'
s1.isdecimal() # True
s2.isdecimal() # True
s3.isdecimal() # True
# '1','二','②'都可以判断
3.4.3 字符串格式化
s = "Welcome {0} to Apeland,you are No.{1} user. you are {0}"
s.format("Alex",998)
print(s) #输出不出来
print(s.format("Alex",998)) #这种方式或者加个变量 d = s.format("Alex",998) 然后print(d)
s = "Welcome {name} to Apeland,you are No.{num} user. you are {name}"
s.format(name = "Alex",num = 998)
print(s.format("Alex",998))
s = "Welcome {key1} to Apeland,you are No.{key2} user. you are {key2}"
d = {"key1":"aaa","key2":"bbb"}
s = s.format_map(d)
print(s)
执行结果:Welcome aaa to Apeland,you are No.bbb user. you are bbb
3.4.4 查询,判断字符串内容
类似的有: .rfind()
3.4.5 字符串处理
#去掉特殊的字符串,然后去掉空格
s = ' aabbccdd ee'
s = s.strip('ee').strip()
print(s)
#输出结果:
aabbccdd
只去掉右边的:rstrip(),只去掉左边的:lstrip()
list1 = ["hello","the","world!"]
str1 = "-".join(list1) #用 - 拼接
print(str1)
#执行结果:
hello-the-world!
str1 = 'abcdefg'
str2 = '1234567'
table = str.maketrans(str1,str2)
str3 = 'abcdefghijklmnopqrstuvwxyz'
result = str3.translate(table)
print(result)
# 执行结果
1234567hijklmnopqrstuvwxyz