python实例

Python全栈工程师(多继承、函数重写)

雨燕双飞 提交于 2020-02-29 11:11:38
ParisGabriel 每天坚持手写 一天一篇 决定坚持几年 为了梦想为了信仰   开局一张图                        Python人工智能从入门到精通 补充:   对象 -------------------------> 类 实例变量(属性)      类变量 实例方法          类方法( @classmethond) 静态方法( @staticmethond)(类内普通函数) 继承/派生   单继承:   一个子类只有一个父类   一个父类可以有多个子类 -------------------------------------------------------------------------------------------- 用于类的函数:    issublclass (cls, cls_or_tuple)    判断 这个类 是否继承自其他类 , 如果此cls是class   或 tuple中的一个派生子类 , 返回 True 否则返回 False 示例:   class A:     pass   class B(A):     pass   class C(B):     pass issublclass(C, B) # True issublclass(B, C) # False issublclass(C, (int,

Python学习笔记(2)-python对象

假如想象 提交于 2020-02-29 10:00:31
1.所有的Python 对像都拥有三个特性:身份,类型和值。 身份: 每一个对象都有一个唯一的身份标识自己,任何对象的身份可以使用内建函数id()来得到。 这个值可以被认为是该对象的内存地址。您极少会用到这个值,也不用太关心它究竟是什么。 2.类型也是一种对象 >>> type(42) <type 'int'> >>> type(type(42)) <type 'type'> 3. 整数对象和 字符串对象是不可变对象,所以Python 会很高效的缓存它们。 Python 仅缓存简单整数,因为它认为在Python 应用程序中这些小整数会经常被用到。目前,Python 缓存的整数范围是(-1, 100),不过这个范围是会改变的,所以请不要在你的应用程序使用这个特性。 4.标准类型构建函数 函数 功能 cmp(obj1, obj2) 比较 obj1 和 obj2, 根据比较结果返回整数 i: i < 0 if obj1 < obj2 i > 0 if obj1 > obj2 i == 0 if obj1 == obj2 repr(obj) 或 `obj` 返回一个对象的字符串表示 str(obj) 返回对象适合可读性好的字符串表示 type(obj) 得到一个对象的类型,并返回相应的type 对象 注:str()函数得到的字符串可读性好, 而repr(

Python:使用threading模块实现多线程(转)

ぐ巨炮叔叔 提交于 2020-02-29 08:58:11
Python:使用threading模块实现多线程(转) 分类: python 标签: thread 评论: 暂无评论 阅读:5,420 views 综述 Python这门解释性语言也有专门的线程模型,Python虚拟机使用GIL(Global Interpreter Lock,全局解释器锁)来互斥线程对共享资源的访问,但暂时无法利用多处理器的优势。 在Python中我们主要是通过thread和 threading这两个模块来实现的,其中Python的threading模块是对thread做了一些包装的,可以更加方便的被使用,所以我们使用 threading模块实现多线程编程。这篇文章我们主要来看看Python对多线程编程的支持。 在语言层面,Python对多线程提供了很好的支持,可以方便地支持创建线程、互斥锁、信号量、同步等特性。下面就是官网上介绍threading模块的基本资料及功能: 实现模块 thread:多线程的底层支持模块,一般不建议使用; threading:对thread进行了封装,将一些线程的操作对象化 threading模块 Thread 线程类,这是我们用的最多的一个类,你可以指定线程函数执行或者继承自它都可以实现子线程功能; Timer与Thread类似,但要等待一段时间后才开始运行; Lock 锁原语,这个我们可以对全局变量互斥时使用; RLock

[ python ] 类中的一些特殊方法

ε祈祈猫儿з 提交于 2020-02-29 01:37:39
item系列 __getitem__(self, item) 对象通过 object[key] 触发 __setitem__(self, key, value) 对象通过 object[key] = value 触发 __delitem__(self, key) 对象通过 del object[key] 触发 class Func: def __getitem__(self, item): # object[item] 触发 return self.__dict__[item] def __setitem__(self, key, value): # object[key] = value 触发 self.__dict__[key] = value def __delitem__(self, key): # del object[key] 触发 print('delitem: 删除key') del self.__dict__[key] def __delattr__(self, item): # del object.item 触发 print('delattr: 删除key') del self.__dict__[item] f = Func() f['name'] = 'hkey' # __setitem__ f['age'] = 20 # __setitem__ print

Python3 基本数据类型:字符串、列表、元组、集合、字典等

依然范特西╮ 提交于 2020-02-28 20:32:02
Python3 基本数据类型 Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。 在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。 等号(=)用来给变量赋值。 等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。例如: 实例(Python 3.0+) #!/usr/bin/python3 counter = 100 # 整型变量 miles = 1000.0 # 浮点型变量 name = " runoob " # 字符串 print ( counter ) print ( miles ) print ( name ) 运行实例 » 执行以上程序会输出如下结果: 100 1000.0 runoob 多个变量赋值 Python允许你同时为多个变量赋值。例如: a = b = c = 1 以上实例,创建一个整型对象,值为 1,从后向前赋值,三个变量被赋予相同的数值。 您也可以为多个对象指定多个变量。例如: a, b, c = 1, 2, "runoob" 以上实例,两个整型对象 1 和 2 的分配给变量 a 和 b,字符串对象 "runoob" 分配给变量 c。 标准数据类型 Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表

Python字典(Dictionary)的概念

China☆狼群 提交于 2020-02-28 18:59:02
Python字典(Dictionary)的概念 字典的使用 字典是另一种可变容器模型,且可存储任意类型对象。 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示: d = { key1 : value1 , key2 : value2 } 键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。 dict = { 'x' : 1 , 'y' : 2 } print ( dict [ 'y' ] ) print ( dict ) 以上实例输出结果: 值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。 一个简单的字典实例: dict = { 'Alice' : '2341' , 'Beth' : '9102' , 'Cecil' : '3258' } 也可如此创建字典: dict1 = { 'abc' : 456 } dict2 = { 'abc' : 123 , 98.6 : 37 } 以上实例输出结果: 访问字典里的值 把相应的键放入熟悉的方括弧,如果用字典里没有的键访问数据会提示报错,如下实例: dict = { 'Name' : 'Zara' , 'Age' : 7 , 'Class' : 'First' } print "dict['Name']: " , dict

【Python进阶】5-4 __slots__ / __call__

喜你入骨 提交于 2020-02-28 17:44:04
文章目录 1、前言 2、使用__slots__ 3、使用__call__ 1、前言 正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性。 先定义class: class Student ( object ) : pass 然后,尝试给实例绑定一个属性: >> > s = Student ( ) >> > s . name = 'Michael' # 动态给实例绑定一个属性 >> > print ( s . name ) Michael 还可以尝试给实例绑定一个方法: >> > def set_age ( self , age ) : # 定义一个函数作为实例方法 . . . self . age = age . . . >> > from types import MethodType >> > s . set_age = MethodType ( set_age , s ) # 给实例绑定一个方法 >> > s . set_age ( 25 ) # 调用实例方法 >> > s . age # 测试结果 25 但是,给一个实例绑定的方法,对另一个实例是不起作用的: >> > s2 = Student ( ) # 创建新的实例 >> > s2 . set_age ( 25 ) # 尝试调用方法

python 面向对象

二次信任 提交于 2020-02-28 10:22:52
面向对象变成介绍 面向过程编程 核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西。主要应用在一旦完成很少修改的地方,如linux内核、git、apache服务器等 优点:极大的降低了程序的设计复杂度 缺点:可扩展性差,改动一个地方很可能要改多个地方,牵一发而动全身 面向对象编程: 不是编程的全部,只是用来解决软件可扩展性的 核心是对象(上帝式思维),对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。面向对象就是把计算机程序作为一个对象集合,每隔对象都能接收其他对象传来的消息,计算机程序的执行就是就是一系列消息在各个对象之间传递。主要应用在需求经常变化的软件,一般需求的变化都集中在用户层,互联网应用,企业内部软件,游戏等 优点:解决了程序的可扩展性差的问题,对某一个对象修改会立刻反映到整个程序体系,如lol对一个英雄属性的修改(万年削弱从未被加强) 缺点:可控性差,无法预测程序执行结果,如lol每局游戏的结果 类和对象 对象的概念 对象也叫做实例,是通过类产生的,对象就是数据属性和方法属性的结合体,比如lol中的英雄,一个英雄就是一个对象,具备生命值、蓝条攻击力等数据属性,又具备qwer四个技能属于方法属性。 类的概念 类包含了一组对象的相同属性部分,还是说lol中的英雄,所有的英雄都有名字、标签

python面向对象之初步认识

假装没事ソ 提交于 2020-02-28 10:22:02
面向对象 类,用来描述一类事物的相同的特征或者属性。比如说,狗,狗属于一种统称,狗还分有不同的种类,比如,牧羊犬,蝴蝶犬,京巴等等,他们都有相同的特征,一个头,两个耳朵,四条腿,会跑,会吃东西,会汪汪叫。。。再比如汽车,四个轮子,都拥有车壳,都会跑,都有一定的承重。。。这些都是具备一些共同特征的事物。 类的定义方式: class ClassName: '类的帮助信息' # 类文档字符串 class_suite #类体,由类成员,方法,数据属性组成 下面是一个简单类的定义,其中函数内的self代指类的实例 class Cat: 'Cat类的帮助信息' def __init__(self): # 类的初始化方法 print("Cat 的init方法被调用") def eat(self): # 自定义方法 print("cat is eating") def run(self): # 自定义方法 print("cat is running") 如何使用这个类?与调用函数的方式类似,类的使用是通过类名()进行使用,返回的是一个对象,也就是实例。 tom = Cat() print(tom) # <__main__.Cat object at 0x000001B4A55123C8> 类中不仅仅可以定义函数,还可以定义变量。 class Car(object): 'Car' CarCount

[Python数据可视化基础]matplotlib、pygal库、CSV模块、json、绘制世界人口地图、API

浪子不回头ぞ 提交于 2020-02-28 10:08:02
matplotlib库之 pyplot模块 1.绘制折线图 plot(x,y)#x,y可为表达式 xlabel("title_name",fontsize=14)#设置x,y标签 tick_params(“both”,labelsize=14)#设置both of x y 刻度 axis([x_min,x_max,y_min,y_max])#设置坐标轴范围 fill_between(x,y1,y2,facecolor='bule',alpha=0.1)#填充两线 2.散点图 scatter(x_values,y_values,c=y_values,cmap=plt.cm.Blues,edgecolor='none',s=40,alpha=0.5)#cm方法可设置颜色映射;edgcolor为轮廓颜色;c为散点颜色;alpha为透明度 savefig('fil_name.png',bbox_inches='tight') #自动保存生成图并截去空白 axes().get_xaxis().set_visible(Fasle) #隐藏坐标轴 figure(figsize=(10,6)) #绘图窗口大小 pygal库 bar=Bar()#Bar类,创建条形图实例 bar.x_label=[] #设置图像参数 bar.add(' 标签 ',frequencies)