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

海门建网站公司西安口碑较好的财务公司

海门建网站公司,西安口碑较好的财务公司,免费的室内设计网站,网页设计的定义一、面向对象编程 1.1 面向过程与面向对象 面向过程和面向对象都是一种编程方式#xff0c;只不过再设计上有区别。 1.1.1 面向过程pop#xff1a; 举例#xff1a;孩子上学 1. 妈妈起床 2. 妈妈洗漱 3. 妈妈做饭 4. 妈妈把孩子叫起来 5. 孩子起床 6. 孩子洗漱 7. 孩子吃…一、面向对象编程 1.1 面向过程与面向对象 面向过程和面向对象都是一种编程方式只不过再设计上有区别。 1.1.1 面向过程pop 举例孩子上学 1. 妈妈起床 2. 妈妈洗漱 3. 妈妈做饭 4. 妈妈把孩子叫起来 5. 孩子起床 6. 孩子洗漱 7. 孩子吃饭 8. 妈妈给孩子送学校去 最为典型就是我们的C语言编程。 1》导入各种外部库 2》设计各种全局变量 3》写一个函数 4》写一个函数 5》........ 6》写一个main主函数作为程序入口部分 - 面向过程的编程思想将一个功能分解为一个一个小的步骤 我们通过完成一个一个的小的步骤来完成一个程序 - 这种编程方式符合我们人类的思维编写起来相对比较简单 - 但是这种方式编写代码的往往只适用于一个功能 如果要在实现别的功能即使功能相差极小也往往要重新编写代码 所以它可复用性比较低并且难于维护 优点简单直观、性能高效、代码简洁。 缺点不易维护、不易扩展、代码重用性低。 1.1.2 面向对象oop 举例孩子上学 1》妈妈 送 孩子 上学 python、java、C都是面向对象的编程方式。 以python为例 1》导入各种库 2》设计各种全局变量 3》设计你所需要的类——妈妈类、孩子类 4》main主函数可有可无 - 面向对象的编程思想将所有的功能统一保存到对应的对象中 比如妈妈功能保存到妈妈的对象中孩子的功能保存到孩子对象中 。要使用某个功能直接找到对应的对象即可 - 这种方式编写的代码比较容易阅读并且比较易于维护容易复用。 - 但是这种方式编写不太符合常规的思维编写起来稍微麻烦一点 优点模块化、安全性高、代码重用性高。 缺点学习难度大、性能开销大、调试困难。 1.2 类 和 对象 目前我们所学的python中的内置类型都是对象——内置对象内置对象有时候不能满足我们的需求需要自定义一些对象。 10 20 30 -40 a10, b20等等等都是整数对其进行抽象——int类。 python 中一切都是对象。 类也是一个对象。 1.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》有参对象名 类名(参数列表) 例举  # 设计类 class student:name Noneage Nonegander None # 创建对象 student1 student() # 给对象赋值 student1.name 小明 student1.age 18 student1.gender 男 # 获取对象中的信息 print(student1.name,student1.age,student1.gander) 1.2.2 访问属性/方法 使用符号 . 进行访问 # 访问属性 对象名.属性 # 访问方法 对象名.方法名() 1.2.3 对象与类的关系【1】 对象拥有类的所有属性和方法对象的属性和方法可以单独添加、删除、修改对象与对象之间的属性和方法不可共享对象不能独自创建必须依托于类类可以实例化N个对象 #创建一个闹钟类 class clock:id Noneprice Nonedef ring(self):import winsound #python内置模块是让电脑响 winsound.Beep(2000,3000)#频率和时间print(f电脑编号{self.id},电脑价格{self.price}) #闹钟1 clock1 clock() clock1.id 12344 clock1.price 19.99 clock1.ring()#闹钟2 clock2 clock() clock2.id 12345 clock2.price 29.99 clock2.ring() 1.2.3 对象与类的关系【2】 from types import MethodTypeclass student:def __init__(self,name):self.name namedef fun1(self):print(f{self.name}会唱歌)s1 student(刘) s2 student(坤哥)s1.fun1()#刘会唱歌 s2.fun1()#坤哥会唱歌def Ctrl(self):print(f{self.name}会穿背带裤打篮球)s2.CtrlMethodType(Ctrl,s2)s2.Ctrl()#坤哥会穿背带裤打篮球还可以使用以下函数的方式来访问属性 getattr(obj, name[, default]) : 访问对象的属性。hasattr(obj,name) : 检查是否存在一个属性。setattr(obj,name,value) : 设置一个属性。如果属性不存在会创建一个新属性。delattr(obj, name) : 删除属性。 1.2.5 魔方方法——构造函数 与 析构函数 __init__ 构造函数完成对象的初始化工作方便统一管理、调用类创建对象时自动执行。__del__ 析构函数删除对象时执行一些操作自动执行。__str__ 打印方法输出执行信息自动执行。 class Animal:#构造函数def __init__(self,name,call):self.name nameself.call call#打印方法def __str__(self):return f{self.call},你在{self.name}叫什么#析构函数def __del__(self):print(f{self.name}消音成功)dog Animal(狗,汪汪汪) cat Animal(猫,喵喵喵)print(dog) print(cat)汪汪汪,你在狗叫什么 喵喵喵,你在猫叫什么 狗消音成功 猫消音成功1.2.6 类属性/方法 与 实例对象属性/方法 与 静态方法 class Bank(object):定义了一个银行卡类用于初始化、存钱、取钱total_money 0def __init__(self, name, money):self.name nameBank.total_money money #改为self.def save(self, money):Bank.total_money moneydef draw(self, money):Bank.total_money - moneyb1 Bank(张三, 1000) print(b1.total_money) b1.save(5000) print(b1.total_money) b1.draw(3000) print(b1.total_money)b2 Bank(李四, 8888) print(b2.total_money) b2.save(10000) print(b2.total_money) 类方法、实例方法、静态方法 class student:#定义一个学生类grade py24101classmethoddef clas_fun(cls):类方法中只能调用类属性和类方法print(cls.grade)def __init__(self,name,age):self.name nameself.age agedef fun1(self):实例方法中能调用类属性、实例属性print(f实例方法中输出类属性{self.grade}, 输出实例属性{self.name})staticmethoddef sta_fun(x):print(f{x}静态方法一般实现与类和对象无关联的操作例如游戏说明书等)s1 student(小明,18) #调用类方法 #方法一 student.clas_fun()#py24101 #方法二 s1.clas_fun()#py24101#如何调用实例对象 #方法一 student.fun1(s1)#实例方法中输出类属性py24101, 输出实例属性小明 #方法二 s1.fun1() #实例方法中输出类属性py24101, 输出实例属性小明# 如何调用静态变量 #方法一 student.sta_fun(2)#2静态方法一般实现与类和对象无关联的操作例如游戏说明书等 #方法二 s1.sta_fun(2) #2静态方法一般实现与类和对象无关联的操作例如游戏说明书等1.2.7 Python的内置类属性 __dict__ : 类的属性包含一个字典由类的数据属性组成__doc__ :类的文档字符串__name__: 类名__module__: 类定义所在的模块类的全名是__main__.className如果类位于一个导入模块mymod中那么className.__module__ 等于 mymod__bases__ : 类的所有父类构成元素包含了一个由所有父类组成的元组 class Student(object):定义一个学生类属性名字 年龄方法method_1 method_2name 张三age 18def method_1(self):passdef method_2(self):passprint(Student.__dict__) print(Student.__doc__) print(Student.__name__) print(Student.__module__) print(int.__module__) print(Student.__bases__){__module__: __main__, __doc__: \n 定义一个学生类\n 属性名字 年龄\n 方法method_1 method_2\n , name: 张三, age: 18, method_1: function Student.method_1 at 0x0000023EBF1A4AE0, method_2: function Student.method_2 at 0x0000023EBF1A4C20, __dict__: attribute __dict__ of Student objects, __weakref__: attribute __weakref__ of Student objects}定义一个学生类属性名字 年龄方法method_1 method_2Student __main__ builtins (class object,)1.3 类的封装【私有属性与方法】 封装是类的三大特性之一。 封装指的是隐藏对象中一些不希望让外部所访问的属性或方法。 python中封装其实是通过设置访问权限来体现的私有属性和私有方法是控制访问权限的组成部分。 1.3.1 私有属性 在类的内部使用不希望外部直接访问的变量。 在python中使用双下划线作为前缀来定义私有属性。 私有属性在类外不能访问 class bank:def __init__(self,name,pwd):self.name nameself.__pwd pwd# 为了在某些需要的时候访问到私有属性所以需要在类内部设置两个接口def get_pwd(self):return self.__pwddef set_pwd(self,newpwd):self.__pwd newpwduser bank(小明,123456)print(user.name)#小明 # print(user.__pwd) 会报错 print(user.get_pwd())#123456 user.set_pwd(456789) print(user.get_pwd()) #456789 1.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() 1.3.3 属性装饰器 属性装饰器是实现把方法转为属性的装饰器。 作用 把方法转为属性便于操作属性实现对属性的更改验证、查看、删除 class 类名         def __init__(self,name):                 self.name name         property         def 函数名(self):                 return self.name         函数名.setter         def 函数名self,m                 self.name m           class bank:def __init__(self,name ,money 0): #可以在里面定义初始值self.name nameself.__money moneypropertydef my_money(self):return self.__moneymy_money.setterdef my_money(self,m):self.__moneymuser bank(小明,1000)user.my_money 900 print(user.my_money) #19001.4 类的继承 面向对象的编程带来的主要好处之一就是代码的重用实现这种重用的方法之一就是通过继承机制。 通过继承创建的新类称之为【子类】或者【派生类】被继承的类称之为【父类】、【基类】、【超类】。 1.4.1 继承语法格式 class 子类名(父类名列表):         pass class Parent(object):定义父类par_attr 100def __init__(self):print(初始化父类)def par_fun1(self):print(父类方法1)def par_fun2(self):print(父类方法2)class Child(Parent):定义子类child_attr 666def __init__(self):print(初始化子类)def child_fun1(self):print(子类方法1)c1 Child() print(c1.child_attr) c1.child_fun1()print(c1.par_attr) c1.par_fun1() c1.par_fun2() 1.4.2 多继承语法【明白即可不建议乱用】 如果在继承的元组里面有一个以上的类就称之为多继承 class a:pass class b:pass class c:pass class d(a,b,c):passD d() print(d.mro())#[class __main__.d, class __main__.a, class __main__.b, class __main__.c, class object] 查顺序 print(d.__bases__) #(class __main__.a, class __main__.b, class __main__.c)查父类 。 1.4.3 继承重写父类方法 如果你的父类方法不能满足你得要求你可以在之类中重写父类的方法。 # 重写 class Parent(object):def method(self):print(f{self}的方法)class Child(Parent):def method(self):print(xxxxxxxxxx)print(f子类重写父类ri{self}的方法)c Child() c.method() 这里列出了一些通用的功能可以在自己的类重写 __init__ ( self [,args...] )构造函数 简单的调用方法: obj className(args) __del__( self ) 析构方法 简单的调用方法 : del obj __repr__( self ) 转化为供解释器读取的形式 简单的调用方法 : repr(obj) __str__( self ) 用于将值转化为适于人阅读的形式 简单的调用方法 : str(obj) __cmp__ ( self, x ) 对象比较 简单的调用方法 : cmp(obj, x) 1.4.4 python继承特点 在子类中如果需要父类的构造方法需要显式调用父类的构造方法或者不重写父类的构造方法。__init__()在子类中调用父类的方法需要显式调用且第一个参数self不能省略 不重写父类构造方法  class father:def __init__(self,x,y):self.x xself.y ydef sum(self):print(f{self.x},{self.y})class child(father):def fun(self):print(f{self.x},{self.y})stu child(1,2) stu.fun() #1,2 重写父类构造方法、里面显式调用父类构造方法 class father:def __init__(self,x,y):self.x xself.y yclass child(father):def __init__(self,x,y,z):father.__init__(self,x,y)self.z zdef fun(self):print(self.x,self.y,self.z) stu child(1,2,3) stu.fun() #1,2,3用super().方法/成员变量 class father:def __init__(self,x,y):self.x xself.y yclass child(father):def __init__(self,x,y,z):super().__init__(x,y)self.z zdef fun(self):print(self.x,self.y,self.z) stu child(1,2,3) stu.fun() #1,2,31.4.5 运算符重载 在Python中并没有像其他语言如C中那样的内置机制来重载运算符。但是你可以通过定义特定的方法来模拟运算符重载的行为。 以下是一些常见运算符以及它们对应的特殊方法 加法 对应 __add__ 减法- 对应 __sub__ 乘法* 对应 __mul__ 除法/ 对应 __truediv__ 取模% 对应 __mod__ 幂运算** 对应 __pow__ 位运算 位运算 对应 __rshift__ 位运算 对应 __and__ 位运算| 对应 __or__ 位运算^ 对应 __xor__ class a:def __init__(self,x):self.x xdef __add__(self, other):return self.x other.x b a(3) c a(4) print(bc) #7class d:def __init__(self,x,y):self.x xself.y ydef __add__(self, other):return self.x*other.yself.y*other.xe d(2,3) f d(4,5) print(ef)#221.5 类的多态 python中的多态也可以通过方法重写进行。 同一个方法不同对象显式的结果不同 class Animal:def speak(self):pass class Dog(Animal):def speak(self):print(汪汪汪) class Cat(Animal):def speak(self):print(喵喵喵)def Animal_speak(animal:Animal):animal.speak()dog Dog() cat Cat()Animal_speak(dog)#汪汪汪 Animal_speak(cat)#喵喵喵 1创建学生类Person。 2添加静态方法showInfo: 1显示信息“龙的传人”; 3添加类属性country国籍默认值为“中国“。 4添加类属性nation民族默认值为“汉族“。 5添加构造方法添加如下对象属性 1name保存学生姓名默认值为空字符串。 2age保存学生年龄默认值为0。 3birth保存出生日期默认值为空字符串。 4money保存工资收入私有权限默认值为0。 6添加类方法获取两个类属性的值。 7添加魔法方法将所有属性用格式化字符串组合成一个字符串后返回。 1格式如下 国籍中国 民族汉 姓名XXX 年龄XXX 出生日期XXX 8添加setName方法修改对象属性name。 9添加getName方法获得对象属性name的值。 10添加返回age值的方法getAge利用属性装饰器修饰该方法并对age值进行修改。 11添加setBirth方法修改对象属性birth。 12添加getBirth方法获得对象属性birth的值。 13添加私有属性money的set和get方法。 14添加对象方法info输出当前对象的个人信息 1格式如下姓名—年龄—出生日期—存款 15添加主程序入口完成如下任务 1调用静态方法 ①提示通过对象调用 ②提示通过类名调用 2创建一个对象。 3修改对象的所有对象属性。 4通过对象方法获得对象的所有属性值并显示。 5调用info显示对象信息。 6调用对象的打印方法输出信息 7再次修改所有对象的属性。 8再次调用对象的打印方法。 from tkinter.font import namesclass Person:country 中国nation 汉族staticmethoddef showInfo():print(龙的传人)def __init__(self,name ,age 0,birth ,money 0):self.name nameself.age ageself.birth birthself.__money moneyclassmethoddef func(cls):print(cls.country,cls.nation)def __str__(self):return f 国籍:{self.country} \n 民族:{self.nation} \n 姓名:{self.name} \n 年龄:{self.age} \n 出生日期:{self.birth}def setName(self,name):self.name namedef getName(self):print(self.name)propertydef getAge(self):return self.agegetAge.setterdef getAge(self,newage):self.age newagedef setBirth(self):return self.birthdef getBirth(self,birth):self.birth birthdef set_money(self):return self.__moneydef get_money(self,money):self.__money moneydef info(self):print(f姓名:{self.name} 年龄:{self.age} 出生日期:{self.birth} 存款:{self.__money})user Person() user.showInfo() user.setName(张三) user.getAge 25 user.getBirth(1999-09-30) user.get_money(20000) user.info() print(user) user.setName(小明) user.getAge 19 user.getBirth(2005-07-30) user.get_money(2000) print(user)
文章转载自:
http://www.morning.cfcpb.cn.gov.cn.cfcpb.cn
http://www.morning.ntzfl.cn.gov.cn.ntzfl.cn
http://www.morning.rtbhz.cn.gov.cn.rtbhz.cn
http://www.morning.bkqw.cn.gov.cn.bkqw.cn
http://www.morning.dzrcj.cn.gov.cn.dzrcj.cn
http://www.morning.pgkpt.cn.gov.cn.pgkpt.cn
http://www.morning.frmmp.cn.gov.cn.frmmp.cn
http://www.morning.langlaitech.cn.gov.cn.langlaitech.cn
http://www.morning.pudejun.com.gov.cn.pudejun.com
http://www.morning.beijingzy.com.cn.gov.cn.beijingzy.com.cn
http://www.morning.krxzl.cn.gov.cn.krxzl.cn
http://www.morning.pzcqz.cn.gov.cn.pzcqz.cn
http://www.morning.mlyq.cn.gov.cn.mlyq.cn
http://www.morning.kldtf.cn.gov.cn.kldtf.cn
http://www.morning.sqmbb.cn.gov.cn.sqmbb.cn
http://www.morning.zqmdn.cn.gov.cn.zqmdn.cn
http://www.morning.tqpds.cn.gov.cn.tqpds.cn
http://www.morning.pxspq.cn.gov.cn.pxspq.cn
http://www.morning.pqppj.cn.gov.cn.pqppj.cn
http://www.morning.nmfxs.cn.gov.cn.nmfxs.cn
http://www.morning.hwnnh.cn.gov.cn.hwnnh.cn
http://www.morning.rxcqt.cn.gov.cn.rxcqt.cn
http://www.morning.wrlcy.cn.gov.cn.wrlcy.cn
http://www.morning.fsnhz.cn.gov.cn.fsnhz.cn
http://www.morning.ljzqb.cn.gov.cn.ljzqb.cn
http://www.morning.tlbhq.cn.gov.cn.tlbhq.cn
http://www.morning.lpgw.cn.gov.cn.lpgw.cn
http://www.morning.pqnpd.cn.gov.cn.pqnpd.cn
http://www.morning.jrgxx.cn.gov.cn.jrgxx.cn
http://www.morning.lcbnb.cn.gov.cn.lcbnb.cn
http://www.morning.kghhl.cn.gov.cn.kghhl.cn
http://www.morning.xkzr.cn.gov.cn.xkzr.cn
http://www.morning.fnnkl.cn.gov.cn.fnnkl.cn
http://www.morning.errnull.com.gov.cn.errnull.com
http://www.morning.rnnwd.cn.gov.cn.rnnwd.cn
http://www.morning.bdqpl.cn.gov.cn.bdqpl.cn
http://www.morning.lgsfb.cn.gov.cn.lgsfb.cn
http://www.morning.yhljc.cn.gov.cn.yhljc.cn
http://www.morning.cbnlg.cn.gov.cn.cbnlg.cn
http://www.morning.xdpjf.cn.gov.cn.xdpjf.cn
http://www.morning.qyjqj.cn.gov.cn.qyjqj.cn
http://www.morning.mxlmn.cn.gov.cn.mxlmn.cn
http://www.morning.nhpmn.cn.gov.cn.nhpmn.cn
http://www.morning.rwpfb.cn.gov.cn.rwpfb.cn
http://www.morning.xkjrq.cn.gov.cn.xkjrq.cn
http://www.morning.lxfdh.cn.gov.cn.lxfdh.cn
http://www.morning.mbfj.cn.gov.cn.mbfj.cn
http://www.morning.zyrp.cn.gov.cn.zyrp.cn
http://www.morning.btpzn.cn.gov.cn.btpzn.cn
http://www.morning.pyzt.cn.gov.cn.pyzt.cn
http://www.morning.sfwd.cn.gov.cn.sfwd.cn
http://www.morning.frpb.cn.gov.cn.frpb.cn
http://www.morning.rdwm.cn.gov.cn.rdwm.cn
http://www.morning.qdxkn.cn.gov.cn.qdxkn.cn
http://www.morning.dsprl.cn.gov.cn.dsprl.cn
http://www.morning.zdgp.cn.gov.cn.zdgp.cn
http://www.morning.nqxdg.cn.gov.cn.nqxdg.cn
http://www.morning.yrfxb.cn.gov.cn.yrfxb.cn
http://www.morning.glnmm.cn.gov.cn.glnmm.cn
http://www.morning.pqcbx.cn.gov.cn.pqcbx.cn
http://www.morning.qxwwg.cn.gov.cn.qxwwg.cn
http://www.morning.qfmcm.cn.gov.cn.qfmcm.cn
http://www.morning.lqrpk.cn.gov.cn.lqrpk.cn
http://www.morning.skbkq.cn.gov.cn.skbkq.cn
http://www.morning.xrsqb.cn.gov.cn.xrsqb.cn
http://www.morning.qbfkz.cn.gov.cn.qbfkz.cn
http://www.morning.bpmnl.cn.gov.cn.bpmnl.cn
http://www.morning.yksf.cn.gov.cn.yksf.cn
http://www.morning.kxbry.cn.gov.cn.kxbry.cn
http://www.morning.grbgn.cn.gov.cn.grbgn.cn
http://www.morning.bkpbm.cn.gov.cn.bkpbm.cn
http://www.morning.ntgjm.cn.gov.cn.ntgjm.cn
http://www.morning.mjjty.cn.gov.cn.mjjty.cn
http://www.morning.qmzwl.cn.gov.cn.qmzwl.cn
http://www.morning.nwqyq.cn.gov.cn.nwqyq.cn
http://www.morning.mlpch.cn.gov.cn.mlpch.cn
http://www.morning.qsmch.cn.gov.cn.qsmch.cn
http://www.morning.kbfzp.cn.gov.cn.kbfzp.cn
http://www.morning.rzcfg.cn.gov.cn.rzcfg.cn
http://www.morning.qrqg.cn.gov.cn.qrqg.cn
http://www.tj-hxxt.cn/news/276553.html

