python继承

初识Python

ⅰ亾dé卋堺 提交于 2019-11-30 02:35:33
Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。 最新的TIOBE排行榜,Python赶超PHP占据第五!!! 由上图可见,Python整体呈上升趋势,反映出Python应用越来越广泛并且也逐渐得到业内的认可!!! Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。互联网公司广泛使用Python来做的事一般有:自动化运维、自动化测试、大数据分析、爬虫、Web 等。 注视:上述重点字体表示该公司主要使用Python语言开发 为什么是Python而不是其他语言? C 和 Python、Java、C#等 C语言: 代码编译得到 机器码 ,机器码在处理器上直接执行,每一条指令控制CPU工作 其他语言: 代码编译得到 字节码 ,虚拟机执行字节码并转换成机器码再后在处理器上执行 Python 和 C Python这门语言是由C开发而来  

python-面对对象

淺唱寂寞╮ 提交于 2019-11-30 02:08:02
什么是面向对象 早期的编程语言没有提供处理集群数据的良好接口。这意味着任何代码段都可以存取某个数据结构的任何部分,从而导致程序的缺陷难以隔离。 如果将数据以及处理它们的过程组织为一个包并定义一个良好的接口,情况就会好很多。这种组织方法即现在广为流行的面向对象编程方法。 面向对象编程是一种组织程序的新型思维方式,软件设计的焦点不再是程序的逻辑流程,而是软件或程序中的对象以及对象之间的关系。 类和对象 在python中,把具有相同属性和方法的对象归为一个类 举个例子: 有一天老板让你做鸡头 #让你做个鸡头 def Yan(): print("做个鸡眼睛") def Zui(): print("做个鸡嘴巴") def Bi(): print("做个鸡鼻子") def Nao(): print("做个鸡脑袋") Yan() Zui() Bi() Nao() 又一天老板让你做鸭头 #让你做个鸭头 def Yan(): print("做个鸭眼睛") def Zui(): print("做个鸭嘴巴") def Bi(): print("做个鸭鼻子") def Nao(): print("做个鸭脑袋") Yan() Zui() Bi() Nao() 你虽然完成了工作,但你有没有感到很麻烦 所以类方法可以让这个变得很简单 class Animal(object): def __init__(self

python之面向对象

…衆ロ難τιáo~ 提交于 2019-11-30 01:38:44
object类是一个超类,是所有类的父类。pass表示类里面什么都不没有,空类。 类拥有3种行为2种属性:  静态方法,类方法,实例方法。         类属性,实例属性。 类定义: # coding=utf-8 class A: # 第一种简写方式 pass class B(object): # 第二种方式()里面写上继承的父类,默认写上object pass 类定义 静态方法: 需要用@staticmethod修饰 # coding=utf-8 class A(object): @staticmethod # 静态方式必须用static修饰 def fun1(): # 函数定义 print("类里面的静态方法") A.fun1() 静态方法 类方法: 需要用@classmethod修饰 # coding=utf-8 class A(object): @classmethod def fun1(cls): print("类方法") A.fun1() 类方法 来源: https://www.cnblogs.com/PrideAssassin/p/11544270.html

【第十二篇】Python面向对象进阶

风格不统一 提交于 2019-11-29 23:50:17
一、isinstance(obj,cls)和issubclass(sub, super) 1.1 isinstance isinstance(obj,cls)检查obj是否是类cls的对象 包括继承关系 1 class Foo(object): 2 pass 3 4 obj = Foo() 5 print(isinstance(obj, Foo)) # True 1.2 issubclass issubclass(sub, super)检查sub类是否是super类的派生类 判断类与类之间的继承关系 1 class Foo(object): 2 pass 3 4 5 class Bar(Foo): 6 pass 7 8 9 print(issubclass(Bar, Foo)) # True 二、特殊方法 跟运算符无关的特殊方法: 类别 方法名 字符串 / 字节序列表示形式 __repr__、 __str__、 __format__、 __bytes__ 数值转换 __abs__、 __bool__、 __complex__、 __int__、 __float__、 __hash__、 __index__ 集合模拟 __len__、 __getitem__、 __setitem__、 __delitem__、__contains__ 迭代枚举 __iter__、 _

Python创建线程的两种方式

我只是一个虾纸丫 提交于 2019-11-29 22:37:02
import threading, random, time # 第一种创建方式 传入run方法 def thread_run(urls): print('Current %s is running...' % threading.current_thread().name) for url in urls: print('%s ---->> %s' % (threading.current_thread().name, url)) time.sleep(random.random()) print('%s ended.' % threading.current_thread().name) print('%s is running' % threading.current_thread().name) t1 = threading.Thread(target=thread_run, args=(['url1', 'url2', 'url3'],)) t2 = threading.Thread(target=thread_run, args=(['url4', 'url5', 'url6'],)) t1.start() t2.start() t1.join() t2.join() print('%s ended.' % threading.current_thread().name

django学习笔记(1)

谁说胖子不能爱 提交于 2019-11-29 22:33:41
一、环境准备 我的运行环境是centos7.2 首先安装python,我用的3.7不知道以后会不会有坑,然后创建虚拟环境 python3.7 -m venv student-env 然后激活虚拟环境 source student-env/bin/activate 安装django pip install django~=1.11 二、django模块 Model层:   一个类就是一个表,类下的每一个属性都是字段。对于选择约束,使用choices=ITEMS来约束,比如下面这个性别约束: from django.db import models SEX_ITEMS = [ (1,'男'), (2,'女'), (3,'未知'), ] sex = models.IntegerField(choices=SEX_ITEMS, verbose_name="性别") models下的所有field如下: admin层:   创造一个类,这个类继承了admin.ModelAdmin,然后就是把model里的字段做了分类?不是很清楚,到时候明白了回来修改笔记(2019/09/17 23:28)。 最后加一行,估摸着是关联model里的student和admin admin.site.register(Student, StudentAdmin) 然后基本的admin界面就好了

