python基础_类属性、类方法、实例方法、面向对象的模块、模块的使用、列表推导式

1.类属性,实例方法和类方法

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
上方都是实例方法,能访问能运行。
那么类方法究竟是什么样子呢?

只要有个类方法装饰器即可。
在这里插入图片描述
总结:实例方法 参数是 self;类方法,参数是cls
类方法可以通过类调用,也可以通过实例调用,实质上没有区别
只是类对象要传递参数来指定哦。
在这里插入图片描述
在这里插入图片描述

.静态方法

静态方法不需要传递参数,所以self参数自动变暗了。

在这里插入图片描述

2.面向对象的模块

将大模块哦,不是random这种自带小模块。

模块化:就是将完整功能分解为一个个小模块,通过模块组合来搭建出完整程序
优点:
1.方便开发和维护
2.模块可以复用

模块创建:
在python中,一个py文件就代表一个模块。

#在一个模块中引入其他模块
#1.import模块名(python的文件名)
import test_m
#虽然没有test_m中的指令语句,但是调用过来了,就可以执行运行。可以引入同一个模块多次,但是只执行重复的一次,即调用一次。

#2.import 模块名 as 模块别名
import test_m as test
#  print(test_m)   这个是报错的哦,因为改名了。
print(test)   


#在每一个模块内部都有一个双下划name  (__name__),通过它可以获得当前引入模块的名字,但是运行__name__却出现结果为 __main__,说明当前是主文件。
print(__name__)  #运行结果是 __main__

模块的使用

1.在模块中引入变量
在这里插入图片描述
2.在模块中定义函数
在这里插入图片描述
对应上requests 就可以举一反三了吧
在这里插入图片描述
3.在模块中定义类:
在这里插入图片描述
##我们也可以引入模块中的部分内容
语法: from 模块名 import 变量

下图解决引入很多很多,可以直接把所有要引入的变量都写出来。
在这里插入图片描述
4. 语法 :from 模块名 import 变量 as 别名

在这里插入图片描述
总结:不同情况,根据以上不同方法去解。一般不需要这么多种。

如果是主文件,才会执行,
在这里插入图片描述
总共这么多方法:
在这里插入图片描述

3.列表推导式列表

旧的列表–>新的列表
语法:

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

原来的方式:用定义函数,传递列表,优点,条理清晰,且动能强。
在这里插入图片描述

而用列表推导式 则如下:(特点:条件简单可以用)
在这里插入图片描述
在这里插入图片描述
and 条件照样用上
在这里插入图片描述

4.生成器 Generator

在python中有一边循环一边计算的机制,称之为 “生成器”
当我们创建了很多元素,但是只需要几个,这时候就用生成器取我们要的几个,节省性能。

如何创建生成器
#1. 通过列表推导式
@需求:得到一个0-10之内 分别和3相乘的结果的列表

new_lst=[x*3 for x in range(10)]
print(new_lst)

我们用列表推导式方式,将外层[]去掉换成了(),就变成了生成器

方式一、用__next__()获得元素,每次获得一个,可以多次调用,出多个元素

g=(x*3 for x in range(10))
print(type(g)) # 是一个generator对象

print(g.__next__())
print(g.__next__())

在这里插入图片描述
方式二、next()
如果超出了范围会报错!
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

定义生成器方式二、通过函数完成
1.定义一个函数,函数中使用yield关键字
2. 调用函数,接受调用结果。
3. 得到的结果就是个生成器
4. 通过next()函数__next__()

下图死循环程序
在这里插入图片描述
只要在函数中添加了yield关键字,说明这个函数变成了生成器函数了。
运行下图无反应!
在这里插入图片描述
更改一下,运行结果如下:
在这里插入图片描述

在这里插入图片描述
下图运行为 1 和 2
在这里插入图片描述

在这里插入图片描述
提醒:
在这里插入图片描述

本次回顾:

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值