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

网站站长seo推广合肥手机网站制作建设

网站站长seo推广,合肥手机网站制作建设,传统营销和网络营销的区别,电子商务网站建设与管理的感受最近准备HCIE的考试#xff0c;用空余时间高强度学习python 介绍了Python中面向对象编程的基本概念#xff0c;包括类、类的属性、类的方法、类的方法中实例方法、类方法、静态方法#xff0c;在类与对象中动态添加属性和方法#xff0c;以及继承、类变量、多态等概念 类…最近准备HCIE的考试用空余时间高强度学习python 介绍了Python中面向对象编程的基本概念包括类、类的属性、类的方法、类的方法中实例方法、类方法、静态方法在类与对象中动态添加属性和方法以及继承、类变量、多态等概念 类类对象为了做区分而创建的一些特性的群体 子类通过继承创建为了在类下做更清晰的区分 对象建立在类的基础上在某一类或子类下的个体 实例约等于对象xx对象是xx类的实例化 在python中一切都是对象凡是对象都是某个类的实例 使用面向对象编程在做好细分之后能够更快实现功能更容易维护 类越细分对象就越精细 类1 → 对象1对象2 ↓ 子类1 → 对象1对象2 子类2... 子类3... 面向对象有三大特征封装、继承、多态 类、类的属性、类的方法 #创建类————使用class关键字 #class 类名() 括号代表要继承在规范上类名的首字母要大写 class Ws:pass class Xhy:pass#创建对象——根据类创建一个属于这个类的对象 v1 Ws() #v1是由Ws这个类实例化生成的对象v1这个对象是Ws类的实例 v2 Ws() v3 Ws()#类————管理员、用户 #类的属性————是类里的变量。反映该类对象的信息例如账号、密码、名字等 #类的方法————是类里的函数。反映该类对象能做的事例如账号权限、添加用户、修改密码等是一种方法比如list.append是自己定义的函数#添加类的属性一般都是类的可变属性 #添加一个不变的属性 class User_info: #通过__init__构造方法def __init__(self): #self代表要被实例化的对象self.username ws #为其赋值self.age 24self.password ws111 user1 User_info() print(user1.password) #ws111 #添加类的可变属性这样可以适用更多user class User_info:def __init__(self,username,age,password):self.username usernameself.age ageself.password passworduser1 User_info(ws,24,ws111) user2 User_info(xhy,23,xhy111) print(user1.username) print(user2.password) #ws #xhy111#添加类的方法在创建了对象之后就可以直接使用类的方法 class User_info:def __init__(self,name,password,age):self.name nameself.password passwordself.age agedef show(self):print(self.name, self.password)def show_age(self):print(self.age) user1 User_info(ws,ws111,age24) user1.show() #ws ws111 user1.show_age() #24 #在方法中定义的类的属性可以在全局进行调用 class User_info:def __init__(self,name):self.name namedef show_age(self):self.age 24 ####在方法中定义类的属性print(self.age) user1.show_age() #24实例方法、类方法、静态方法 #实例方法————首个参数为self的方法绑定给该类的实例调用类本身不能调用 class User_info:def __init__(self,name):self.name namedef show(self):pass user1 User_info(ws) #在实例方法中必须要创建一个实例才能使用类中的方法 user1.show() #无法用类来直接调用像User_info.show这样的用法#类方法————首个参数为cls并且以classmethod装饰的方法 #可以直接使用类来调用如User_info.show但无法调用类的参数 class User_info:def __init__(self,name):self.name nameclassmethoddef show(cls):print(ws)classmethoddef show_name(cls):print(self.name) User_info.show() #ws User_info.show_name() #报错无法调用类的参数 #如果需要则需要额外在类方法中传入参数 class User_info:def __init__(self, name, age):self.name nameself.age ageclassmethod #类方法的装饰器def show_name(cls, age):print(age) User_info.show_name(24) #24#静态方法————不需要cls或self使用staticmethod装饰可以直接调用但无法使用类的属性 class User_info:def __init__(self, name):self.name namestaticmethoddef show_name(): #需要传参则定义形参print(11111) User_info.show_name() #11111面向对象的动态特性 动态添加属性、修改属性 #动态的添加对象和类的属性 # 添加到对象只会影响对象本身而为类添加的属性会应用给所有对象 class User_info:def __init__(self, name):self.name nameself.username ws #添加一个固定的类的属性值 if __name__ __main__:user1 User_info(ws) #创建了一个实例/对象user1user1.age 24 #age这个属性只属于user1这个对象中而不属于User_info的类print(user1.age)#24user1.age 25 #动态修改对象的属性值print(user1.age)# 25User_info.password ws111 #为类添加属性如果没有会添加到user1中且值是可修改print(user1.password)#ws111User_info.password xhy111 #为类添加属性如果原本有值就会修改print(user1.password)#xhy111User_info.username xhy #无法动态修改类中原本就有的属性值实例化后的对象继承了类的值不会变化print(user1.username)#ws动态添加方法 添加实例方法、添加类方法、添加静态方法 #添加实例方法————只能单独为对象添加不能为类添加 import types #导入types模块 class User_info:pass def show(self): #准备一个实例方法print(111) if __name__ __main__:user1 User_info() #实例化一个对象#目标实例的方法 types.MethodType(待添加函数名,目标函数名user1.show types.MethodType(show,user1)user1.show()#111#添加类方法———只能为类添加 class User_info:pass classmethod def show(cls):print(111) if __name__ __main__:User_info.show show #直接赋值就行不要调用User_info.show()#111#添加静态方法————只能为类添加 class User_info:pass staticmethod def show():print(111) if __name__ __main__:User_info.show showUser_info.show()#111继承 子类继承父类之后可以直接使用父类定义好的属性和方法 #最简单的继承性质说明 class User():def __init__(self,name):self.name namedef show(self):print(111) #class 子类名父类名 class U001(User):def age(self): #可以在子类里定义新的方法只属于这个子类可用的print(123)def show(self): #可以在子类里重写父类的方法会盖掉父类的方法print(222) if __name__ __main__:user1 U001(ws)user1.show()#222#super函数————调用父类的 方法#继承父类方法————可以在子类的方法中调用父类的任意方法 class User:def __init__(self):self.age 24def show(self,name):print(f{self.age}岁,{name},是学生) #调用age class U01(User):def __init__(self):self.age 26def show2(self):print(222) #多加一行显示区别super().show(ws) #调用了父类中的方法show并且原函数需要传参所以这里也传参 if __name__ __main__:user1 U01()user1.show2() #调用的类的属性26岁是本类的属性而不是父类的属性24岁#222#26岁,ws,是学生#继承父类属性————分多种情况 1、全部保留属性不新增 2、全部替换只用自己的 3、保留部分属性不新增 4、保留部分属性有新增#全部保留属性不新增 class User_info:def __init__(self, username, password, email):self.username usernameself.password passwordself.email email class User(User_info):pass #最简单直接什么都不用动不重写则全部保留if __name__ __main__:user1 User(ws,ws111,1320)print(user1.username)#ws#全部替换只用自己的 class User_info:def __init__(self, username, password, email):self.username usernameself.password passwordself.email email class User(User_info): def __init__(self,age,job): #重写构造函数self.age ageself.job jobif __name__ __main__:user1 User(ws,ws111)print(user1.age)#wsprint(user1.username)# 报错#保留部分属性不新增 class User_info:def __init__(self, username, password, email):self.username usernameself.password passwordself.email email class User(User_info):def __init__(self,username,password):# 使用super,重跑一遍父类构造函数的形参并且只赋值自己要的不要的空着super().__init__(usernameusername,passwordpassword,emailNone)#这样就只传了name和password两个属性 if __name__ __main__:user1 User(ws,ws111)print(user1.username)#ws#保留部分属性有新增 class User_info:def __init__(self, username, password, email):self.username usernameself.password passwordself.email email class User(User_info):def __init__(self,username,password,job):self.job job #新增一个job属性super().__init__(usernameusername,passwordpassword,emailNone) if __name__ __main__:user1 User(ws,ws111,student)print(user1.username,user1.job)#ws student类变量 在类中设置的变量但不是类的属性 先介绍python中使用的查找算法 #Python的查找算法包括变量的查找、类变量的查找、super函数调用 #原则是自下而上从里到外#变量的查找 def fun():v1 0def fun1():v1 1 #先找最里层即fun1中的v1print(v1) if __name__ __main__:v1 2fun()#1 #super函数的调用 class fun:def show(self):pass class fun1(fun):pass class fun2(fun1)def show2(self):super().show() #这条super的对函数的调用首先会在fun1中寻找然后去fun中寻找 if __name__ __main__:pass#mro查找算法——应对多继承的情况下的查找 #应用于一个类继承了多个类的情况 #mro采用的算制为C3融合了DFS深度查询和BFS广度查询 class fun():pass class fun1():pass class fun2(fun,fun1):pass if __name__ __main__:v1 fun2()print(v1.var) #DFS按顺序首先查找fun以及fun的父类再查询fun1以及fun1的父类#类变量 #类变量可以使用类来访问和修改 class User_info():v1 0def __init__(self,name):self.name name if __name__ __main__:user1 User_info(ws)User_info.v1 1 #只使用类来访问和修改print(User_info.v1)#1#如果user1中没有v1的变量则去user1的父类User_info中找v1print(user1.v1)#1user1.v1 2 #为对象动态添加了一个属性print(user1.v1) #优先使用user1的v1#2print(User_info.v1)#1多态 用来控制对象的行为 不同的对象调用同一个方法表现出不同的状态 #多态需要有继承只发生在父类和子类之间需要有重写 #仅需一个函数传递不同的对象就能使用不同子类中的制定函数 #可扩展性和可维护性都增加了 class Version:def what(self):print(Version) class V1(Version):def what(self):print(v1) class V2(Version):def what(self):print(v2) class V3(Version):def what(self):print(v3) def fun(object):object.what() if __name__ __main__:v1 V1()v2 V2()v3 V3()fun(v1)fun(v2)fun(v3) #v1 #v2 #v3
http://www.w-s-a.com/news/961845/

