一、初识对象
1.在程序中设计表格,称为 设计类class
class Student:
name = None #记录学生姓名
2.在程序中打印生产表格 我们称之为创建对象
#基于类创建对象
stu_1 = Student()
stu_2 = Student()
3.在程序中填写表格,我们称之为 对象属性赋值
stu_1.name = "周杰伦" #为学生1对象赋予名称属性值
stu_2.name = "林君节" #为学生2对象赋予名称属性值
二、成员方法
类的定义和使用
1.类的使用语法:
class 类名称:
类的属性
类的行为
·class 是关键字,表示要定义类了
·类的属性,即定义在类中的变量(成员变量)
·类的行为,即定义在类中的函数(成员方法)
创建类对象的语法:
对象 = 类名称()
2.类的行为(方法)
class Student:
name = None # 学生姓名
age = None # 学生的年龄
def say_hi(self):
print(f"hi大家好,我是{self.name}")
stu = Student()
stu.name = "周杰伦"
stu.say_hi()
------------------
hi大家好,我是周杰伦
Process finished with exit code 0
类中 定义的属性(变量) 我们称之为:成员变量
类中定义的行为(函数) 我们称之为:成员方法
从今天开始,定义在类内部的函数我们称之为方法
类外的函数 叫函数
3.成员方法的定义语法
在类中定义成员方法和定义函数基本一致 但仍有细微区别
def 方法名(self,形参1,.......,形参N):
方法体
可以看到 在方法定义的参数列表中 有一个:self关键字
self关键字是成员方法定义的时候 必须填写的
· 它用来表示类对象自身的意思
· 当我们使用类对象调用方法的时候 self会自动被python传入
· 在方法内部想要访问类的成员变量 必须使用self
eg: self.name
self关键字中,尽管在参数列表中,但是传惨的时候可以忽略它
如:
class Student:
name = None
def say_hi(self):
print("hello")
def say_hi2(self,msg):
print(f"hello,{msg}")
stu = Student()
stu.say_hi()
stu.say_hi2("nice")
----------------
hello
hello,nice
Process finished with exit code 0
可以看到,在传入参数的时候 self 是透明的。可以不用理会它
三、类和对象
1.世界的事物由 属性和行为组成
类也可以包含 属性和行为 所以使用类描述现实世界事物 是非常合适的
2.类和对象的关系是什么?
类是程序中的设计图纸
对象是基于图纸生产的具体实体
3.什么是面向对象编程?
面向对象编程就是 使用对象进行编程
设计类 使用类创建对象 并使用对象来完成具体的工作
4 构造方法
使用构造方法向成员变量赋值
思考: Student()
这个括号能否像函数那样通过传惨的形式对属性赋值?
--可以 使用构造方法 :
__init__()
python类使用:
__init__() 方法 称之为构造方法
可以实现:
在创建类对象(构造类)的时候 会自动执行
在创建类对象(构造类)的时候,将传入参数自动传递给__init__() 方法使用