相关文章:

  • 网站更改备案主体宠物店网页设计素材
  • 制作微信网站模板下载创意交易平台官网
  • aspx高性能网站建设网站开发需要那些技能
  • 龙华网站 建设深圳信科wordpress 全景图插件
  • 南昌做网站后台投票无锡工程建设信息网站
  • 有一个专门做lol同人的网站网站页面风格分类
  • 剑灵网站模板seo 网站换程序
  • 网站推广软件下载物流公司
  • 在建设银行网站申请完信用卡吗完整网站开发看什么书
  • 网站架构设计师求职信红色网站呢
  • 心理咨询网站建设素材中国免费素材网
  • 网站制作昆山企业融资以什么为基础
  • 企业网站建设免备案Wordpress会员插件出错
  • 调查网站赚钱p2p网站制作流程
  • 淘宝店可以做团购的网站法律咨询免费律师在线咨询
  • 新闻系统网站开发dw实训总结报告wordpress 插件 权限
  • 网站排名下降的原因免费个人网站怎么建立步骤
  • 灰色网站建设优化个人网站做电影网站
  • 曲靖高端网站制作武夷山市住房和城乡建设局网站
  • 网站建设意义和目的网站的建设步骤包括什么
  • 搜索关键词网站太原推广型网站开发
  • 毕设电商网站设计免费 wordpress主题
  • 成都企业网站建设费用重庆网站有哪些
  • wordpress建站简单吗成都网架公司
  • 外贸网站建设推广培训黄骅港邮政编码
  • 什么是网站什么是网页国际旅游网站设计报告
  • ipad网站开发如何在手机上制作网站
  • 大连网站运营制作方案中国空间站科幻作文1000字
  • 5050众筹网站开发手机网站使用微信支付
  • 提供东莞网站制作公司vs2012做网站