'''
一.类的创建
语法格式:
class 类名: ##类名由一个或者多个单词组成,约定俗成每个单词第一个字母大写
操作
二.类的组成:初始化方法、类属性、实例方法、静态方法、类方法。
1.初始化方法:
语法格式: def __init__(self,.....)
操作
2.类属性: 直接写在类里面的变量,称为类属性。
3.实例方法:(在类外面通过def定义的是函数,在类里面通过def定义的是方法)
语法格式: def 实例方法名(self): ## self可以换成其他单词,但约定俗成是self
操作
4.静态方法: 用@staticmethod修饰的,为静态方法。
语法格式: @staticmethod
def 静态方法名(): ## 规定: 静态方法括号里不能有self,或者其他参数
操作
5.类方法: 用@classmethod修饰的,成为类方法
语法格式: @classmethod
def 类方法名(cls): ## 括号里可以有参数,但约定俗成写cls
eg:
class Student:
# 类属性
xingming = "张三"
# 初始化方法
def __init__(self,name,age):
self.name = name ##self.name 称为实例属性,这里是将上面的局部变量name赋值给实例属性
self.age = age ## 前面的self.name和self.age 不一定要与局部变量相同,但约定俗成写成相同的
def doing(self):
print("学生正在干饭.....")
# 静态方法
@staticmethod
def sheng():
print("我是用@staticmethod修饰的,所以我是静态方法")
# 类方法
@classmethod
def class(cls):
print("我是用@classmethod修饰的,所以我是类方法")
二.对象的创建(又称为类的实例化)
意义: 有了实例 就可以调用类中的内容。
## 一个类可以创建多个对象,且对象属性值可以不同
语法格式: 实例名 = 类名()
eg(利用上面的类):
s1 = Student("李四","20")
print(s1.name,s1.age) ## 实例属性 即上面例子中的__init__部分
三.类方法、类属性、静态方法的使用方式
1.类属性: 在类当中,定义在任何方法外的变量称为类属性,被该类的所有对象所共享
访问的语法格式: 类名.类属性名
eg: print(Student.xingming)
修改类属性的值: 类名.类属性名 = 值
eg: Student.xingming = "王五"
print(Student.xingming)
输出: 张三
王五
2.类方法: 使用@classmethod修饰的方法,使用类名直接访问的方法
语法格式: 类名.类方法名()
eg:Student.cl()
输出: 我是用@classmethod修饰的,所以我是类方法
3.静态方法: 使用@staticmethod修饰的方法,使用类名直接访问的方法
语法格式: 类名.静态方法名()
eg: Student.sheng()
输出: 我是用@staticmethod修饰的,所以我是类方法
四.动态绑定属性和方法
## python是一门动态语言,对象创建后,可以动态绑定属性和方法
'''