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

做牙齿的招聘网站如何做网站教程

做牙齿的招聘网站,如何做网站教程,wordpress表格显示图片,南昌做网站公司哪家好提前说一点#xff1a;如果你是专注于Python开发#xff0c;那么本系列知识点只是带你入个门再详细的开发点就要去看其他资料了#xff0c;而如果你和作者一样只是操作其他技术的Python API那就足够了。 Python是一个完全面向对象开发的语言#xff0c;它的一切都以对象的…提前说一点如果你是专注于Python开发那么本系列知识点只是带你入个门再详细的开发点就要去看其他资料了而如果你和作者一样只是操作其他技术的Python API那就足够了。 Python是一个完全面向对象开发的语言它的一切都以对象的方式操作 类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。 类变量类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。 数据成员类变量或者实例变量, 用于处理类及其实例对象的相关的数据。 方法重写如果从父类继承的方法不能满足子类的需求可以对其进行改写这个过程叫方法的覆盖override也称为方法的重写。 局部变量定义在方法中的变量只作用于当前实例的类。 实例变量在类的声明中属性是用变量来表示的。这种变量就称为实例变量是在类声明的内部但是在类的其他成员方法之外声明的。 继承即一个派生类derived class继承基类base class的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如有这样一个设计一个Dog类型的对象派生自Animal类这是模拟是一个is-a关系例图Dog是一个Animal。 实例化创建一个类的实例类的具体对象。 方法类中定义的函数。 对象通过类定义的数据结构实例。对象包括两个数据成员类变量和实例变量和方法。定义一个类的语法如下注意如果你用的是Python2那么不要写objeck不然会报错的 class ClassName(objeck):类的帮助信息 #类文档字符串class_suite #类体#类的实例方法def aaa(self) :return实例化类生成对象语法如下 变量名 类名() ---不需要其他语言那样的newPython的类里面和其他语言不同的就是有时方法中会多一个 self这个变量你要使用的时候一般都是放在第一个参数位并且代表对象本身下面这个例子可以解释这一点 class Test:def prt(self):print(self)t Test() print(t) t.prt()结果发现指向的都是同一个对象 __main__.Test instance at 0x10d066878 __main__.Test instance at 0x10d066878切记对于 self 本身来说它不是一个定死的关键字我们换成其他的名字也可以只是在开发中我们按照惯例把它写在了第一个参数位并且起名为 self 它本身其实是和JAVA的this对象等价的只不过Python需要在参数位声明一下而已 而且当你使用了self的时候在传递参数时不需要在意它的值因为可以自动补齐如下 class Test :def fun_name(self,b,c):print(bstr(c))a Test() a.fun_name(忽略self正常传参,21) 结果忽略self正常传参21对于Python的类来说也是拥有属性的我们在类的内部类实体方法的外部书写属性即可但是切记在类中书写属性的时候一定要给一个初值不然访问的时候会报错 class Test :age def fun_test():print(llll)在使用这个类创建对象之后对象会拥有类的所有东西属性自然也包括其中调用时语法如下这一点在Python中叫做 “类外面获取对象属性” 对象名.属性名 #调用获取 对象名.属性名 值 #修改但是注意Python允许一个对象拥有属于自己的属性这种属性不需要在类中定义直接使用对象调用就可以会自动生成一个数据这个对象自己的属性其他对象没有下面这个例子可以解释这一点这一点在Python中也叫做 “类外面添加对象属性” class Test :def fun_name():print(llll)a Test() b Test()a.age 12 print(a.age) print(b.age)结果会报错提示对象b没有age属性 12 Traceback (most recent call last):File main.py, line 12, in moduleprint(b.age) AttributeError: Test instance has no attribute age这个时候有的小伙伴可能就会疑惑有类外面获取对象属性、类外面添加对象属性这两点都聚焦在对象的身上和类的关系不是很明显其实Python还有最后一种相关操作叫做“在类内部获取对象属性”对于这一点个人认为其实是Python提供给我们开发者的一种辅助防止我们由于其他因素导致访问不到对象的属性比如被局部变量或者其他变量干扰操作方式如下 class Test :age 12def fun_name(self):print(self.age)a Test() a.fun_name()其实就是self的应用不过注意这种操作可以和类外部添加属性那样直接调用一个原先没有的属性 class Test :def fun_name(self):print(self.age)a Test() a.age 10 a.fun_name()现在我猜测大家或许会混乱没关系记住核心的一点在Python中可以像常规那样使用对象和类只是Python除此之外允许一个属性在使用的时候是从无到有的也就是没有被预先定义的 其实对于self来说它不止可以调用我们自己定义的属性它还带有着其他的东西有兴趣大家可以在其他地方找一找资料比如可以获取对象实例化的类名 class Test :def fun_name(self):print(self.__class__)a Test() a.fun_name()结果__main__.Test对于对象的属性Python其实有着其他的方式可以调用 getattr(obj, name[, default]) : 访问对象的属性。 hasattr(obj,name) : 检查是否存在一个属性。 setattr(obj,name,value) : 设置一个属性。如果属性不存在会创建一个新属性。 delattr(obj, name) : 删除属性。hasattr(emp1, age) # 如果存在 age 属性返回 True。 getattr(emp1, age) # 返回 age 属性的值 setattr(emp1, age, 8) # 添加属性 age 值为 8 delattr(emp1, age) # 删除属性 agePython类的本身其实也有自带的被规定的属性俗称类属性为什么说它被规定呢这个后面我会解释 调用的时候用 类名.类属性 就可以了__dict__ : 类的属性包含一个字典由类的数据属性组成 __doc__ :类的文档字符串 __name__: 类名 __module__: 类定义所在的模块 __bases__ : 类的所有父类构成元素包含了一个由所有父类组成的元组有意思的是我们通过类名可以直接将自己定义的属性获取到这个时候这个属性也叫做类属性 下面我们了解一下在Python中对象是如何被垃圾回收的 在Python中只有一种垃圾回收机制就是引用计数法在 Python 内部记录着所有使用中的对象各有多少引用。 一个内部跟踪变量称为一个引用计数器。 当对象被创建时 就创建了一个引用计数 当这个对象不再需要时 也就是说 这个对象的引用计数变为0 时 它被垃圾回收。但是回收不是立即的 由解释器在适当的时机将垃圾对象占用的内存空间回收。 垃圾回收机制不仅针对引用计数为0的对象同样也可以处理循环引用的情况。循环引用指的是两个对象相互引用但是没有其他变量引用他们。这种情况下仅使用引用计数是不够的。Python 的垃圾收集器实际上是一个引用计数器和一个循环垃圾收集器。作为引用计数的补充 垃圾收集器也会留心被分配的总量很大即未通过引用计数销毁的那些的对象。 在这种情况下 解释器会暂停下来 试图清理所有未引用的循环其实说白了就是有a、b两个对象它们独立与其他对象产生较为单独的一对相互引用关系这种对象时间长了也会被回收掉 特别注意一个对象被回收时会调用它的__del__方法这个方法是用来回收对象的但大家不要纠结后面我会单独说这种有四个下滑线的方法是干什么的 下面我们来了解一下类的继承类继承语法如下 class 派生类名(基类名):...Python的类继承的时候和其他语言一样有着注意点 1、如果在子类中需要父类的构造方法就需要显式的调用父类的构造方法或者不重写父类的构造方法。实例如下 当你没有重写构造方法时 class Father():def __init__(self, name):self.namenamedef getName(self):return Father self.nameclass Son(Father):def getName(self):return Son self.namesonSon(runoob) print ( son.getName() )结果Son runoob 从结果中你可以发现传入的name值作用在了父类的构造器上----------------------------------------------------------------------------- 当你重写了子类的构造方法但是没有调用父类的时候 class Father():def __init__(self, name):self.namenamedef getName(self):return Father self.nameclass Son(Father):def __init__(self, name):print ( hi )self.name namedef getName(self):return Son self.namesonSon(runoob) print ( son.getName() )结果 hi Son runoob 从结果来看发现并没有调用父类的构造方法------------------------------------------------------------ 当你重写了子类的构造方法并调用了父类的构造方法时 class Father():def __init__(self, name):self.name nameprint(这里是父类)class Son(Father):def __init__(self, name):#第一种调用方法super(Son, self).__init__(name)#第二种调用方法Father.__init__(self,name)print (hi)self.name namedef getName(self):return Son self.namesonSon(runoob) print ( son.getName() ) 结果 这里是父类 hi Son runoob2、在调用基类的方法时基类的方法必须有self参数不然无法执行对于这一点其实大家养成写方法参数要带上self的习惯就可以了 基类没有self class Father():def __init__(self, name):self.name namedef nnn():print(父类方法)class Son(Father):def __init__(self, name):Father.__init__(self,name)self.name namesonSon(runoob) son.nnn() 结果报错 Traceback (most recent call last):File main.py, line 17, in moduleson.nnn() TypeError: nnn() takes no arguments (1 given)---------------------------------------------------------------- 基类有self class Father():def __init__(self, name):self.name namedef nnn(self):print(父类方法)class Son(Father):def __init__(self, name):Father.__init__(self,name)self.name namesonSon(runoob) son.nnn() 结果父类方法3、Python 总是首先查找对应类型的方法如果它不能在派生类中找到对应的方法它才开始到基类中逐个查找。先在本类中查找调用的方法找不到才去基类中找。 值得高兴的是Python支撑多继承 class A: # 定义类 A .....class B: # 定义类 B .....class C(A, B): # 继承类 A 和 B .....还提供了两个检查函数 issubclass() 布尔函数判断一个类是另一个类的子类或者子孙类语法issubclass(子类,父类) isinstance(obj, Class) 布尔函数如果obj是Class类的实例对象或者是一个Class子类的实例对象则返回truePython也支持多态在重写父类方法的时候也要注意self class Father():def __init__(self, name):self.name namedef nnn(self):print(父类方法)class Son(Father) :def __init__(self, name) :Father.__init__(self,name)self.name namedef nnn(self,age) :print(子类方法 str(age))def nnn(self,age,ppp) :print(子类方法 str(age) str(ppp))a Son(Tom) a.nnn(10) a.nnn(10,20) 结果 子类方法10 子类方法1020如果看了我写的公共方法篇一定知道加法是合并的意思而有趣的是Python的对象也支持这样的操作不过想要对象之间执行合并你需要重写__add__方法 class Vector:def __init__(self, a, b):self.a aself.b bdef __str__(self):return Vector (%d, %d) % (self.a, self.b)def __add__(self,other):return Vector(self.a other.a, self.b other.b)v1 Vector(2,10) v2 Vector(5,-2) print v1 v2 结果Vector (7, 8)值得一提的是在Python中类也是有静态方法的 class Father():def __init__(self, name):self.name namestaticmethoddef nnn(self):print(静态方法)Father.nnn() a Father(Tom) a.nnn()
http://www.dnsts.com.cn/news/185905.html

