python实例

Python 类 初学者笔记

て烟熏妆下的殇ゞ 提交于 2020-02-22 14:38:06
面对象编程:编写表现世界中的事物和景象的类,并基于这些类创建对象,被创建的对象称为实例化。 创建类 class Dog(): #Python中类名称中的首字母要大写 def __init__(self, name, age): #类中的函数都称为【方法】,init__()是个特殊的方法,每当我们根据Dog类创建实例时,Python都会自动的运行它 #self必不可少且必须位于其它形参前面, # 每个与类相关的方法调用都自动传入self,self让实例能够访问类中的属性和方法 self.name = name#以【self】为前缀的变量,可供类中所有【方法】使用,也可通过【实例】访问,我们称其为【属性】 self.age = age def sit(self): #self会自动传递name与age print(self.name.title() + " is now sitting.") def roll_over(self): print((self.name.title() + " rolled over!")) 根据类创建实例 my_dog = Dog('willie',6) #根据类创建的实例名称应用小写 print("My dog's name is " + my_dog.name.title() + ".")#__init__并未显式的包含return语句

类和对象

本秂侑毒 提交于 2020-02-22 09:23:12
类和对象 一、面向过程和面向对象 (1)面向过程 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西。 优点:极大的降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可。 缺点:一套流水线或者流程就是用来解决一个问题,代码牵一发而动全身。 应用场景:一旦完成基本很少改变的场景,著名的例子有Linux內核,git,以及Apache HTTP Server等。 (2)面向对象 面向对象的程序设计的核心是对象(上帝式思维),要理解对象为何物,必须把自己当成上帝,上帝眼里世间存在的万物皆为对象,不存在的也可以创造出来。 优点:解决了程序的扩展性。对某一个对象单独修改,会立刻反映到整个体系中,如对游戏中一个人物参数的特征和技能修改都很容易。 缺点:可控性差,无法向面向过程的程序设计流水线式的可以很精准的预测问题的处理流程与结果,面向对象的程序一旦开始就由对象之间的交互解决问题 , 即便是上帝也无法预测最终结果。于是我们经常看到修改游戏的某一参数的极有可能导致bug的出现,使这个游戏失去平衡。 应用场景:需求经常变化的软件,一般需求的变化都集中在用户层,互联网应用,企业内部软件,游戏等都是面向对象的程序设计大显身手的好地方。 面向对象编程可以使程序的维护和扩展变得更简单,并且可以大大提高程序开发效率

python - isinstance/issubclass 函数

五迷三道 提交于 2020-02-22 04:34:23
#isinstance(obj,cls) #检查是否obj是否是object的类cls的对象 #判断一个对象是否是一个类的实例 class F00(object): pass obj = F00() print(isinstance(obj, F00)) #返回 True #issubclass(sub,super) #判断是否是对象的子类 class F02(F00): pass print(issubclass(F02,F00)) isinstance(obj,cls)应用: #拓展(判断一个数据的数据类型) a = 'aaaa' b = [1,2,3,4] c = (1,2,3) d = {"a":1} e = 233 l = [a,b,c,d,e] for i in l: print(isinstance(i, str)) 来源: https://www.cnblogs.com/Anec/p/9784465.html

python解析xml实例

元气小坏坏 提交于 2020-02-21 23:33:56
如下,一个银行卡打标签后导出的数据 <?xml version="1.0" encoding="ISO-8859-1"?> <annotation> <filename>a001.jpg</filename> <folder>users/three33//card</folder> <source> <submittedBy>three</submittedBy> </source> <imagesize> <nrows>2240</nrows> <ncols>3968</ncols> </imagesize> <object> <name>numbers</name> <deleted>0</deleted> <verified>0</verified> <occluded>no</occluded> <attributes>6228480808055442079</attributes> <parts> <hasparts/> <ispartof/> </parts> <date>12-May-2019 06:21:39</date> <id>0</id> <type>bounding_box</type> <polygon> <username>anonymous</username> <pt> <x>927</x> <y>1278</y> </pt> <pt> <x

Python笔记

╄→尐↘猪︶ㄣ 提交于 2020-02-21 22:37:13
文章目录 一、基础 1. 注释 单行注释 TODO注释 多行注释 2. 数据类型 3. 运算符 数值运算 字符串运算 成员运算符 身份运算符 4. 转义字符 二、高级变量 1. 列表 定义 方法 2. 元组 定义 方法 3. 字典 定义 方法 4. 字符串 定义 方法 5. 切片 6. 全局变量 三、判断与循环 1. 判断 if else elif 2. 循环 while for 四、函数与方法 1. 封装 2. 导入 3. 参数 4. 返回值 5. 常用函数 输入 输出 随机数 eval 其他 五、类 1. 封装 实例属性与实例方法 类属性与类方法 静态方法 案例与总结 内置方法 私有属性与私有方法 2. 多态 单继承 多继承 重写 六、异常 1. 异常捕获 2. 异常传递 3. 异常抛出 七、文件操作 1. 文件读写 2. 文件访问方式 3. 大文件读取 八、模块 1. 模块导入 2. 包 一、基础 1. 注释 单行注释 单行注释快捷键crtl+/ # 行注释 print ( "hello world" ) # 语句注释 重要代码块使用等号隔开 # ====================== # ====================== TODO注释 # TODO 待完成任务 多行注释 """ 多行注释 """ 2. 数据类型 Python中定义变量时不需要指定变量类型

创建一个Django项目

