当前位置: 首页 > news >正文

php网站建设流程网站域名好了下一步

php网站建设流程,网站域名好了下一步,外包公司的招聘专员好干吗,自己做衣服网站面向对象 1.初识对象1.1理解使用对象完成数据组织的思路 2.成员方法2.1类的定义和使用语法2.2成员方法的使用 3.类和对象4.构造方法4.1使用构造方法向成员变量赋值 5.其他内置方法5.1__str__字符串方法5.2__lt__小于符号比较方法5.3__le__小于等于比较符号5.4__eq__比较运算符实… 面向对象 1.初识对象1.1理解使用对象完成数据组织的思路 2.成员方法2.1类的定义和使用语法2.2成员方法的使用 3.类和对象4.构造方法4.1使用构造方法向成员变量赋值 5.其他内置方法5.1__str__字符串方法5.2__lt__小于符号比较方法5.3__le__小于等于比较符号5.4__eq__比较运算符实现方法 6.封装6.1封装的概念6.2私有成员的使用 7.继承7.1继承的概念7.2复写和使用父类成员 8.类型注解8.1变量的类型注解8.2函数(方法)的类型注解8.3 Union类型 9.多态 1.初识对象 1.1理解使用对象完成数据组织的思路 思考 学校开学要求学生填写自己的基础信息一人发一张白纸让学生填写 改为使用登记表打印出来让学生自行填写 在程序中简单使用变量来记录学生信息 使用变量记录数据太乱了。 如果程序中也和生活中一样 可以设计表格可以将设计的表格打印出来可以将打印好的表格供人填写内容 那么数据的组织就非常方便了。 使用对象组织数据 在程序中可以做到和生活中那这样设计表格生产表格和填写表格的组织形式的 1.在程序中设计表格我们称之为设计类(class) class Studen:name None #记录学生姓名2.在程序中打印生产表格我们称之为:创建对象 # 基于类创建对象 stu1 Student() stu2 Student()3.在程序中填写表格我们称之为:对象属性赋值 stu_1.name 周杰轮 # 为学生1对象赋予名称属性值 stu_2.name 林军杰 # 为学生2对象赋予名称属性值2.成员方法 2.1类的定义和使用语法 class 类名称 class是关键字表示要定义类了 类的属性 类的属性即定义在类中的变量成员变量 类的行为 类的行为即定义在类中的函数成员方法 创建类对象的语法 对象 类名称() class Student:name None # 学生的姓名age None # 学生的年龄def say_hi(self):print(fHi大家好我是{self.name}) stu Student() stu.name 周杰轮 stu.say_hi() # 输出: Hi大家好我是周杰轮从上述代码中可以得出 不仅可以定义属性来记录数据也可以定义函数用来记录行为类中定义的属性变量我们称之为成员变量类中定义的行为函数我们称之为成员方法 定义在类内部的函数称之为方法 2.2成员方法的使用 在类中定义成员方法和定义函数基本一致但仍有细微的区别 def 方法名(self,形参1 ....形参N):方法体可以得出在方法定义的参数列表中有一个:self关键字self关键字是成员方法定义的时候必须填写的。 它用来表示类对象自身的意思当我们使用类对象调用方法的是self会自动被Python传入在方法内部想要访问类的成员变量必须使用self 注意事项 self关键字尽管在参数列表中但是传参的时候可以忽略它 class Student:name Nonedef say_hi(self):print(fHello,大家好)def say_hi2(self,msg):print(f大家好!{msg}) stu Student() stu.say_hi() # 调用的时候无需传参 stu.say_hi2(很高兴认识大家) # 调用的时候需要传msg参数在传入参数的时候self是透明的可以不用理会他。 3.类和对象 现实世界的事务和类 类和对象描述现实事务 程序中通过类来描述 基于类创建对象 4.构造方法 4.1使用构造方法向成员变量赋值 class Student:name None # 名称age None # 年龄tel None # 手机号 stu1 Student() stu1.name 周杰轮 stu1.age 31 stu1.tel 18012340000stu2 Student() stu2.name 周杰轮 stu2.age 31 stu2.tel 18012340000思考 上述代码中为对象的属性赋值需要依次进行略显繁琐。 有没有更加高的方式一行代码完成 这个括号能否像函数(方法)那样通过传参的形式对属性赋值 使用构造方法: __init__() 在创建类对象构造类的时候会自动执行在创建类对象构造类的时候将传入参数自动传递给__init__方法使用 class Student:name None # 可以省略age None # 可以省略tel None # 可以省略def __init__(self,name,age,tel)self.name nameself.age ageself.tel telprint(Student类创建了一个对象) stu Student(周杰轮,31,18500000000)构造方法注意事项 构造方法名称init_千万不要忘记init前后有两个下划线构造方法也是成员方法不要忘记在参数列表中提供:self在构造方法内定义成员变量需要使用self关键字 这是因为变量是定义在构造方法内部如果要成为成员变量需要用self来表示 练习 class Student:# 构造方法def __init__(self):self.name input(请输入学生姓名)self.age int(input(请输入学生年龄))self.address input(请输入学生地址)for i in range(1, 11):print(f当前录入第{i}位学习信息总共需录入10位学习信息)stu Student()print(f学生{i}信息录入完成信息为【学生姓名{stu.name}, 年龄{stu.age}, 地址{stu.address})5.其他内置方法 5.1__str__字符串方法 class Student:def __init__(self,name,age):self.name nameself.age age stu Student(周杰伦,25) print(stu) print(str(stu)) # 输出 __main__.Student object at 0x000001E952802150 __main__.Student object at 0x000001E952802150当类对象需要被转换为字符串时会输出如上结果(内存地址) 内存地址没多大用我们可以通过__str__方法控制类转换为字符串的行为。 class Student:def __init__(self,name,age):self.name nameself.age agedef __str__(self):return fStudent类对象name{self.name},age{self.age}stu Student(周杰伦,25) print(stu) print(str(stu)) # 输出 Student类对象name周杰伦,age25 Student类对象name周杰伦,age255.2__lt__小于符号比较方法 class Student:def __init__(self,name,age):self.name nameself.age age stu1 Student(周杰伦,25) stu2 Student(林俊杰,30) print(stu1 stu2)直接两个对象比较是不可以的但是在类中实现__lt__方法即可同时完成小于符号和大于符号 两种比较 class Student:def __init__(self,name,age):self.name nameself.age agedef __lt__(self, other):return self.age other.age stu1 Student(周杰伦,25) stu2 Student(林俊杰,30) print(stu1 stu2) # 返回值 True或者False5.3__le__小于等于比较符号 class Student:def __init__(self,name,age):self.name nameself.age agedef __le__(self, other):return self.age other.age stu1 Student(周杰伦,25) stu2 Student(林俊杰,30) print(stu1 stu2) # 结果 True print(stu1 stu2) # 结果 False5.4__eq__比较运算符实现方法 class Student:def __init__(self,name,age):self.name nameself.age agedef __eq__(self, other):return self.age other.age stu1 Student(周杰伦,25) stu2 Student(林俊杰,30) print(stu1 stu2)不实现__eq__方法对象之间可以比较但是是比较内存地址也即是不同对象比较一定是False结果实现了__eq__方法就可以按照自己的想法来决定2个对象是否相等了 6.封装 6.1封装的概念 封装表示的是将现实世界事物的 属性行为 封装到类中描述为 成员变量成员方法 从而完成程序对现实世界事物的描述 6.2私有成员的使用 私有成员的语法 私有成员的变量变量名以__开头2个下划线私有成员的方法方法名以__开头2个下划线 class Phone:IMEI None # 序列号producer None # 厂商__current_voltage 0.5 # 当前电压 私有成员变量def call_by_5g(self):print(5g通话已开启)def __keep_single_core(self): # 私有成员方法print(让cpu以单核模式运行以节省电量) phone Phone() phone.call_by_5g()注意事项 私有方法无法直接被类对象使用私有变量无法赋值也无法获取值 使用私有成员 私有成员无法被类对象使用但是可以被其他的成员使用 class Phone:IMEI None # 序列号producer None # 厂商__current_voltage 1 # 当前电压 私有成员变量def call_by_5g(self):if self.__current_voltage 1:self.__keep_single_core()print(5g通话已开启)def __keep_single_core(self): # 私有成员方法print(让cpu以单核模式运行以节省电量) phone Phone() phone.call_by_5g() # 输出 让cpu以单核模式运行以节省电量 5g通话已开启练习 class Phone:__is_5g_enable False # True表示5g开启False表示5g关闭def __check_5g(self):if self.__is_5g_enable True:print(5g开启)else:print(5g关闭使用4g网络)def call_by_5g(self):self.__check_5g()print(正在通话中) phone Phone() phone.call_by_5g() # 输出 5g关闭使用4g网络 正在通话中7.继承 7.1继承的概念 思考 如果你是设计师你会如何选择 1.每一代新款手机都从零开始设计 2.基于老款的设计修修改改 设计新手机基于老款的基础上进行修改 class Phone:IMEI Noneproducer ITCASTdef call_by_4g(self):print(4g通话)class Phone2024(Phone):face_id 10001def call_by_5G(self):print(2024新功能5g通话)单继承 语法 class 类名(父类名)类内容体多继承 语法 class 类名(父类1父类2...父类3)类内容体class Phone:IMEI Noneproducer ITCASTdef call_by_4g(self):print(4g通话) class NFCReader:nfc_type 第五代producer HMdef read_card(self):print(NFC读卡)def write_card(self):print(NFC写卡) class RemoteControl:rc_type 红外遥控def control(self):print(红外) class Myphone(Phone,NFCReader,RemoteControl):passphone Myphone() print(phone.producer) phone.call_by_4g() phone.read_card() # 输出 ITCAST 4g通话 NFC读卡 父类的品牌是ITCAST 父类的5g通话 ITCAST7.2复写和使用父类成员 复写 子类继承父类成员属性和成员方法如果对其“不满意”那么可以进行复写。 即在子类重新定义同名的属性或方法即可。 class Phone:IMEI Noneproducer ITCASTdef call_by_5g(self):print(父类的5g通话) class Myphone(Phone):producer HMdef call_by_5g(self):print(子类的5g通话)phone Myphone() print(phone.producer) phone.call_by_5g() # 输出 HM 子类的5g通话调用父类成员 class Phone:IMEI Noneproducer ITCASTdef call_by_5g(self):print(父类的5g通话) class Myphone(Phone):producer HMdef call_by_5g(self):# 方式1 调用父成员print(f父类的品牌是{Phone.producer})Phone.call_by_5g(self)# 方式2 调用父类成员print(f父类的品牌是{super().producer})super().call_by_5g()print(子类的5g通话)注意事项 方式1调用父类成员 使用成员变量父类名.成员变量使用成员方法父类名.成员方法(self) 方式2调用父类成员 使用成员变量super().成员变量使用成员方法super().成员方法() 8.类型注解 8.1变量的类型注解 主要功能 帮助第三方IDE工具如PyCharm对代码进行类型推断协助做代码提示帮助开发者自身对变量进行类型注释 支持 变量的类型注解函数方法形参列表和返回值的类型注解 方法1 # 基础容器类型注解 my_list :list [1,2,3] my_tuple: tuple (1,2,3) mu_dict: dict {itheima:666} # 容器类型详细注解 my_list: list[int] [1,2,3] my_tuple: tuple[int,str,bool] (1,itheima,True) my_dict: dict[str,int] {itheima:666} # 类对象类型注解 class Student:pass stu: Student Student()方法2 # 在注释中进行类型注解 var_1 random.randint(1,10) # type: int var_2 json.loads({name:zhangsan}) # type: dict[str,str] def func():return 10 var_3 func() # type: int 注意类型注解只是提示性的并非决定性的。数据类型和注解类型无法对应也不会导致错误 8.2函数(方法)的类型注解 形参注解 def add(x:int,y:int):return x y add()返回值注解 def func(data: list) - list:return data print(func())8.3 Union类型 from typing import Union my_list: list [Union[int,str]] [1,2,heima] def func(data: Union[int,str]) -Union[int,str]:pass9.多态 多态指的是多种状态。完成某个行为是使用不同的对象会得到不同的状态。 多态常作用在继承关系上. 比如 函数(方法)形参声明接收父类对象实际传入父类的子类对象进行工作 即: 以父类做定义声明以子类做实际工作用以获得同一行为, 不同状态 抽象类(接口) 举例 class AC:def cool_wind(self):制冷passdef hot_wind(self):制热passdef wring_l_r(self):左右摆风pass class Midea_AC(AC):def cool_wind(self):print(美的空调核心制冷科技)def hot_wind(self):print(美的空调电热丝加热)def wring_l_r(self):print(美的空调无风感左右摆风) class GREE_AC(AC):def cool_wind(self):print(格力空调变频省电制冷)def hot_wind(self):print(格力空调电热丝加热)def wring_l_r(self):print(格力空调静音左右摆风)def make_cool(ac:AC):ac.cool_wind()midea Midea_AC() gree GREE_AC()make_cool(midea) make_cool(gree)# 输出 美的空调核心制冷科技 格力空调变频省电制冷
http://www.zqtcl.cn/news/941221/

