个人成立公司怎么做企业网站,做网站备案 空间是什么意思,做财务还是网站运营,合肥网站的建设一、类之初印象 1、类就是空表格#xff0c;将变量#xff08;列名#xff09;和函数#xff08;行为#xff09;结合起来 
2、创建对象#xff0c;表达具体行 
3、创建类就是创建数据的模板 --操作数据时有提示 --还能再组合数据的行为 --结构更加清晰 
4、类的内存分配…一、类之初印象 1、类就是空表格将变量列名和函数行为结合起来 
2、创建对象表达具体行 
3、创建类就是创建数据的模板 --操作数据时有提示 --还能再组合数据的行为 --结构更加清晰 
4、类的内存分配 5、练习 
参照day08/homework/exercise01创建餐厅类-- 变量:字典的键-- 函数:打印# 类统一了字典所有key,并提供了相关函数
class Restaurant:def __init__(self, city, name, remark0, money0):self.city  cityself.name  nameself.remark  remarkself.money  moneydef display(self):print(%s在%s地区,点评人数%s,人均消费%s元. % (self.name, self.city, self.remark, self.money))# 创建对象
# --(1)根据实例变量开辟空间
# --(2)执行__init__函数
xqwct  Restaurant(北京, 星期五餐厅, 2847, 180)
tmz  Restaurant(北京,铁木真,3497,104)
print(xqwct.remark)
# 通过对象调用函数,自动将对象作为参数传递给self
xqwct.display() # display(xqwct)
tmz.display()二、类语法 
1类定义 
1、代码 class 类名:文档说明def __init__(self,参数):self.实例变量  参数def 实例方法(self,参数):pass 2、说明 -- 类名所有单词首字母大写 -- init 也叫构造函数创建对象时被自动调用也可以省略。  -- self 变量绑定的是被创建的对象名称可以随意 self就是对象 。 3、实例化 代码对象名    类名 ( 数据 ) 说明            -- 对象名存储的是实例化后的对象地址             -- 类名后面的参数按照构造函数的形参传递__init__函数   2实例成员 1、实例变量  定义对象 . 变量名(self.变量名)    调用对象 . 变量名     说明  通常在构造函数 (__init_) 中创建首次通过对象赋值为创建再次赋值为修改.                  每个对象存储一份通过对象地址访问    __dict__ 对象的属性用于存储自身实例变量的字典。    2、实例方法 def 方法名(self,参数): 方法体(通过“self.变量名访问实例变量) 
调用对象名.方法名(变量 说明至少有一个形参第一个参数绑定调用这个方法的对象 , 一般命名为self。  无论创建多少对象方法只有一份并且被所有对象共享。    # 类中self就是对象名
# 类外自己命名的为对象名
class Epidemic:def __init__(self, region):# 创建实例变量self.region  regionself.display()# 定义实例方法def display(self):print(self.region)bj  Epidemic(北京)
bj.display()# 读取实例变量
print(bj.region)
# python语言将实例变量存入字典
print(bj.__dict__)  # {region: 北京}# Python支持在类外创建实例变量不建议使用class Epidemic:pass
sh  Epidemic()
sh.region  上海 # 当前对象有此实例其他对象无
print(sh.region)
dd  Epidemic()
# print(dd.region) 错误
# 建议在__init__ 中定义实例变量class Epidemic:def set_name(a, name):  # self 可以为任意命名为其他# 创建实例变量a.name  name
bj  Epidemic()
bj.set_name(北京)
print(bj.name)
print(bj)  # 打印自定义对象输出为真实内存地址3、类实例化内存分配       3跨类调用  跨类调用语法1直接创建对象 语义XX每次去东北都开一辆新车因为Car()为局部变量 通俗每次用新的 class Person:def __init__(self, name):self.name  namedef driver(self):print(self.name,驾驶去东北)car  Car()car.run()class Car:def run(self):print(骑车在行驶)lz  Person(老张)
ll  Person(老李)
lw  Person(老王)lz.driver()  # 老张驾驶新车去东北
ll.driver()  # 老李驾驶新车去东北
lw.driver()  # 老王驾驶新车去东北
lz.driver()  # 老张驾驶新车去东北 跨类调用语法2在构造函数中创建对象 语义XX每次去东北都开自己的车__init__只执行一次 通俗每次用旧的 class Person:def __init__(self, name):self.name  nameself.car  Car() # 每个对象一个def driver(self):print(self.name,驾驶去东北)# car  Car() # 多次就是多个self.car.run()class Car:def run(self):print(骑车在行驶)lz  Person(老张)  # __init__ 造车只有一次
lz.driver()
lz.driver() 跨类调用语法3通过参数传递对象建议使用 语义XX每次去东北都乘交通工具 通俗每次用的时候再选择 class Person:def __init__(self, name):self.name  namedef driver(self,vehicle):print(self.name,驾驶去东北)vehicle.run()class Car:def run(self):print(骑车在行驶)lz  Person(老张)  # __init__ 造车只有一次
car  Car()
# 没有定义类时确定关系
# 而是在用类时确定关系
lz.driver(car)