江枫思渺然 提交于 2020-02-21 19:13:58
创建一个Django项目: 在命令行执行命令:如下 1.django-admin startproject 项目名字(mysite) 2.创建一个应用程序: python manage.py startapp blog 3.启动项目: python manage.py reserver ip地址 端口号 (ip地址如果为空,则代表本机ip地址) HttpResponse本身就是一个类,其后面括号中的字符串为:该类实例出的一个对象 在Django中返回给客户端的所有内容都是通过HttpRequest实现的 render也是底层封装了HttpResponse request和HttpResponse request.path可以查看用户的访问路径,如<h1>{{request.path}}</h1> ======================================== 1.req.POST是一个字典,通过字典的键,后端可以拿到用户输入的值 2.当填写完数据进行提交表单的时候出现 CSRF安全问题,解决方法:在setting配置文件中注释掉django.middleware.csrf.CsrfViewMiddleware 便可以解决 3.变量一定要放在两个大括号中 来源: https://www.cnblogs.com/startl/p/12342187.html

《Effective Python 编写高质量Python代码的59个有效方法》第四章(共八章)阅读总结

↘锁芯ラ 提交于 2020-02-21 10:11:22
年纪大了,记性不好,老忘,所以在读完这本书后写了这一系列文章,文章中没有任何书中的示例代码,只是对每条知识点的总结。写给自己看,分享给大家看,不足之处欢迎指正。 第四章:元类及属性(总结) 第29条:用纯属性取代get和set方法 从其他语言转入Python的开发者,可能会在类中明确的实现getter和setter方法,作者是从Java转入Python的感受尤为明显。getter和setter用起来虽然简单但不是Python的编程风格。 总结: 1.编写新类时,应该用简单的public属性来定义其接口,而不要手工实现set和get方法 2.如果访问对象的某个属性,需要表现出特殊的行为,那就用@property来定义这种行为 3.@property 方法应该遵循最小惊讶原则,而不应该产生奇怪的副作用 4.确保@property方法是执行迅速的,如果是慢或者复杂的工作应该放在普通的方法里面 第30条:考虑用@property来代替属性重构 本条的意思是:取消旧属性的时候,可以考虑用这个修饰器来支持调用原来的类的旧代码继续运作 总结:当我们对属性的需求发生变化的时候,我们只需要给本类添加新的功能,原来的那些调用代码都不需要改变,它在持续完善接口的过程中是一种重要的缓冲方案,但是,如果@property用的太过频繁,就应该考虑彻底重构该类并修改相应的调用代码 第31条

Python类变量与实例变量及成员函数修饰方式说明(与Java定义方式进行类比)

大兔子大兔子 提交于 2020-02-21 08:04:47
Python类中的变量有类变量和实例变量之分。 类变量:变量绑定在类上,同一个类之间的共享变量,类比于Java中的静态变量static 公有变量定义 Java 的定义方式 class Test{ public static class_variable = "123" } Python3 定义方式 class Test: class_variable = "123" 私有变量定义 Java 的定义方式 class Test{ private static class_variable = "123" } Python3 定义方式 class Test: __class_variable = "123" 实例变量:变量绑定在类的实例上,同一个类的不同实例之间不共享,类比于Java中的成员变量 公有变量定义 Java 的定义方式 class Test{ public instance_variable = "123" } Python3 定义方式 class Test: def __init__(self): self.instance_variable = "123" 私有变量定义 Java 的定义方式 class Test{ private instance_variable = "123" } Python3 定义方式 class Test: def __init__(self)

Python:class类

感情迁移 提交于 2020-02-21 07:57:42
类及其类属性 1.属性就是属于另一个对象的数据或者函数元素,可以通过我们熟悉的句点属性标示法来访问。 2. 类属性 仅与其被定义的类相绑定,由于实例对象在日常的面向对象编程中用得最多, 实例数据属性 是你将会一直用到的主要数据属性。 类数据属性仅当需要更加“静态”数据类型时才变得有用,他和任何实例都无关。 类的数据属性 这种属性是一种静态变量,表示这些数据是与他们所属的类对象绑定的,不依赖于任何类实例。 >>> >>> class my(object): ... foo=100 #类属性 ... >>> print my.foo 100 >>> my.foo=my.foo+1 >>> my.foo 101 >>> 以上代码没有出现任何实例的引用 方法 方法其实就是类中定义的函数,他是属于类属性的,并不属于实例属性。虽然他是类属性,但是并不能直接通过类来调用。 >>> class my(object): ... def my_method(self): ... pass ... >>> c=my() >>> c.my_method() #通过实例调用 >>> my.my_method() #通过类直接调用这个方法 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError:

Python面向对象

那年仲夏 提交于 2020-02-21 05:14:14
文章内容参考了教程:http://www.runoob.com/python/python-basic-syntax.html#commentform 面向对象技术简介 类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。 类变量: 类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。 数据成员: 类变量或者实例变量用于处理类及其实例对象的相关的数据。 方法重写: 如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。 实例变量: 定义在方法中的变量,只作用于当前实例的类。 继承: 即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如,有这样一个设计:一个Dog类型的对象派生自Animal类,这是模拟"是一个(is-a)"关系(例图,Dog是一个Animal)。 实例化: 创建一个类的实例,类的具体对象。 方法: 类中定义的函数。 对象: 通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。 创建类 使用class语句来创建一个新类,class之后为类的名称并以冒号结尾,如下实例: class