Python面向对象编程——面向对象的软件开发

断了今生、忘了曾经 提交于 2019-11-29 21:58:12
Python面向对象编程——面向对象的软件开发 面向对象的软件开发 很多人在学完了python的class机制之后,遇到一个生产中的问题,还是会懵逼,这其实太正常了,因为任何程序的开发都是先设计后编程,python的class机制只不过是一种编程方式,如果你硬要拿着class去和你的问题死磕,变得更加懵逼都是分分钟的事,在以前,软件的开发相对简单,从任务的分析到编写程序,再到程序的调试,可以由一个人或一个小组去完成。但是随着软件规模的迅速增大,软件任意面临的问题十分复杂,需要考虑的因素太多,在一个软件中所产生的错误和隐藏的错误、未知的错误可能达到惊人的程度,这也不是在设计阶段就完全解决的。 所以软件的开发其实一整套规范,我们所学的只是其中的一小部分,一个完整的开发过程,需要明确每个阶段的任务,在保证一个阶段正确的前提下再进行下一个阶段的工作,称之为软件工程 面向对象的软件工程包括下面几个部分: 1、面向对象分析(object oriented analysis, OOA) 软件工程中的系统分析阶段,要求分析员和用户结合在一起,对用户的需求做出精确的分析和明确的表述,从大的方面解析软件系统应该做什么,而不是怎么去做。面向对象的分析要按照面向对象的概念和方法,在对任务的分析中,从客观存在的事物和事物之间的关系,归纳出有关的对象(对象的‘特征’和‘技能’)以及对象之间的联系

Python面向对象编程——元类

廉价感情. 提交于 2019-11-29 21:57:01
Python面向对象编程——元类 一、只是储备 exec:三个参数 参数一:字符串形式的命令 参数二:全局作用域(字典形式),如果不指定,默认为globals() 参数三:局部作用域(字典形式),如果不指定,默认为locals() exec的使用 #可以把exec命令的执行当成是一个函数的执行,会将执行期间产生的名字存放于局部名称空间中 g={ 'x':1, 'y':2 } l={} exec(''' global x,z x=100 z=200 m=300 ''',g,l) print(g) #{'x': 100, 'y': 2,'z':200,......} print(l) #{'m': 300} 二、引子(类也是对象) class Foo: pass f1=Foo() #f1是通过Foo类实例化的对象 python中一切皆是对象,类本身也是一个对象,当使用关键字class的时候,python解释器在加载class的时候就会创建一个对象(这里的对象指的是类而非类的实例),因而我们可以将类当作一个对象去使用,同样满足第一类对象的概念,可以: 把类赋值给一个变量 把类作为函数参数进行传递 把类作为函数的返回值 在运行时动态地创建类 上例可以看出f1是由Foo这个类产生的对象,而Foo本身也是对象,那它又是由哪个类产生的呢? #type函数可以查看类型,也可以用来查看对象的类

python面向对象代码示例

三世轮回 提交于 2019-11-29 21:41:19
#!/usr/bin/env python # -*- coding: utf-8 -*- # a class definition class MyClass: """一个简单的类定义 A Simple Example Class""" i = 1234 #类的成员变量 def f(self):#类的成员函数 return "Hello World" x = MyClass() print MyClass.__doc__ print x.__doc__ #显示定义一个类的初始化方法 class Complex: def __init__(self, realpart, imagpart): self.r = realpart self.i = imagpart x = Complex(3.0, -4.5) print x.r, x.i x.counter = 2 #instance attribute print x.counter # print Complex.counter将出错 del x.counter #类的成员函数也可以在外部定义 def f1(self, x, y): return min(x, x+y) class C: f = f1 def g(self): return 'hello world' h = g #这样C.f C.h C.g都是合法的函数对象

python之路——初识面向对象

こ雲淡風輕ζ 提交于 2019-11-29 21:33:13
阅读目录 楔子 面向过程vs面向对象 初识面向对象   类的相关知识   对象的相关知识   对象之间的交互   类命名空间与对象、实例的命名空间   类的组合用法   初识面向对象小结 面向对象的三大特性   继承   多态   封装 面向对象的更多说明   面向对象的软件开发   几个概念的说明   面向对象常用术语 回到顶部 楔子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战>的游戏,你就思考呀,人狗作战,那至少需要2个角色,一个是人, 一个是狗,且人和狗都有不同的技能,比如人拿棍打狗, 狗可以咬人,怎么描述这种不同的角色和他们的功能呢? 你搜罗了自己掌握的所有技能,写出了下面的代码来描述这两个角色 def person(name,age,sex,job): data = { 'name':name, 'age':age, 'sex':sex, 'job':job } return data def dog(name,dog_type): data = { 'name':name, 'type':dog_type } return data 人和狗的角色定制1 上面两个方法相当于造了两个模子,游戏里的每个人和每条狗都拥有相同里的属性。游戏开始,你根据一个人或一只狗传入的具体信息来塑造一个具体的人或者狗,怎么生成呢? d1 = dog("李磊","京巴")