面向对象
类:对象共有的特征,抽象描述。
对象:具体存在。
class 类名(首字母大写):
属性
方法(功能/行为)
init:初始化函数(java中叫做构造函数),实例化对象的同时,会自动调用
def__init__(self,参数):
self.属性 = 值(可以是函数传进来的参数/其他的函数调用...)
self.属性 = 值 # 给对象添加一个属性并赋值
方法详解:定义实现对象的方法
# 就是函数,对象是谁,self就是谁
def 方法名(self,参数):
# 在函数内部,是可以通过self.属性/方法,来使用对象的其他属性/方法
在函数内部,是可以通过self.属性/方法,来修改对象的其他属性
pass(占位)
对象详解:实例化类,创建对象
(1)、创建对象的方法:
对象名 = 类名(参数) # __init__函数有参数就传参数,没有就不传
(2)、可以创建多个对象
(3)、每个对象都是独立的,每个对象都拥有类里的所有方法
(4)、每个对象的属性、方法调用:
对象名.方法()
对象名.属性
"""
# 举例:
"""
class Person: # 类
name = "小简" # 类(共有的)属性,必须取值
def set_info(self,name,sex,city,age):
self.my_name = name # 给对象添加属性并赋值,
self.my_sex = sex # 给任何一个对象添加了属性,只要对象调用了方法就有了
self.my_city = city
self.my_age = age
# 定义的时候对象还没有生成,用self代指所有的对象
# 实例化的时候,对象是谁,self就是谁
def eat(self, food): # 功能
print("我喜欢喜欢吃{}".format(food))
def study(self):
pass
def cooking(self):
pass
def find_another_friend(self):
pass
def play(self):
pass
# 实例化类:创建对应的对象
# 对象名 = 类名()
ran = Person()
# 对象调用他的方法的方式:对象名.方法名()
ran.eat("ice cream") # 每个对象都可以分别调用以上所有的方法;实例化的时候,对象是谁,self就指的是谁
kevin = Person()
kevin.eat("hamburger") # 对象之间互相独立,没有关联,不可以互相调用
# 对象就是从类延伸出来的,凡是类里面定义的,都可以调用
"""
# __init__ 方法:
# 用法:在创建对象的同时,自动调用(不创建对象,则不起作用),做初始化的工作
class Person:
def __init__(self,name,sex,city,age=18): # 方法有什么参数,实例化的时候就要传对应的参数(有几个参数传几个参数)
self.my_name = name
self.my_sex = sex
self.my_city = city
self.my_age = age
# 定义的时候对象还没有生成,用self代指所有的对象
# 实例化的时候,对象是谁,self就是谁
def eat(self, food): # 功能
print("我喜欢吃{}".format(food))
def study(self):
pass
def cooking(self):
pass
def find_another_friend(self):
pass
def play(self):
pass
ran = Person("lili","女","中国") # 是否传参取决于init,init有参数就传,无则不传
ran.eat("ice cream")
print(ran.my_name)