您的位置:首页 > 编程语言 > Python开发

Python开发【整理笔记】

2017-02-10 10:27 363 查看

回顾笔记

  学python半年,新知识不断填充,之前学的东西也忘的差不多,整理下笔记,把重点再加深下印象,算是读书拾遗吧....

1、类继承、新式类、经典类

首先,新式类、经典类的概念只存在于Python2.0版本,Python3.0之后都是新式类(加不加object都没差);

经典类:
class B(A):
pass

新式类:
class B(object):
pass


两者区别:在多继承的情况下,经典类是深度优先、新式类是广度优先;具体-》跳转

class A(object):
def __init__(self):
print("A")
class B(object):
def __init__(self):
print('B')


class A、B

class C(B,A):
pass
obj = C()
#B


当父类有初始化,子类也有初始化时,执行子类的初始化,父类的不生效

class C(B,A):
def __init__(self):
print('C')
obj = C()
#C


如果想继续继承父类初始化的话,需要用到super()

class C(B,A):
def __init__(self):
# super().__init__()    #第一种方式
super(C,self).__init__()    #第二种方式
print('C')
obj = C()
#B
#C


2、属性方法、反射

具体-》跳转

3、列表生成式、生成器

#列表生成式
b = [ i*2 for i in range(10)]
print(b)

###########打印输出###########
#[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

#生成器
l = [ i*2 for i in range(10)]
print(l)

g = (i*2 for i in range(10))
print(g)

###########打印输出###########
#[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
#<generator object <genexpr> at 0x0064AAE0>


小结:

凡是可作用于
for
循环的对象都是
Iterable
类型;

凡是可作用于
next()
函数的对象都是
Iterator
类型,它们表示一个惰性计算的序列;

集合数据类型如
list
dict
str
等是
Iterable
但不是
Iterator
,不过可以通过
iter()
函数获得一个
Iterator
对象;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: