【python-第7周期学习】

【1.7.1 模块的概念和导入】

https://www.bilibili.com/video/BV1qW4y1a7fU/?p=94&vd_source=8d5bc5d755d146032fa4f38d45db2f92

  • 【主要内容】

  • 什么是模块

  • 是一个python文件,以.py结尾

  • 导入python内置的模块

# 使用import导入time模块使用sleep功能(函数)
import time 
print("你好")
time.sleep(5)   # 通过.就可以使用模块内的全部功能
print("我好")

# 使用from导入time的sleep功能(函数)
# 基本语法:
from 模块名 import 功能名
功能名()

# 导入时间模块中的sleep方法
from time import sleep

print("开始")
# 让程序睡眠1秒(阻塞)
sleep(1)
print("结束")


# 使用*导入time的模块的全部功能
from time import *    # *表示全部的意思
print("你好")
sleep(5)
print("我好")


# 使用as给特定功能加上别名
import time as t
print("你好")
t.sleep(5)
print("我好")

【1.7.2 自定义模块并导入】

https://www.bilibili.com/video/BV1qW4y1a7fU/?p=95&vd_source=8d5bc5d755d146032fa4f38d45db2f92

  • 【主要内容】

  • 了解如何自定义模块并使用

  • 了解_main_变量的作用

# 导入自定义模块使用
import my_module1     # or from my_module1 import test
my_module1.test(1,2)

# 导入不同模块的同名功能 被调用的是后面导入的模块的功能
from my_module1 import test
from my_module2 import test
test(1,2)

# __main__变量
    # if__name__ == "__main__"表示,只有当程序是直接执行的才会进入if内部,如果是被导入的,则无法进入

# __all__变量
    # 可以控制哪些功能被导入

【1.7.3 自定义python包】

https://www.bilibili.com/video/BV1qW4y1a7fU/?p=96&vd_source=8d5bc5d755d146032fa4f38d45db2f92

  • 【主要内容】

  • 什么是python包

  • 相当于一个文件夹,在该文件夹下包含了一个__init__.py文件,可用于包含多个模块;从逻辑上看,包的本质依旧是模块

  • __init__.py文件是默认自动创建的文件,通过这个文件来表示一个文件夹是python的包,而非普通的文件夹

  • __all__变量能够控制import *能够导入的内容

  • 如何自定义包

【1.7.4 安装第三方包】

https://www.bilibili.com/video/BV1qW4y1a7fU/?p=97&vd_source=8d5bc5d755d146032fa4f38d45db2f92

  • 【主要内容】

  • 了解什么是第三方包

  • 掌握使用pip安装第三方包

# 在命令提示符内:
pip install 包名称
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名称

# 在PyCharm中安装

【1.7.5 综合练习】

https://www.bilibili.com/video/BV1qW4y1a7fU/?p=98&vd_source=8d5bc5d755d146032fa4f38d45db2f92

【1.7.6 什么是对象】

https://www.bilibili.com/video/BV1qW4y1a7fU/?p=111&vd_source=8d5bc5d755d146032fa4f38d45db2f92

  • 【主要内容】

  • 理解使用对象完成数据组织的思路

# 1. 设计一个类(类比生活中:设计一张登记表格)
class Student:
    name = None           # 记录学生姓名
    gender = None         # 记录学生性别
    nationality = None    # 记录学生国籍
    native_place = None   # 记录学生籍贯
    age = None            # 记录学生年龄
    
# 2. 创建一个对象(类比生活中:打印一张登记表)
stu_1 = Student()

# 3. 对象属性进行赋值(类比生活中:填写表单)
stu_1.name = "林俊杰"
stu_1.gender = '男'
stu_1.nationality ='中国'
stu_1.native_place ='山东省'
stu_1.age =31

# 4. 获取对象中记录的信息
print(stu_1.name)
print(stu_1.gender)
print(stu_1.nationality)
print(stu_1.native_place)
print(stu_1.age)

【1.7.7 类方法】

https://www.bilibili.com/video/BV1qW4y1a7fU/?p=112&vd_source=8d5bc5d755d146032fa4f38d45db2f92

  • 【主要内容】

  • 掌握类的定义和使用方法

  • 类的组成部分

  • 类的属性,称之为:成员变量

  • 类的行为,称之为:成员方法

  • 注意:函数是写在类外的,定义在类内部,都称之为“方法”

  • 掌握成员方法的使用

  • 掌握self关键字的作用

