一、属性
类属性的对象属性
"""
1)类属性
a.怎么定义:直接定义在类中的变量就是类属性
b.怎么使用:用 '类.' 的方式来使用
c.什么时候用:属性不会因为对象不同而不一样的时候使用
2)对象属性
a.怎么定义:以 'self.属性名=值'的形式定义在__init__方法中
b.怎么使用:用 '对象.' 的方式来使用
c.什么时候用:属性会因为对象不同而不一样的时候使用
"""
class Person:
"""人类"""
# 类属性: a、b
a = 10
b = 'abc'
# 对象属性:name、age、gender
def __init__(self):
self.name = '小明'
self.age = 18
self.gender = '男'
二、方法
方法:对象方法、类方法、静态方法
"""
1)对象方法
怎么定义:直接定义在类中的函数
怎么调用:对象.
特点:有个默认参数self,用对象调用的时候不用传参,谁调用就指向谁 (self-当前对象)
什么时候使用:实现函数的功能需要对象就使用对象方法
2)类方法
怎么定义:在定义函数前加 @classmethod
怎么调用:类.
特点:有个默认参数cls,调用的时候不用传参,指向当前类
什么使用:不需要对象的时候,实现函数的功能需要类
3)静态方法
怎么定义:在定义函数前加 @staticmethod
怎么调用:类.
特点:没有默认参数
什么使用:实现函数的功能既不需要对象也不需要类
""""""
1)对象方法
怎么定义:直接定义在类中的函数
怎么调用:对象.
特点:有个默认参数self,用对象调用的时候不用传参,谁调用就指向谁 (self-当前对象)
什么时候使用:实现函数的功能需要对象就使用对象方法
2)类方法
怎么定义:在定义函数前加 @classmethod
怎么调用:类.
特点:有个默认参数cls,调用的时候不用传参,指向当前类
什么使用:不需要对象的时候,实现函数的功能需要类
3)静态方法
怎么定义:在定义函数前加 @staticmethod
怎么调用:类.
特点:没有默认参数
什么使用:实现函数的功能既不需要对象也不需要类
"""
三、对象属性的增删改查
添加和修改:对象.对象属性 = 值 删除:del 对象.对象属性
四、继承
- 怎样创建继承关系
"""
class 类名(父类):
类的说明文档
类的内容
class 类名: == class 类名(object):
object - Python的基类
"""
- 如何在子类添加内容
"""
1)添加类属性和方法
直接在子类中定义新的
2)添加对象属性
需要在子类的__init__方法中通过super去调用父类的__init__方法
类中方法的调用:
先看当前类中有没有对应的方法,如果有直接调用,没有就看父类中有没有,父类没有就找父类的父类,以此类推,如果找到object都找不到才报错
"""
class Person:
def __init__(self, name):
self.name = name
self.age = 18
self.gender = '男'
class Student(Person):
"""学生类"""
def __init__(self, name):
# 调用父类的__init__
super(Student, self).__init__(name)
self.subject = 'Python'
self.study_id = 'Py001'
stu = Student('小明')
print(stu.name, stu.age, stu.gender)
print(stu.subject, stu.study_id)
五、时间模块
导入时间模块语法:import time
- time() - 获取当前时间(返回的是时间戳)
"""
时间戳: 用时间差来表示时间(距离1970年1月1日0时0分0秒(格林威治)的时间差,单位是秒)
"""
- localtime()
"""
localtime() - 获取当前时间的本地时间(返回结构体时间)
localtime(时间戳) - 将时间戳转换成本地时间对应的结构体时间
"""
- 结构体时间和字符串的相关转换
"""
strftime(时间格式, 结构体时间) - 将指定时间以指定的格式转换成字符串
strptime(字符串时间值, 时间格式) - 将字符串时间转换成结构体时间
"""
- 将结构时间转换成时间戳
语法:time.mktime()
t1 = time.localtime()
t2 = time.mktime(t1)
print(t2)
-
sleep
语法:sleep(时间) - 让程序暂停(睡眠)指定时间,单位:s