一、类和对象
对于Python,一切事物都是对象,对象基于类创建
学会查看帮助
type(类型名) 查看对象的类型
dir(类型名) 查看类中提供的所有功能
help(类型名) 查看类中所有详细的功能
help( 类型名.功能名) 查看类中某功能的详细
内置方法,非内置方法:
带下划线的标识私有方法,他们通常拥有不止一种调用方 法。如下,我定义了两个字符串,__add__的+的效果是相同的。这里有一个内置方法很特殊:__init__,它是类中的构造方法,会在调用其所在类的时候自动执行。
二、整型(int)
整型类:
1 2 3 |
|
整型的一些方法示例:
add:求和
1 2 3 4 5 |
|
abs 求绝对值
1 2 3 4 5 |
|
int:整型转换
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
cmp:两个数比较
1 2 3 4 5 6 7 8 9 10 |
|
coerce:商和余数,强制生成一个元组
1 2 3 |
|
divmod:分页,相除,得到商和余数组成的元组
1 2 3 |
|
float:转换为浮点类型
1 2 3 4 5 6 |
|
int:转换为整型
1 2 3 4 5 6 |
|
三、长整型(long)
四、浮点型(float)
浮点类:
1 2 3 |
|
我们在创建对象的时候,python也会很聪明的识别出float类型,在计算的时候也是这样,不管表达式中有多少整形多少浮点型,只要存在浮点型,那么所有计算都按照浮点型计算,得出的结果也会是float类型。其余方法和整形并没有太大差别,在这里也不做详细总结了。
五、字符串(str)
字符类:
1 2 3 |
|
字符串的一些方法示例:
str:转换成str类型:
1 |
|
capitalize:将首字母大写
1 2 3 |
|
center/ljust/rjst:固定字符串长度,居中/居左/居右 ,下面是使用示例,当然没有正常人会上来就这么用,一般用在打印列表和字典的时候整理格式
1 2 3 4 5 6 |
|
count:子序列个数,用来统计一个字符串中包含指定子序列的个数。这个子序列可以是一个字符,也可以是多个字符
1 2 3 4 5 |
|
encode/decode:编码/解码,如下左图,各个编码之间是不能直接转换的,计算机内存中默认存储的编码格式是unicode,所以当我们需要将编码在utf8和gbk之间转换的时候,都需要和unicode做操作。
我的终端编码是gbk编码的,当我创建一个string = ‘景‘时,string就被存储成gbk格式。此时我想把gbk格式转换成utf8格式,就要先将原gbk格式的string转换成unicode格式,然后再将unicode转换成utf8格式。如下右图,老师说,把这个字整乱码了我们的目的就达到了
endswith:是否以...(子串)结尾。这里的子串依然可以是一个或多个字符。
1 2 3 |
|
expandtabs:将tab转换成空格,默认一个tab转换成8个空格。当然这里也可以自行指定转换成多少个空格
1 2 3 4 5 |
|
find:返回字符串中第一个子序列的下标。
rfind:和find用法一样,只是它是从右向左查找
index:和find的左右一致,只是find找不到的时候会返回-1,而index找不到的时候会报错
值得注意的是,当我们在一个字符串中查找某一个子序列的时候,如果这个字符串中含有多个子序列,只会返回第一个找到的下标,不会返回其他的。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
format:各种格式化,动态参数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
isalnum/isalpha/isdigit/isspace/islower/istitle/isupper:是否是字母或数字/是否字母/是否数字/是否空格/是否小写/是否标题/是否全大写,总之都是一些判断的方法,返回的不是True就是False。。。
isalnum:是否是字母和数字
1 2 3 4 5 6 7 8 9 10 |
|
isalpha:是否是字母
1 2 3 4 5 6 7 |
|
isdigit:是否是数字
1 2 3 4 5 6 7 |
|
islower:是否小写
1 2 3 4 5 6 |
|
istitle:是否是标题
1 2 3 4 5 6 |
|
partition/split:这两个方法都用来分割。
partition会将指定的子串串提取并将子串两侧内容分割,只匹配一次,并返回元祖;
split会根据指定子串,将整个字符串所有匹配的子串匹配到并剔除,将其他内容分割,返回数组。
1 2 3 4 5 |
|
replace:替换。会替换字符串中所有符合条件的子串。
1 2 3 |
|
swapcase:大写变小写,小写变大写
1 2 3 |
|
translate:替换,删除字符串。这个方法的使用比较麻烦,在使用前需要引入string类,并调用其中的maketrans方法建立映射关系。这样,在translate方法中,加入映射参数,就可以看到效果了。如下‘aeiou’分别和‘12345’建立了映射关系,于是在最后,aeiou都被12345相应的替换掉了,translate第二个参数是删除,它删除了所有的‘.’
1 2 3 4 5 6 7 8 |
|
六、列表(list)
列表类:
1 2 |
|
列表的一些方法示例:
append:向列表中添加项
insert:在列表的指定位置加入值
extend:列表的扩展;那么列表可以自己扩展自己么???当然是可以的啦!
1 2 3 4 5 6 7 8 9 10 11 12 |
|
index:返回列表中第一个匹配项的下标
__contain__:查看列表中是否包含某一项
count:查看列表中某一项出现的次数
1 2 3 4 5 6 7 8 9 10 |
|
pop:删除并返回指定下标的值,默认为列表的最后一个值
remove:删除列表中与指定值匹配的第一个值
__delitem__:删除指定下标的值
__delslice__:删除指定下标区域内的所有值,下标向下包含
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
reverse:列表反转,这个反转并没有什么编码顺序,就是单纯的把原来的列表从头到尾调转过来而已。。。
sort:排序,数字、字符串按照ASCII,中文按照unicode从小到大排序。
1 2 3 4 5 6 7 |
|
七、元组(tuple)
元组类:
1 2 |
|
八、字典(dict)
字典类:
1 2 |
|
字典的一些方法示例:
字典取值:
1 2 3 4 5 |
|
get:get方法得到value,不存在返回None
1 2 3 4 5 6 7 |
|
clear:清空字典
1 2 3 |
|
pop:根据指定的key删除一组数据
popitem:随机的删除一组数据
1 2 3 4 5 6 7 8 9 10 11 |
|
setdefault:dic.setdefault[key1],key1存在,则返回value1,不存在,则自动创建value = ‘None‘
1 2 3 4 5 6 7 |
|
update:dict1.update(dict2),判断dict2中的每一个key在dict1中是否存在,存在:就将dict1中的value更新成dict2中的,不存在:将key和value都复制过去
1 2 3 4 5 |
|
fromkeys:可以通过list创建一个字典
1 2 3 4 5 6 7 8 |
|
copy:浅拷贝,只是第一层独立了,第二层及以下还是跟着母字典一样
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|