1.关于[]的使用
array[::]全部取出
array[3:-3]列出3到-3之间的
array[2::]从第二个元素开始取
array[::3]从第一个开始取,梅3个取一次
array[::-1]颠倒列表
2.关于_,__和__xx__的区别
-单下划线:python中并不存在真正的私有方法,为了实现私有方法,可以在类的方法或属性前面加上一个'_'单下划线,意味着该方法或属性不应该去调用
__双下划线:这个双下划线是用来避免子类覆盖其内容。
__xx__前后各双下划线:__xx__经常是操作符或本地函数调用的magic methods
3.关于python中的列表生成式
[x*x for x in range(1,11)]写列表生成式的时候,把要生成的元素x*x放在前面,后面跟for循环,就可以把list创建出来。for语句后面可以接其他语句。
4.关于python的magic methods
构造方法:
__new__(cls,[...):
__new__是对象实例化时第一个调用的方法,它只取下cls参数,并把其他参数传给__init__。
__init__(self,[...])
类的初始化方法,它获取任何传给构造器的参数。
_del__(self)
__del__是对象的销毁器,它并非实现了语句del x,而是定义了当对象被垃圾回收时的行为
比较操作符:
__cmp__(self,other)
__cmp__是所有比较魔法方法中最基础的一个,它实际上定义了所有比较操作符的行为。__cmp_在self<other时返回一个负整数,在self==other时返回0,在self>other时返回正整数。
__eq__(self,other)
定义等于操作符(==)的行为
__ne__(self,other)
定义小于操作符(<)的行为
__gt__(self,other)
定义大于操作符(>)的行为
__le__(self,other)
定义小于等于操作符(<)的行为
__ge__(self,other)
定义大于等于操作符(>)的行为
数值操作符
__pos__(self)
实现取正操作
__neg__(self)
实现取负操作
__abs__(self)
实现内建绝对函数
__invert__(self)
实现取反操作符
__round__(self,n)
实现内建函数round(),n是近似小数点的位数
__floor__(self)
实现math.floor()函数,即向下取整
__ceil__(self)
实现math.ceil()函数,即向下取整
__trunc__(self)
实现math.trunc()函数,即距离零最近的整数
常见算数操作符
__add__(self,other)
实现加法操作
__sub__(self,other)
实现减法操作
__mul__(self,other)
实现乘法操作
__floordiv__(self,other)
实现使用//操作符的整数除法
此外还有很多很多的magic methods
5.python的常用数据类型
列表:
字符串和元组是不可变的,二列表是可变的。可以将字符串和元组转换成一个列表,只需使用list函数。
常用的列表方法有:
1.index,:index方法用于从列表中找出某个元素的位置,如果有多个相同的元素,则返回第一个元素的位置。
2.count:count方法用于统计某个元素在列表中出现的次数
3.append:append方法用于在列表末尾增加新的元素
4.extend:extend方法将一个新列表的元素添加到原列表中。注意参数必须是列表
5.insert:insert方法用于将某个元素添加到某个位置,第一个参数是位置,第二个是元素的值
6.pop:pop方法用于移除列表中的一个元素,如果不给定位置,则默认是最后一个,返回的是被删除的值。根据位置来删除。
7.remove:remove方法用于移除列表中的某个匹配列表,如果有多个匹配,则移除第一个。根据元素的值来删除
8.reverse:reverse方法用于将列表中的元素进行反转
9;.sort:sort方法用于对列表进行排序,注意该方法会改变原来的列表,而不会返回新的排序列表。另外,sort方法的返回值为空。如果不想改变原列表,而是希望回一个排序后的列表,可以使用sorted函数。不管是sorted函数,默认排序都是升序排序,可以指定reverse参数为True,那么就会降序排序。除了reverse参数,还可以指定key关键字参数,它为每个元素创建一个键,然后所有元素按照这个键来排序
元组:
字符串:
'### hello world!!! %%%'.strip('#%') #移除左右两侧的'%'或'#'
5.replace:replace方法用于替换字符串中的所有匹配项
from string import maketrans
table=maketrans('aeiou','12345')
'a e i osu'.translate(table)
可以看到,maketrans接收两个参数:两个等长的字符串,表示第一个字符串的每个字符用第二个字符串对应位置的字符替代。
7.lower/upper:lower/upper用于返回字符串的大写或小写形式。
字典:
如果需要判断某个键是否在字典里面,可以用in进行判断。
字典常用的方法有:
1.clear:clear方法用于清空字典中所有的项,这是个原地操作,所以无返回值。
2.copy:copy方法实现的是浅复制,它是对可变对象的修改保持同步,对不可变对象的修改保持独立。和浅复制对应的是深复制(deepcopy)他会创造一个副本,跟原来的对象没有关系。
3.get:get 当我们试图访问字典中不存在的项时会出现KeyError,但是使用get就可以避免这个问题。
4.setdedault:setdefault方法用于对字典设定键值。
5.update:update方法用于将一个字典添加到原字典,如果存在相同的键则会进行覆盖。
6.items:iters方法将所有的字典项以列表的形式返回,这些列表项的每一项都来自于(键,值)。iteritems的作用大致相同,但是会返回一个迭代器而不是列表。
7.keys/iterkeys:跟上诉情况类似,不同返回的是键
8.values/itervalues:返回的是值
9.pop:pop方法用于将某个键值从字典中移除,并返回给定键的值
10.popitem:popitem用于随机移除字典中的某个键值对
集合:
6.*args和**kwargs
7.with语句
8.ord()和chr()方法
ord('a')
chr(65)
9
#! /usr/bin/env python3
# -*- coding:utf-8 -*-