06 2023 档案
摘要:*在实例中绑定属性,和直接在类种绑定属性是不一样的,实例中绑定的只能在实例中用* 如果Student类本身需要绑定一个属性,所有实例都可以访问,那么可以这么定义 >class Student(object): name = 'Student' 点击查看代码 ``` class Student(obj
阅读全文
摘要:### 获取对象类型 #### 使用type() >>> type(123) >>> type('str') >>> type(None) >>> type(abs) >>> type(a) 判断一个对象是否是函数,可以用types中定义的常量: >>> import types >>> def f
阅读全文
摘要:当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类、父类或超类(Base class、Super class)。 点击查看代码 ``` class Animal(object): def run(self): pr
阅读全文
摘要:外部代码可以通过实例变量来操作class里面的数据,外部代码还可以修改实例的属性: 点击查看代码 ``` bart = Student('Bart Simpson', 59) bart.score >>59 bart.score = 99 bart.score >>99 ``` 如果要让外部属性不被
阅读全文
摘要:### 定义类 通过class关键字,类名通常是大写开头的单词,(object)表示这个类从哪个类继承下来,如果没有合适的继承类,就使用object类,这是所有类最终都会继承的类 点击查看代码 ``` class Student(object): pass ``` 创建好类,就可以根据Student
阅读全文
摘要:函数也是一个对象,并且这个对象可以被赋值给变量,所以,我们可以通过变量调用该函数 > def now(): ... print('2015-3-25') ... >>> f = now >>> f() 2015-3-25 函数对象有一个__ name __属性,可以拿到函数名字: > now.__n
阅读全文
摘要:内部函数sum**可以引用外部函数lazy_sum的参数和局部变量**,当lazy_sum返回函数sum时,相关参数和变量都保存在返回的函数中,这种称为“**闭包(Closure)**”的程序结构拥有极大的威力 #def lazy_sum(*args): def sum(): ax = 0 for
阅读全文
摘要:# filter Python内建的filter()函数用于过滤序列。 和map()类似,filter()也接收一个函数和一个序列。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。 e.g在一个list中,删掉偶数,
阅读全文
摘要:#### Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function) 比如,int函数默认十进制转换,若提供其它base参数,就可以进行n进制转换 >>> int('12345', base=8) 5349 >>> int('12345', 16
阅读全文
摘要:当我们在传入函数时,有些时候,**不需要显式地定义函数,直接传入匿名函数更方便**。 > list(map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9])) [1, 4, 9, 16, 25, 36, 49, 64, 81] 由此,匿名函数lambda x
阅读全文
摘要:## 什么是生成器? _生成器用更优雅简洁的方式来同时实现__iter__(), __ next __(), 并自动触发StopIteration 异常_ ### yield 
浙公网安备 33010602011771号