一、系统模块:
UTC:国际标准时间, 格林尼治天文时间,UTC+8
时间戳:指定时间距离1970.1.1 00:00:00的秒数
time:时间
datetime:日期
calendar:万年历
os:系统,文件和文件夹
1.time时间模块
import time
print(time.time()) # 当前时间的时间戳timestamp
# => 1596508484.2142832
# 睡眠0.2秒,会阻塞程序
time.sleep(0.2)
2.datetime模块
import datetime
# 创建日期对象
d = datetime.datetime.now() # 当前时间
d = datetime.datetime(year=2030, month=1, day=1)
# 日期对象的属性和方法
# print(d)
print(d.year, d.month, d.day) # 日期:年月日
print(d.hour, d.minute, d.second) # 时间:时分秒
print(d.date(), d.time())
print( d.strftime('%Y{}%m{}%d{}').format('年', '月', '日') )
# => 2020年08月04日
print( d.timestamp() ) # 时间戳
# 时间戳 => 日期对象: 了解
# print(datetime.datetime.fromtimestamp(2596509826))
# 时间差
d2 = datetime.timedelta(days=7, hours=10)
print(d + d2) # 7天10小时后的日期
print(d - d2) # 7天10小时前的日期
二、面对对象思想:
1.面对对象思想设计:
基于哲学观点:万物皆对象, 一切皆对象
举例说明:
案例一:我想吃大盘鸡
面向过程 | 面向对象 |
---|---|
自己去买菜 | 委托一个人帮忙买菜 |
自己择菜 | 委托一个人帮忙择菜 |
自己做菜 | 委托一个人厨师做菜 |
自己吃 | 自己吃 |
案例二:小明是一个电脑小白,想要配置一台电脑
面向过程 | 面向对象 |
---|---|
小明补充电脑知识 | 委托一个懂电脑的人买零件 |
小明去买零件 | 委托一个人组装 |
小明把零件运回来 | 小明打开玩游戏 |
小明组装 | |
小明打开玩游戏 |
2.面向过程和面向对象的区别:
2.1 面向过程:
在生活案例中:
一种看待问题的思维方式,在解决问题的时候,侧重于问题是怎样一步一步解决的,然后亲力亲为的去解决
在程序中:
代码从上往下依次执行
各个模块之间的关系尽可能的独立的,当import的时候,加载的顺序也是从上往下依次加载
每个模块中的语句结构:顺序,分支,循环
2.2 面向对象:
在生活案例中:
一种看待问题的思维方式,侧重于找到一个具有特殊功能的个体,然后委托这个个体帮忙完成某件事情,这个个体就被称为对象
好处:可以将复杂的问题简单化,将程序员从执行者变成了指挥者
在程序中:
根据不同的需求执行代码【代码执行顺序不一定】
程序的流程完全由需求决定【对象】
思想:如果对象存在,则直接使用;如果对象不存在,则创建对象
注意:面向对象只是一种思想,并不是一门编程语言
Python是一门面向对象的编程语言,类和对象是 面向对象的核心
三、类和对象:
1. 类和对象的概念:
类:多个具有特殊功能的个体的集合
对象:在一个类中,一个具有特殊功能的个体,能够帮忙解决某件特定的事情,也被称为实例【instance】
两者之间的关系:类用于描述某一类对象的共同特征,而对象是类的具体的存在
思考问题:先有类还是先有对象?
【不好说,但是,在程序中使用的时候,一般是先定义类,然后创建对象】
举例:
类 对象
人 王麻子, 李四, 赵四。。
快递 韵达,中通,圆通。。
SupreHero 蝙蝠侠,蜘蛛侠,美国队长。。
帮忙理解:类其实也是一种数据类型,只不过一般情况下是自定义的,所以可以将类认为是自定义的数据类型,用法和整型,str,list等基本是相同的【定义变量,传参】
2.类的定义:
语法:
class 类名( ):类体
说明:
a.Python中使用class关键字定义类
b.类名只要是一个合法的标识符即可,但是要求:遵循大驼峰命名法则【首单词的首字母大写,不同单词之间首字母大写】
c.通过缩进区分类体
d.类体一般包含两部分内容:对类的特征的描述、对类的行为的描述
#类的定义
#类的声明
class MyClass():
#类的实现
#类体
#print("hello") #一般不会这么书写
pass
#注意:在同一个py文件中可以同时定义多个类,但是,为了提高代码的可读性,结合模块的使用,最好是一个文件一个类
class MyClass1():
pass
3.类的设计【类体的实现】:
三要素:
事物名称【类名】:举例:人
事物的特征【变量】:名词,举例:姓名,年龄。。。。
事物的行为【函数/方法】:动词,举例:吃,跑。。。。
四、类中的方法和变量:
1.类中的方法和变量的定义:
类中的方法和变量是为了描述事物的行为和特征
类中定义的方法被称为成员