相关文章:

  • 石家庄自己的网站wordpress电商主题
  • 商丘网站建设商丘wordpress静态页面找不到
  • 最好的商业网站互联网科技网站
  • 有彩虹代刷源码怎么做网站网页设计模板如何使用
  • 网站建设技术分析做网站 360
  • 卢氏住房和城乡建设厅网站园林景观设计效果图
  • 南昌网站制作公司网站keywords标签怎么写
  • 模板网站优网页制作下载图片代码
  • 淄博建设网站公司科技网站建设分析
  • 优秀企业网站的优缺点怎么怎么做网站
  • 做网站用的国外节点服务器网络营销环境案例
  • ipv6可以做网站吗广州市新闻发布会
  • 代理做网站怎么样网站页面制作
  • 色块网站成都高端网站设计公司
  • 重庆市住房和城乡建设厅官方网站企业网站建完后没人
  • 山西推广型网站制作怎么做一个链接网站
  • 苏州企业建设网站公司网站建设公司每年可以做多少个网站
  • 电商网站后台管理系统开发公司招标流程及管理制度
  • 网站建设方案的策划书php多平台商城网站系统建设
  • 太湖手机网站建设凡科免费建站
  • 网站建设报告总结电商网站建设源码
  • 奉贤网站建设品牌推广公司是做什么的
  • 网站屏蔽ip地址wordpress 4.8.2中文
  • 优化官方网站设计wordpress 图片加链接地址
  • 网站百度无排名网页设计教程花之语
  • 个人网站 可以做淘宝客吗小程序商城设计
  • 用服务器建立网站制作网页代码大全
  • 个人免费注册公司网站wordpress淘宝客主题 2018
  • 找企业做网站营销推广网站建设
  • 广州市住房城乡建设局网站岫岩县网站建设