2020-08-04第十四讲(属性、方法、模块和生成器)

Jerry 老师讲到14讲,属性、方法、模块、生成器,整理一下课堂学习的内容。

属性和方法

类属性 :直接在类中定义的属性, 类属性只能通过类对象修改,无法通过实例对象来修改。

举例:

class A:

    count = 0

a = A()

count = 20

print(A.count)

print(a.count)

实例属性: 通过实例对象添加的属性 , 实例属性只能通过实例对象来访问和修改,类对象无法访问和修改。

举例:

def __init__(self):

     self.name = ‘葫芦娃’


#实例方法

def test(self):

    print(‘这是test 方法……’)


a = A()

# a.count = 20

A’__init__()


类方法@classmethod cls 可以通过类调用也可以通过实例调用。

@classmethod cls


def  test2(cls):

    print(‘这是test 方法,它是一个类方法……’,cls)

    print(cls.count)


静态方法

@classmethod

def test3 (self):

    print(‘这是test3 方法,它是一个静态方法’)


模块

模块化:方便开发方便维护,模块可以复用。

模块的创建

一个py 文件就是一个模块

模块名

name main

模块的使用

语法 模块名 变量名(函数名 对象名)


# import xxx

# import xxx as yyy

# from xxx import yyy,zzz,fff...

# from xxx import *

# from xxx import yyy as zzz



模块是⼀个包含所有你定义的函数和变量的⽂件,其扩展名为.py。模块可以被其它程序引⼊,以使⽤ 该模块中的函数等功能。这也是使⽤python标准库的⽅法。

import module_name

from module_name importname1,name2..

from module_name import *

from module_name import funcas demo_func

sys模块是与python解释器交互模块

sys.argv[] --> 是从程序外部获取参数的桥梁-->[]

其中sys.argv[0]-->程序本身⽂件路径

sys.argv[1]-->外部运⾏时传递的参数

sys.verson  --> ⽤来显示解释器版本信息


sys.path   -->⽤来显示模块搜索路径

sys.exit()  -->⽤来退出程序


生成器.py  在python 中有一边循环一边计算机制,称为生成器。

列表推导式

[表达式for 变量in 旧列表][表达式for 变量 in 旧列表if条件]

生成器解决什么问题

通过列表推导式的方式()

举例:如果想得到一个0-10之内 分别和3相乘的列表

# new_list = [x * 3 for x in range(10)]


# print (type(new_list))


# g = (x * 3 for x in range(10))


# print(type(g))

# 方式一__next__() 获取元素

# print(g.__next__())

# print(g.__next__())

# print(g.__next__())

# print(g.__next__())


# 方式二next()

# print(next(g))

# print(next(g))

# print(next(g))

# print(next(g))


通过函数来创建yield 关键字,只要在函数中添加了yield关键字,就变成了一个生成器函数。

举例:

def fn():


n = 0

while True:

    n +=1

    # print(n)

    Yield n

    # return n

n = fn()

print(n)

print(next(g))

print (next(g))

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容