相关文章:

  • 网站建设工作室图片文章资讯类网站
  • 深圳自助建站系统网站题目有哪些
  • 郑州做网站kuihuakeji软文发布的平台与板块
  • 一那个网站可以做一建题安全文化企业示范企业评价标准
  • 网站没有关键词收录phpstudy配置网站
  • 返利网站怎么做的做网站推广见客户的话术
  • 两个人看的视频在线观看成都网站seo厂家
  • 做汽车配件出口用什么网站好些微信朋友圈营销技巧
  • 怎样建设传奇网站空间什么做电子书下载网站
  • 自己怎么做dj 视频网站网站模板制作教程视频
  • 苏州瑞熙网站建设签名图片在线制作
  • 重庆建站模板大全给公司创建网站
  • king cms网站建设上海传媒公司有哪些
  • 优时代网站建设网站建设哪家公司最好
  • 做网站有多难平面设计学徒要学多久
  • 包装网站模板做西式快餐店网站
  • 泉州制作网站软件九歌人工智能诗歌写作网站
  • wordpress安装时失败网站后台seo设置
  • 顺企网吉安网站建设网站设计师岗位职责
  • 佛山市品牌网站建设价格网站设计模板免费
  • 澧县网站建设常用的oa系统办公软件
  • 江门网站推广哪里专业网站显示百度地图
  • 上海微网站网站的营销推广方案及预算
  • 灌南住房建设局网站南京网站开发南京乐识好
  • 万网网站建设步骤公司建设网站能提升什么竞争力
  • 门户网站 页面集成防内涵吧网站源码
  • 二手房发布网站怎么做有哪个网站有免费视频素材
  • 张浦专业做网站纯html5网站
  • qq互联 网站开发北京博洛尼装饰公司
  • 企业网站模板建站广州红盾信息门户网站