-
L2 = sorted(L1,key=lambda x:x.name)查看全部
-
capitalize() 首字母大写,其余全部小写 upper() 全转换成大写 lower() 全转换成小写 title() 标题首字大写,如"i love python".title() "I love python"查看全部
-
这一节不会查看全部
-
没看懂查看全部
-
解释器内部会将**kw拆分成对应的dict. setattr()方法接受3个参数:setattr(对象,属性,属性的值) setattr(self,k,v)相当于self.k = v kw.iteritems()历遍字典kw的所有key和value,分别匹配k,v查看全部
-
本教程是廖雪峰所写,但是看2-8并没有太明白返回函数的意思,看了廖雪峰的官网,才搞懂。 以廖雪峰官网的例子说明: def lazy_sum(*args): def sum(): ax = 0 for n in args: ax = ax + n return ax return sum 当调用lazy_sum的时候: f=lazy_sum(1,3,5,7,9) 按照函数的要求,最后返回的是sum函数,虽然在lazy_sum中调用了sum进行计算,但是sum的最终计算结果都是放在函数sum中,这时候即f=sum(),再次调用f时: f() 这时候才将sum的计算结果进行展示。这种就称为闭包查看全部
-
摘自同学的笔记 这两个是python中的可变参数。*args表示任何多个无名参数,它是一个tuple;**kwargs表示关键字参数,它是一个dict。并且同时使用*args和**kwargs时,必须*args参数列要在**kwargs前.解释器内部会将**kw拆分成对应的dict. setattr()方法接受3个参数:setattr(对象,属性,属性的值) setattr(self,k,v)相当于self.k = v 好几个知识点: 1.关键字参数**kw,会自动将关键字拆分为dirt 2.setattr()方法接受3个参数:setattr(对象,属性,属性值) setattr(self,k,v)相当于self=v 3.kw.iteritems()遍历字典kw的所有key和value,分别匹配k,v查看全部
-
继承:新类不必从头编写,可以直接从现有类继承,就自动拥有了现有类的所有功能,只需要编写需要的新功能即可。 继承优点:复用已有代码,自动拥有了现有类的所有功能,可精简代码。 1、如果一个实例是一个子类,则它也是一个父类;如果实例是父类,则它不是子类。 2、子类和父类是is关系 is关系指的是:黄鹂是鸟,却不能说鸟是黄鹂 has关系指的是:学生有一本书,不能说学生是一本书 两个has关系的类不能继承,只能以属性组合到类中,如使用Book类的bookName-> self.book=Book(bookName) 继承特点: 1、总是从某个类继承,没有合适的类时使用object类继承 2、调用super().__init__方法(初始化父类) 如Student类从父类继承name和gender:super(Student,self).__init__(name,gender)查看全部
-
def f1(x): return x*2 #定义原函数f1()、定义函数参数f1 def new_fn(f): #定义新函数new_fn、给出(函数)参数f def fn(x): print('call'+f.__name__+'()') return f(x) #给出子函数fn和表达式(返回值)f(x) return fn #将新函数new_fn()返回子函数fn() 深刻理解一下上述内容: new_fn(f1)(): 首先, new_fn(f1)表示new_fn(f)变成new_fn(f1),f(x)变成f1(x),即: new_fn参数是原函数,fn()参数是要输入的值; fn()函数功能是传入一个数字,打印日记并返回new_fn()传入的函数f1; 那么到这里就明显了,new_fn(f1)就是装饰器: f1是原函数,功能是x*2;通过装饰器函数new_fn(f1),功能增加了打印日记 其次,new_fn(f1)(5): 前半部分new_fn(f1)规定了功能,后半部分给入对象5; 它绝不是new_fn([5])(),因为这里传入的是函数参数f1,与之有本质区别,因为前者的话原代码应改成fn()而不是fn(x),因此倒像是倒置,一个先函数再对象,一个先对象再函数; fn是原函数是错误的,new_fn是新函数也是错误的;应该是f1是原函数,fn是新函数,new_fn(f1)是装饰器查看全部
-
类名(object): 类型以大写字母开头 object是python所有类的基类(元类) pass:是do nothing 用以保证语义与结构的完整 结果: <__main__.Person object at 0x00000000022B8C18> <__main__.Person object at 0x00000000022B8C50> False 出现__main__:是调用模块本身查看全部
-
使用调用的包里面的函数的统一格式: 包名称.函数名 如math.sqrt 开头import模块后,下面引用模块函数时,仍要用“模块名.函数名”的方式,不能省略模块名。查看全部
-
运算结果约为最简 def __str__(self): g = gcd(self.p, self.q) return '%s/%s' % (self.p / g, self.q / g)查看全部
-
另一种解法:递归查看全部
-
gcd函数为欧几里得算法(最大公约数 辗转相除法)查看全部
-
import json class Students(object): def read(self): return r'["Tim", "Bob", "Alice"]' s = Students() print json.load(s)查看全部
举报
0/150
提交
取消