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

合肥建网站公司地址2016手机网站制作规范

合肥建网站公司地址,2016手机网站制作规范,简单的手机网站模板,好用的wordpress企业模版1、什么是面向对象 面向对象称为OO#xff0c;他通过将数据和功能封装在一个被称为‘对象’的实体中#xff0c;来组织和管理代码。面向对象变成#xff08;OOP#xff09;具有四个特性#xff0c;封装、继承、多态、抽象 优点#xff1a;模块化、安全性高、代码重用性…1、什么是面向对象 面向对象称为OO他通过将数据和功能封装在一个被称为‘对象’的实体中来组织和管理代码。面向对象变成OOP具有四个特性封装、继承、多态、抽象 优点模块化、安全性高、代码重用性高 缺点学习难度大、性能开销大、调试困难 2、类和对象 Python中的一切都是对象类也是一个对象Python 的内置类型也都是对象--内置对象对象的抽象是类类可以实例化若干个对象 2.1类的定义 语法格式1 class ClassA:# 公共的属性def __init__(self):passdef fun1(self):passdef fun2(self):pass语法格式2 class ClassA(object):# 公共的属性def __init__(self):passdef fun1(self):passdef fun2(self):pass实例化对象的语法1》无参对象名 类名()2》有参对象名 类名(参数列表) 2.2类的属性 Python中类的属性分为两种类属性和实例属性 2.2.1类属性 定义在类级别上的变量与类本身相关联不与任何特定实例相关联所有实例共享同一个类属性的值除非在某个实例改变他的值 2.2.2实例属性 实例属性是与类的特定实例相关联的变量。每个实例都有自己独立的实例属性即使这些实例属于同一个类。实例属性通常在实例的构造方法__init__中定义使用self关键字来引用当前实例。 class stu():grade py24101def __init__(self, name, age):self.name nameself.ageagedef study(self):print(f{self.name}爱学习)def play(self):print(f{self.name}玩游戏) s1stu(张三,18) print(stu.grade) print(s1.grade,s1.name) 注意事项 类属性通常用于存储那些对类所有实例都相同的值。如果需要在实例之间共享数据并且这些数据在实例的生命周期内不会改变那么类属性可能是一个好的选择。 实例属性用于存储与特定实例相关的数据。它们使得每个实例都可以有自己的状态和行为。 当通过实例访问属性时Python会首先查找实例属性。如果实例属性不存在它会查找类属性。这意味着如果类属性和实例属性同名实例属性会“隐藏”类属性。 尽量避免在实例方法中修改类属性因为这可能会导致意外的行为特别是当你有多个实例时。如果确实需要修改类属性的值请确保你了解这样做的后果。 2.3对象和类的关系 对象拥有类的所有属性和方法 对象的属性和方法可以单独添加、删除、修改 对象与对象之间的属性和方法不可共享 对象不能独自创建必须依托于类类可以实例化N个对象 class Stu(object):id 1001name 张三def fun1(self):pass# 实例化对象 s1 Stu() s2 Stu() # 对象的属性可以单独修改、添加、删除 s1.name 李四 s1.age 18 del s1.age print(s1.name) # print(s1.age) print(s2.name) # print(s2.age) 还可以使用以下函数的方式来访问属性 getattr(obj, name[, default]) : 访问对象的属性。 hasattr(obj,name) : 检查是否存在一个属性。 setattr(obj,name,value) : 设置一个属性。如果属性不存在会创建一个新属性。 delattr(obj, name) : 删除属性。 2.4魔方方法---构造函数与析构函数 __init__ 构造函数完成对象的初始化工作方便统一管理、调用类创建对象时自动执行。 __del__ 析构函数删除对象时执行一些操作自动执行。 __str__ 打印方法输出执行信息自动执行。 class car():def __init__(self,name,color):self.namenameself.colorcolordef __str__(self):return flogo{self.name},color{self.color}def __del__(self):print( f{self.name}boom,go home)c1car(保时捷,red) c2car(xiaomisu7,white) print(c1.name,c2.name) print(c1) print(c2)2.5类方法、实例方法、静态方法 class Student(object):定义了一个学生类grade py24101classmethod#类方法def cls_fun(cls):类方法中只能调用类属性和类方法print(f班级名称是{cls.grade})def __init__(self, name, age):self.name nameself.age agedef fun1(self):实例方法中能调用类属性、实例属性print(f实例方法中输出类属性{self.grade}, 输出实例属性{self.name})staticmethod#静态方法def sta_fun(x):print(f{x}静态方法一般实现与类和对象无关联的操作例如游戏说明书等)s1 Student(张三, 18) # 如何调用类方法 Student.cls_fun() s1.cls_fun()# 如何调用实例方法 Student.fun1(s1) s1.fun1()# 如何调用静态方法 Student.sta_fun(3) s1.sta_fun(3) 2.6Python的内置属性 __dict__ : 类的属性包含一个字典由类的数据属性组成 __doc__ :类的文档字符串 __name__: 类名 __module__: 类定义所在的模块类的全名是__main__.className如果类位于一个导入模块mymod中那么className.__module__ 等于 mymod __bases__ : 类的所有父类构成元素包含了一个由所有父类组成的元组 3、封装 封装是类的三大特性之一。 封装指的是隐藏对象中一些不希望让外部所访问的属性或方法。 python中封装其实是通过设置访问权限来体现的私有属性和私有方法是控制访问权限的组成部分。 3.1私有属性 class Bank(object):定义了一个银行卡类属性name pwd密码【我不希望外部访问】def __init__(self, name, pwd):self.name nameself.__pwd pwd# 为了在某些需要的时候访问到私有属性所以需要在类内部设置两个接口def get_pwd(self):return self.__pwddef set_pwd(self, newpwd):self.__pwd newpwd# print(Bank.__pwd)b1 Bank(张三, 123456) print(b1.name) # print(b1.__pwd) print(b1.get_pwd()) b1.set_pwd(666888) print(b1.get_pwd()) 3.2私有方法 class Bank(object):定义了一个银行卡类属性name pwd密码【我不希望外部访问】def __init__(self, name, pwd):self.name nameself.__pwd pwddef __info(self):print(f名字{self.name}, 密码{self.__pwd})def get_info(self):self.__info()# Bank.__info() 报错 b1 Bank(李四, 123456) # b1.__info() 报错 b1.get_info()3.3属性装饰器 把方法转为属性 class car():def __init__(self, name, color):self.name nameself.color colorself.__num 20propertydef num(self):return self.__numnum.setterdef num(self, x):if not isinstance(x,int):print(油量必须是数字)else:self.__num xnum.deleterdef num(self):print(删除油量)del self.__numc1 car(法拉利, red) print(c1.name, c1.color, c1.num) c1.num win32 print(c1.num) del c1.num 4.类的继承 面向对象的编程带来的主要好处之一就是代码的重用实现这种重用的方法之一就是通过继承机制。 通过继承创建的新类称之为【子类】或者【派生类】被继承的类称之为【父类】、【基类】、【超类】 4.1语法格式 class Parent():par_attr100def __init__(self):print(初始化父类)def par_fun(self):print(父类方法一)def par_dun(self):print(父类方法二) class Child(Parent):chi_attr10def __init__(self):print(初始化子类)def chi_dun(self):print(子类方法一)def chi_fun(self):print(子类方法二) c1Child() c1.par_dun() c1.chi_dun() p1Parent() p1.par_dun() 4.2多继承 class A:pass class B:pass class C:pass class D(A,B,C):pass d1D() print(D.mro()) print(D.__bases__) 这里列出了一些通用的功能可以在自己的类重写 __init__ ( self [,args...] ) 构造函数 简单的调用方法: obj className(args) __del__( self ) 析构方法, 删除一个对象 简单的调用方法 : del obj __repr__( self ) 转化为供解释器读取的形式 简单的调用方法 : repr(obj) __str__( self ) 用于将值转化为适于人阅读的形式 简单的调用方法 : str(obj) __cmp__ ( self, x ) 对象比较 简单的调用方法 : cmp(obj, x) class Parent():def __init__(self,x,y):self.xxself.yydef add(self):return self.xself.y class Child(Parent):def __init__(self,x,y,z):super().__init__(x,y)self.zzdef add(self):return super().add()self.z cChild(1,2,3) print(c.add()) 4.3运算符重载 在Python中并没有像其他语言如C中那样的内置机制来重载运算符。但是你可以通过定义特定的方法来模拟运算符重载的行为。 以下是一些常见运算符以及它们对应的特殊方法 加法 对应 __add__ 减法- 对应 __sub__ 乘法* 对应 __mul__ 除法/ 对应 __truediv__ 取模% 对应 __mod__ 幂运算** 对应 __pow__ 位运算 位运算 对应 __rshift__ 位运算 对应 __and__ 位运算| 对应 __or__ 位运算^ 对应 __xor__ class op():def __init__(self,x,y):self.xxself.yydef __add__(self, other):return (self.xother.x)**2-self.y-other.y o1op(1,3) o2op(5,7) print(o1o2) 5.多态 class Animal(object):name 动物age 0def speak(self):print(动物的声音)class Dog(Animal):def speak(self):print(汪汪汪)class Cat(Animal):def speak(self):print(喵喵喵)a Animal() d Dog() c Cat()a.speak() d.speak() c.speak() 6.关于下划线说明 __foo__: 以双下划线开头双下划线结尾定义的是特殊方法一般是系统定义名字 类似 __init__() 之类的自动。 _foo: 以单下划线开头的表示的是 protected 类型的变量即保护类型只能允许其本身与子类进行访问不能用于 from module import ··· __foo: 双下划线的表示的是私有类型(private)的变量, 只能是允许这个类本身进行访问了。
http://www.dnsts.com.cn/news/178209.html