# 定义一个带有成员方法的类  
class Student:
    name = None           # 成员变量:记录学生姓名
    
    """
    def 成员方法(self, 参数列表):
        成员方法体
    """
    
    def say_hi(self):     
        print(f"大家好呀,我是{self.name},欢迎大家多多关照")   # self.name---想要访问成员属性,必须使用self关键子

    def say_hi2(self,msg):
        print(f"大家好,我是{self.name},{msg}") 
        
         
stu = Student()
stu.name = '周杰伦'
# stu.say_hi()
stu.say_hi2('哎哟,不错哦')   # 传参的时候self不用管,只需要传入后面的参数,但在定义类的时候必须要写

stu2 = Student()
stu2.name = '林俊杰'
stu2.say_hi2('小伙子,我看好你')

【1.7.8 类和对象】

https://www.bilibili.com/video/BV1qW4y1a7fU/?p=113&vd_source=8d5bc5d755d146032fa4f38d45db2f92

  • 【主要内容】

  • 掌握使用类描述现实世界事物的思想

  • 属性

  • 行为

  • 类也包含属性和行为,所以使用类描述现实世界事务是非常合适的

  • 掌握类和对象的关系

  • 类是程序中的“设计图纸”

  • 对象是基于图纸生产的具体实体

  • 理解什么是面向对象

  • 使用对象进行编程

  • 设计一个类,基于类创建对象,并使用对象来完成具体的工作

# 设计一个闹钟类
class clock:
    id = None      # 序列化
    price = None   # 价格
    
    def ring(self):
        import pygame
        pygame.init()
        pygame.mixer.init()
        pygame.mixer.Sound("音频文件")
    
# 构建2个闹钟对象并让其工作
clock1 = clock()
clock1.id = "003032"
clock1.price = 19.99
print(f"闹钟ID:{clock1.id},价格是:{clock1.price}")
clock1.ring()

clock2 = clock()
clock2.id = "003033"
clock2.price = 21.99
print(f"闹钟ID:{clock2.id},价格是:{clock2.price}")
clock1.ring()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我来编写这个程序。我们可以使用循环来模拟365天的学习过程,并在每个周期内计算能力值的变化。 ```python ability = 1 # 初始能力值为1 days = 0 # 记录已经学习的天数 period = 0 # 记录当前周期学习的天数 last_ability = 1 # 上一个周期结束时的能力值 while days < 365: # 如果当前处于一个周期的第一天,则重置周期计数器和上个周期的能力值 if period == 0: period = 1 last_ability = ability # 计算当前天的能力值 if period >= 4 and period <= 7: ability *= 1.01 else: ability = last_ability # 输出当前周期和天数的能力值 print("第", days+1, "天,周期第", period, "天,能力值为", round(ability, 4)) # 更新计数器 days += 1 period += 1 # 如果当前周期已经结束,则重置周期计数器和上个周期的能力值 if period > 7: period = 0 last_ability = ability ``` 程序输出结果如下: ``` 第 1 天,周期第 1 天,能力值为 1 第 2 天,周期第 2 天,能力值为 1 第 3 天,周期第 3 天,能力值为 1 第 4 天,周期第 4 天,能力值为 1.01 第 5 天,周期第 5 天,能力值为 1.0101 第 6 天,周期第 6 天,能力值为 1.010201 第 7 天,周期第 7 天,能力值为 1.01030401 第 8 天,周期第 1 天,能力值为 1.01030401 第 9 天,周期第 2 天,能力值为 1.01030401 第 10 天,周期第 3 天,能力值为 1.01030401 ... 第 359 天,周期第 3 天,能力值为 1.1446202165071958 第 360 天,周期第 4 天,能力值为 1.1560664186722678 第 361 天,周期第 5 天,能力值为 1.1676270828589904 第 362 天,周期第 6 天,能力值为 1.1793023536875805 第 363 天,周期第 7 天,能力值为 1.1910924762244563 第 364 天,周期第 1 天,能力值为 1.1910924762244563 第 365 天,周期第 2 天,能力值为 1.1910924762244563 ``` 可见,在连续学习365天之后,能力值稳定在了大约1.1911左右。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值