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

免费建立自己的网站代码网站建设 工具

免费建立自己的网站代码,网站建设 工具,天津建设局网站,厦门蓝典网站建设类与对象的理解#xff1a; 在程序中我们将类看作是设计图纸#xff0c;对象则是根据这个图纸生产的产品。面向对象编程就是使用对象编程#xff0c;在类中我们定义成员属性和方法。 来看下面这个例子#xff0c;创建student类#xff0c;定义对象并对属性赋值。 class S…  类与对象的理解 在程序中我们将类看作是设计图纸对象则是根据这个图纸生产的产品。面向对象编程就是使用对象编程在类中我们定义成员属性和方法。 来看下面这个例子创建student类定义对象并对属性赋值。 class Student:nameNoneageNonedef say_hai1(self):print(f大家好我是{self.name})def say_hai2(self,msg):print(f大家好我是{self.name},{msg})stu_1Student() stu_1.name张三 stu_1.say_hai1()stu_2Student() stu_2.name王五 stu_2.say_hai2(请多多关照) 构造方法 语法__init__构造方法创建对象时参数自动传递给__init__使用注意构造方法也要使用self。 在__init__方法里自动声明前面可以不用先声明。 如下代码 class Student:nameNone # 可省略ageNone # 可省略def __init__(self,name,age):self.namenameself.ageageprint(构造函数执行完毕)stuStudent(iyizuohz,20) print(stu.name)运行结果 构造方法的练习 使用构造方法循环输入三个学生的姓名年龄地址使输出结果如下最后打印全部学生的信息。 思路  在类中定义两个方法一个用于循环输入学生信息一个用来打印全部学生的信息学生的信息通过列表来存储其中学生的姓名等信息是字典的键值对形式。 代码 class Student:def __init__(self):self.students [] # 建立一个空列表用于存储学生信息for i in range(3):print(f当前录入第{i1}个学生的信息,总共需要录入3个学生的信息)name input(请输入学生姓名:)age input(请输入学生年龄:)address input(请输入学生地址:)# 将学生信息以字典的形式存储到列表中self.students.append({name: name, age: age, address: address}) # 存储学生信息print(f学生{i1}的信息录入成功信息为【学生姓名{name}年龄{age}地址{address}】)def print_students(self):print(所有学生的信息如下)for student in self.students:print(f姓名{student[name]}, 年龄{student[age]}, 地址{student[address]})s Student() s.print_students() # 打印所有学生的信息以下代码是常见的错误写法 有以下几个错误原因 1、属性引用错误在 self.students.append 的字典中应该访问 name、age 和 address 变量而不是 self.name、self.age 和 self.address因为这些变量仅在 for 循环的局部作用域中定义并没有将它们作为类的属性进行存储。 2、函数参数不需要写除了self以外的函数传递参数。 class Studet:def __init__(self, name, age, grade):self.name nameself.age agestudent1 Studet(John, 18, 12) print(student1) print(str(student1)) 魔术方法 魔术方法Magic Methods是Python中的特殊方法以双下划线开头和结尾用于在类中定义特殊行为和操作。这些方法可以被Python解释器直接调用而不需要显式地调用。 以下是一些常见的魔术方法及其功能 __init__(self, ...): 初始化方法用于创建对象实例时进行初始化操作。 __str__(self): 返回对象的字符串表示形式可以通过内置函数str()或print()调用。 __repr__(self): 返回对象的可打印字符串表示形式可以通过内置函数repr()调用。 __len__(self): 返回对象的长度可以通过内置函数len()调用。 这些魔术方法可以帮助我们定制类的行为并在特定情况下自动调用相应的方法。 class Studet:def __init__(self, name, age, grade):self.name nameself.age ageself.grade gradedef __str__(self):return fStudent类对象name{self.name}, age{self.age}, grade{self.grade}student1 Studet(John, 18, 12) print(student1)封装 现实生活中的属性和行为对应类中的成员方法和成员变量。但这些属性和行为并不全对用户开放如一部手机的运行电压驱动信息并不能让用用户来操作所以我们需要提供私有成员的形式来支持。 例如以下代码定义了一个名为Person的类其中包含了一个私有属性和一个私有方法 class Person:def __init__(self, name, age):self.__name nameself.__age agedef __display(self):print(Name: {}, Age: {}.format(self.__name, self.__age)) 注意类中内部的成员可以访问私有  。 练习 打电话时用户不用检查5G状态而由程序内部检查但需要告诉用户当前是否在使用5G通话。 即将检查5G的函数定义为私有将打电话的函数定义为公有。 class Phone:__is_5g_enabled Falsedef __check_5g(self):if self.__is_5g_enabled:print(5G开启)return Trueelse:print(5G关闭使用4G网络)return Falsedef call_by_5g(self):if self.__check_5g():print(正在使用5G网络通话)else:print(正在使用4G网络通话)phone Phone() phone.call_by_5g() 继承 单继承 看以下例子其中 Phone 是一个基础类提供了通过4G拨打电话的方法。NewPhone 是 Phone 的子类新增了一个通过5G拨打电话的方法在newPhone中依旧可以调用4G拨打电话的方法。 # 单继承 class Phone:IMEINoneproducerNonedef call_by_4G(self):print(Calling by 4G)class NewPhone(Phone):face_id10002def call_by_5G(self):print(Calling by 5G)p1NewPhone() p1.call_by_4G() p1.call_by_5G() 多继承 多继承对于父类同名的成员优先级从左至右。 class Phone:IMEINoneproducerUSAdef call_by_4G(self):print(Calling by 4G)class NFCReader:nfc_idNoneproducer CHINAdef read_nfc_id(self):print(Reading NFC ID)def write_nfc_id(self):print(Writing NFC ID)class XiaomiPhone(Phone,NFCReader):# 不再创建新的功能使用pass语句pass # 空语句表示不实现任何功能phone XiaomiPhone() phone.call_by_4G() print(phone.producer) # USA复写: 如果子类对父类的属性或方法不满意可以进行重写直接修改即可。 class Phone:IMEINoneproducerUSAdef call_by_4G(self):print(Calling by 4G)class NFCReader:nfc_idNoneproducer CHINAdef read_nfc_id(self):print(Reading NFC ID)def write_nfc_id(self):print(Writing NFC ID)class XiaomiPhone(Phone,NFCReader):producer ENGLANDdef call_by_4G(self):print(cutting electricity to call)print(Calling by 4G)phone XiaomiPhone() phone.call_by_4G() print(phone.producer) # USA# 如果使用如果还想继续使用父类的成员有两种方式直接通过父类名调用或者通过super()调用 代码演示 class Phone:IMEINoneproducerUSAdef call_by_4G(self):print(Calling by 4G)class XiaomiPhone(Phone):def call_by_4G(self):print(cutting electricity to call)# 调用父类的成员和方法#法一直接通过父类名调用print(f调用父类{Phone.producer})Phone.call_by_4G(self)# 传入self#法二通过super()调用print(f调用父类{super().producer})super().call_by_4G() # 不用传入selfphone XiaomiPhone() phone.call_by_4G()# 如果使用
http://www.hkea.cn/news/14348919/

