Python学习第十一天
2021-03-03 22:29
标签:int 方法 直接 student 对象 stat 外部 私有 pass 语法 类名由一个或多个字母组成,首字母大写,其他字母小写。 使用 使用 初始化函数 语法: 方法的调用 相当于类中的静态变量,使用 使用 使用 封装、继承、多态 私有变量约定用 默认继承Object,支持多继承。 子类可以重写父类中的方法,重写后可以使用 是所有类的父类 Python学习第十一天 标签:int 方法 直接 student 对象 stat 外部 私有 pass 原文地址:https://www.cnblogs.com/xieyuquan/p/14381435.html类的创建
class 类名:
pass
直接写在类里的变量,成为类属性。
在类里定义的函数,成为类方法。class Student:
name = ‘张三‘ # 类属性
def eat(self): # 实例方法
print(self.name + ‘在吃饭‘)
@staticmethod
注解来定义静态方法。 @staticmethod # 静态方法
def drink():
print(‘在喝水‘)
@classmethod
注解来定义类方法 @classmethod
def study(cls):
print(‘在学习‘)
def __init__(self, name, age):
self.name = name
self.age = age # 实例属性
对象的创建
实例名 = 类名([参数])
class Student:
childhood_name = ‘张三‘ # 类属性
def __init__(self, name, age):
self.name = name
self.age = age # 实例属性
def eat(self): # 方法
print(self.name + ‘在吃饭‘)
@staticmethod
def drink():
print(‘在喝水‘)
@classmethod
def study(cls):
print(‘在学习‘)
stu = Student(‘xyq‘, 20)
print(stu.name)
print(stu.childhood_name)
print(stu.age)
####
xyq
张三
20
stu = Student(‘xyq‘, 20)
stu.eat()
Student.eat(stu)
####
xyq在吃饭
xyq在吃饭
类属性的使用
类名.属性名
来调用。print(Student.childhood_name)
####
张三
类方法的使用
类名.方法名()
来调用。参数是类名Student.study()
####
在学习
静态方法的调用
类名.方法名()
来调用,没有参数。Student.drink()
####
在喝水
动态绑定属性和方法
class Student:
def __init__(self, name, age):
self.name = name
self.age = age
def eat(self):
print(self.name + ‘在吃饭‘)
stu1 = Student(‘shy‘, 21)
stu2 = Student(‘xyq‘, 20)
stu2.gender = ‘男‘ # 为stu2动态绑定属性
print(stu1.name, stu1.age)
print(stu2.name, stu2.age, stu2.gender)
def show():
print(‘这是函数,即将绑定在类上‘)
stu2.show = show
stu2.show()
####
shy 21
xyq 20 男
这是函数,即将绑定在类上
面向对象的三大特征
封装
__变量
来表示class Student:
def __init__(self, name, age):
self.name = name
self.__age = age # __age为私有变量,不希望外部访问
def show(self):
print(self.name + f‘今年{self.__age}岁‘)
stu = Student(‘xyq‘, 20)
stu.show()
####
xyq今年20岁
继承
子类必须调用父类的构造方法。
语法:class 子类(父类1,父类2,...,父类n)
pass
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
print(‘Person类的构造函数‘)
def info(self):
print(self.name, self.age)
class Student(Person):
def __init__(self, name, age, score):
super().__init__(name, age)
self.score = score
print(‘Student类的构造函数‘)
Jack = Student(‘Jack‘, 17, 89)
Jack.info() # 继承来的方法
####
Person类的构造函数
Student类的构造函数
Jack 17
方法重写
super().方法()
来调用。class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def info(self):
print(self.name, self.age)
class Student(Person):
def __init__(self, name, age, score):
super().__init__(name, age)
self.score = score
def info(self):
print(self.name, self.age, self.score)
Jack = Student(‘Jack‘, 17, 89)
Jack.info()
####
Jack 17 89
Object类
下一篇:Spring Boot 配置文件