待更新。。。
特殊方法(魔术方法) 特殊方法定义在class中,不需要直接调用,Python的某些函数或操作符会自动调用对应的特殊方法。 str 在print打印时调用对象的str函数并打印返回值,repr是class中自带的方法,不需要声明,当直接打印类名是调用repr返回值。通常为保持一致,我们会令__repr__=__str__ 123456class Person(object): def __init__(self, name, gender): self.name = name self.gender = gender def __str__(self): return '(Person: %s, %s)' % (self.name, self.gender) len,只要正确实现了len()方法,就可以用le...
类的定义1234567class Person(object): def __init__(self,name,gender): self.name = name self.__gender = gender print('I am a Person') def get_gender(self): return self.__gender 其中init()方法是构造函数必须的方法,用于实例初始化,生成一个新的对象并绑定对象上的属性,第一个参数必须是self指向新的对象;其余实例方法定义中第一个参数保证是self即可,实例方法可以访问class中的私有变量(__开头的变量); 继承超类的子类想要继承超类的方法与属性需要在初始化函数中调用super().init()方法 12345class Tea...
数组操作高阶函数介绍 map() reduce() filter() sorted() 可以应用于任何iterable 数据类型,不止于数组类型 lambda表达式介绍(有限制的匿名函数支持)装饰器 无参数装饰器 带参数装饰器 functools.wraps(f)应用 偏函数 functools.partials(func,propName = XXX)注意: python安装模块式要在cmd环境下,而非python交互模式下。
列表生成器是Python特有的生成list的便捷方式 [x*x for x in range(1,101)]生成了1到100每个数值平方组成的list集合,可见首先写的迭代返回值表达式,之后是for迭代表达式; zip()函数可以把两个 list 变成一个 list: 12>>> zip([10, 20, 30], ['A', 'B', 'C'])[(10, 'A'), (20, 'B'), (30, 'C')] [x * x for x in range(1, 11) if x % 2 == 0]可以生成1到10中偶数的list集合,方法是在for迭代表达式后面加一句if表达式进行过滤。 [m + n for m in 'ABC...
注意: 集合是指包含一组元素的数据结构,我们已经介绍的包括: 有序集合:list,tuple,str和unicode; 无序集合:set 无序集合并且具有 key-value 对:dict enumerate()函数把简单元素集合转化为tuple集合,每个tuple第一个元素为索引号,第二个元素为元素值; 注意range(1,4)产生的结果只有3个元素([1,2,3]),可以与切片规律一起记为起始位置包括,结束位置不包括; 我们发现python中的dict比其他语言更易于被操作,d.values()和d.itervalues(),可以帮助我们获取到dict的值,应用for迭代就可以取到每一个属性值并应用于计算。items()方法可以将对象的每一组键值对封装成为一个tuple,可想而知我们就可以使用两个变量依次获取到每一组键值对中的key和value。和 values() 有一个...
list、tuple、str都可以使用切片快速有效的得到新的子集合(或子字符串); 【开始位置:结束位置:步长】 创建的新子串包括开始位置元素,不包括结束位置元素 [-3,-1,2]意思为从倒数第三个元素开始取,取到倒数第一个时刻结束,不存储倒数第一个元素,得到的子串取第一个元素,之后每间隔4个元素存一个。 [::2]省略写法,第一个参数不写表示从0索引开始取值,第二个参数不写表示一直取值到最后一个。可见想取到最后一个元素的方法是第二个参数不写。 返回的数据保持原数据的数据类型 复制一个新数组与原数据数据一致的简单方法 new_arr = old_arr[::](第三个参数为可选参数,不写时默认步长为1)
定义方法123def func_name(*args): #something about args return sth #默认return None 默认参数 必选参数在左,默认参数在右,因为解释器对命名参数变量赋值的顺序是从左至右的; 可变参数 args为存储了tuple实例的局部变量 作用域 python以函数为作用域
dict(字典类型) dict是一种用空间换取时间的无序列表结构,查询速度快,key值不可重复; key值不可变 dict也继承自interable,可使用for循环迭代遍历 向dict中添加属性 setattr(obj,key,value) set 调用方式向set()构造函数中传入一个list set使用无序的存储方式,不能用数字索引查找元素,可以使用in查看元素是否在set实例中,set也继承自interable类,可使用for迭代遍历 set中的元素无重复项 使用:将有限的有效值存储进set中,对用户输入进行验证(in) 添加add 删除remove
if分支语句 注意Python代码的缩进规则。具有相同缩进的代码被视为代码块构成一个代码块。缩进请严格按照Python的习惯写法:4个空格,不要使用Tab,更不要混合Tab和空格,否则很容易造成因为缩进引起的语法错误。 注意: if 语句后接表达式,然后用:表示代码块开始.else及elif(注意写法与其他语言中else if的区别)语句表达式之后也都带:,之后讲到的循环语句中的for表达式及while表达式后面都要跟:,如果忘记加:会报语义错误,不能正常解释表达式。 如果你在Python交互环境下敲代码,还要特别留意缩进,并且退出缩进需要多敲一行回车 表达式中涉及到逻辑运算符,需注意,Python中逻辑运算符与其他语言不同之处,不实用 & ! ||符号,而使用对应单词and not or 循环语句for循环 Python中的for循环用法与php很像,只要...