相关文章:

  • 金钟街网站建设哪家好微信小程序电脑端打开
  • 网站做m版山西笑傲网站建设
  • 现在都有什么网站工作室金华大奇网站建设
  • 网站后台需求无锡网站制作建设
  • 你需要网站建设专门做家教的网站
  • 虚拟主机销售网站少女前线9a高性能芯片
  • 北京做兼职从哪个网站河南省建设监理协会网站
  • 藁城专业网站建设甘肃兰州地震最新消息
  • 上海网站推广平台高职学院网站建设方案
  • 重庆网站租赁空间昆明移动网站建设
  • 怎么查网站备案信息北京社保网站做社保增减员
  • 建设局网站安徽本地的天津网站建设
  • 网站服务器搭建及配置的具体步骤石家庄电商网站开发
  • 如何使用二级域名做网站四川盼之网络科技官网
  • 做彩票网站代理综合门户型网站有哪些
  • 手机网站建设多少钱一个网站建设的展望 视频
  • 人是用什么做的视频网站指数函数公式
  • 悦阁网站建设去除wordpress活动及新闻
  • 鹿城做网站jsp网站开发的环境配置
  • 十年前网站开发语言wordpress自定义文章添加标签
  • 在线生成个人网站源码查询企业年报的网站
  • 网站改版收费网站建设公司伟置
  • 手机网站做分享到朋友圈天津市建设交易中心网站
  • 建设银行投诉网站首页北京建设主管部门官方网站
  • 山东锦华建设集团有限公司网站男和男人怎么做那个视频网站
  • win7搭建网站服务器php钓鱼网站怎么做视频教程
  • 网站懒加载怎么做苏州建设监督网站
  • 黄岛开发区做网站网络公司网站服务器基本要素有哪些
  • 网站和系统的区别南阳网站seo公司
  • 高端大气的网站制作如何给网站配色