相关文章:

  • 邹平做网站的公司有哪些网站代理浏览器0
  • 永康住房城乡建设局网站网站 免费空间
  • 宁夏免费做网站大鱼直播
  • 青海公路建设市场信用信息服务网站电商线上培训
  • 东莞在那里建个网站深圳建设网站开发
  • 昆明网站做的好的公司哪家好湖北省城乡和住房建设厅官方网站
  • 那些网站后台做推广效果好网站后台文字编辑器
  • asp.net做网站无锡餐饮网站建设
  • 营销型企业网站建设ppt有字体设计网站
  • 网站建设视频演示展示型装饰网站模板下载
  • 钉钉如何做自己的网站外贸婚纱礼服网站
  • 模板网站怎么做301html静态网站模板
  • 网站安全防护方案关于数据库的网站开发
  • 网站做会员系统网站建设 010
  • 手机端网站开发 免费食堂承包技术支持 东莞网站建设
  • 网站编程工资多少wordpress版权文字
  • 江都区城乡建设局网站马局网站英文联系我们
  • 多用户建站平台win7装什么版本wordpress
  • 六安有哪些做网站的公司台州市知名专业做网站
  • 可作外链的网站电子商务网上购物网站建设规划
  • 特种工建设网站wordpress 宣布停止
  • 网站添加百度地图标注青岛低价网站建设
  • 有什么网站交互做的很好 知乎深圳外贸公司排行
  • 太原网站排名公司开发高端客户
  • 兰州市城乡住房建设局网站学做网站要代码
  • 网页制作站点网站信息备案管理系统
  • 如何建立一个永久网站佛山模板建站代理
  • 让网站打开更快淘宝导购网站模版
  • 华泰保险公司官方网站电话威廉网站建设
  • hs网站推广做视频网站投入多少