相关文章:

  • 网站创建多少钱商标自助查询系统官网
  • 免费做App和网站的平台广州做网站推广的公司
  • 衡水做网站推广的公司wordpress相册滑动
  • 不用域名也可以做网站公司网站建设制作难么
  • 学做网站培训机构wordpress 图片拉伸
  • 成都捕鱼网站建设wordpress自定义文章类别
  • wordpress网站怎么加速湖北网站建设企业
  • 迁安做网站中的cms开发南平网站建设公司
  • 肥西县住房和城乡建设局网站代驾系统定制开发
  • 网站建设明细报价表 服务器qq是哪家公司的产品
  • html链接网站模板wordpress怎么调用简码
  • 网站域名怎么查简述网站推广的五要素
  • 咸宁网站设计公司app安装下载
  • 丝网外贸做哪些网站最优的赣州网站建设
  • 如何做网站不被查网站开发工程师岗位说明书
  • 做网站需要vps吗网站建设后怎样发信息
  • 网站建立风格二手交易网站开发可参考文献
  • 成都微信网站开发优化大师优化项目有哪些
  • 哪个网站做自考题目免费郑州网站建设公司qq
  • 地方性的网站有前途顺的网络做网站好不好
  • 学校申请建设网站的原因不要网站域名
  • 推荐响应式网站建设子域名查询工具
  • 如何建设学校的微网站广告推广是什么
  • 设计类专业哪个就业前景好网站建设seoppt
  • 济南建站公司网站网站友链查询源码
  • 校园失物招领网站建设涪陵网站建设公司
  • 怎么做盗号网站手机网站建设需要租用什么科目
  • 成品网站是什么意思沈阳seo推广
  • 购物网站后台流程图昆明官网seo技术
  • 创建自己网站全网零售管理系统