Day9---Python的集合类】的更多相关文章

Python之路,Day9, 进程.线程.协程篇   本节内容 操作系统发展史介绍 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生产者消费者模型 Queue队列 开发一个线程池 进程 语法 进程间通讯 进程池 操作系统发展史 手工操作(无操作系统) 1946年第一台计算机诞生--20世纪50年代中期,还未出现操作系统,计算机工作采用手工操作方式. 手工操作程序员将对应于程序和数…
参考链接:https://www.cnblogs.com/yuanchenqi/articles/5828233.html 1.函数的定义 定义: 函数是指将一组语句的集合通过一个函数名封装起来,要想执行该函数,只需调用其函数名即可 特性: 1.代码重用(减少重复代码) 2.保持代码的一致性 3.可扩展性(方便修改) 2.函数的创建 格式 Python 定义函数使用 def 关键字,一般格式如下: def 函数名(参数列表): 函数体 函数名的命名规则 和变量命名规则一致 形参和实参 形参:形式…
1.文件操作 1.1 基本模式 # 格式 f = open("相对路径/绝对路径",mode = "模式",encoding = "编码级") ​ # 模式 # w ------> write (不存在则创建,存在则清空,光标在最后) # r ------> read (不存在则报错,光标在开头,参数为字符) # a ------> append (不存在则创建,存在则追加,强制光标在最后) ​ # 1 打开文件 f = ope…
Python内置的非常简单却强大的可以用来创建list的生成式.    私理解为,就是for循环出来的结果搞成个list~~~~    要生成顺序增量list可以使用list(range(x,y))来进行,如:        >>> list(range(1,11))        [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]        >>> list(range(-12,-1))        [-12, -11, -10, -9, -8, -…
li=[{'usename':'xiaowang'}, {'} ] board=['张三','李四','王大麻子'] while 1: usename = input('用户名:') if usename.upper()=='Q':break password = input('密码:') for i in board: if i in usename: usename=usename.replace(i,'*'*len(i)) li.append({'usename':usename,'pas…
文件的操作 1   文件的打开操作: 文件句柄 = open('文件路径', '模式') f=open('wangyakun','a+',encoding='utf-8') #文件名, 如果是绝对路径的话要写成 r'c:\user\administrator\'这种形式后边选择的编码方式要选择已保存的文件保存的编码方式,f.write('nihao a ') f.seek(2) seek 这里指的是字节位置如果出现中文就会一个字三个字节位, count=f.readlines() print(c…
本节内容: 1.socket的介绍 2.基于tcp的socket 3.基于tcp的问题分析 4.基于udp的socket 5.基于udp的问题分析 6.基于udp的ntp服务 7.基于tcp的远程执行命令服务 8.粘包 9.粘包的两种解决办法 1.socket的介绍 socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求 注意的一点:socket 的应用程序在内存的用户空间中,而操作系统…
集合(set):把不同的元素组成一起形成集合,是python基本的数据类型. python 的集合类型和 其他语言类似, 是一个无序不重复元素集 基本功能包括关系测试和消除重复元素.集合对象还支持union(联合), intersection(交), difference(差)和sysmmetricdifference(对称差集)等数学运算 1.先看下python 集合 类型的不重复性,可以把它转换成集合类型,然后在由集合类型转换成其他的类型. a = [2,3,4,2,1]a = set(a)…
[前言]最近在编写一个气象应用程序,用来显示某一时刻某一地区的气温等值线和风场,程序主要用到了第三方库matplotlib及Basemap.在编写的过程中发现,如果不进行擦除操作直接绘制新的等值线或风场,新的等值线(风场)会与原来的等值线(风场)叠加在一起,而绘制的等值线及风场没有单独的remove方法,所以如果想要擦除已经绘制的等值线就要将地图重新投影一遍,如果地图投影精度高一点,整个投影过程就会特别漫长.通过对等值线及风场的返回结果进行研究,我找到了一个不必重新投影地图就可将等值线及风场擦除…
Python之路,Day9 = Python基础9 判断可迭代对象和迭代器 from collections import Iterable, Iterator # 导入模块功能,用来判断对象是否为Iterable(可迭代对象).Iterator(迭代器)isinstance() # 使用这个功能辅助完成判断 isinstance(a, Iterable) 查看a是否为可迭代对象# 判断对象为可迭代对象还是迭代器 生成器 生成器就属于迭代器(包含yield的函数) yield 可以进行返回值操作…
目录 一.队列 二.生产者消费者模型 三.协程 四.select\poll\epoll 五.paramiko 六.mysql API调用 一.队列(queue) 队列分以下三种: class queue.Queue(maxsize=0) #先入先出 class queue.LifoQueue(maxsize=0) #last in fisrt out  class queue.PriorityQueue(maxsize=0) #存储数据时可设置优先级的队列 代码如下: import queue…
目录 python day4 元组/字典/集合类知识点补充 1. 元组tuple知识点补充 2. 字典dict的知识点补充 3. 基本数据类型set 4. 三元运算,又叫三目运算 5. 深复制浅复制 6. 函数 python day4 元组/字典/集合类知识点补充 (学习资源来自老男孩教育) 2019/10/7 1. 元组tuple知识点补充 创建和转换 t = (11,22,33) t = tuple(iterable),比如tuple([11,22,33]) 元组的特性 元组的特性:元组的元…
python Day9 函数的初识 #代码的可读性较好 s=[1,2,3,4,5,5] def list_len(S): count=0 for i in s: count+=1 print(count) list_len(s) 函数是以功能(完成一件事)为向导,登录,注册,len.一个函数就是一个共功能 函数的结构和调用 def 关键字,定义函数 list_len 函数名:与变量设置相同,其有可描述性 函数体:缩进.函数中尽量不要出现print 函数的返回值(Return) 在函数中遇到的re…
Paramiko模块 paramiko模块基于SSH用于连接远程服务器并执行相关操作 基于用户名密码连接: import paramiko # 创建SSH对象 ssh = paramiko.SSHClient() # 允许连接不在know_hosts文件中的主机 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 连接服务器 ssh.connect(hostname='c1.salt.com', port=22, usernam…
本节内容 操作系统发展史介绍 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生产者消费者模型 Queue队列 开发一个线程池 进程 语法 进程间通讯 进程池 操作系统发展史 手工操作(无操作系统) 1946年第一台计算机诞生--20世纪50年代中期,还未出现操作系统,计算机工作采用手工操作方式. 手工操作程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把…
一.面向对象进阶 1.利用python反射查看面向对象成员 对于对象:反射既可以找对象,类的成员 对于类:反射只能找类中的成员 2.利用反射操作模块(查找类,创建对象,查找对象中字段) 1 2 3 4 5 6 7 8 9 #!/bin/env python # -*- coding:utf-8 -*- moudel = __import__('lianxi',fromlist=True) # 导入模块 c_name = getattr(moudel,'foo')      # 到模块中查找类 o…
本节内容 Gevent协程 Select\Poll\Epoll异步IO与事件驱动 Python连接Mysql数据库操作 RabbitMQ队列 Redis\Memcached缓存 Paramiko SSH Twsited网络框架 queue队列 queue is especially useful in threaded programming when information must be exchanged safely between multiple threads. class que…
socket也可以认为是套接字是一种源IP地址和目的IP地址以及源端口号和目的端口号的组合.网络化的应用程序在开始任何通讯之前都必须要创建套接字.就像电话的插口一样,没有它就没办法通讯. socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO.打开.关闭) 我们知道两个进程如果需要进行通讯最基本的一个前提能能够唯一的标示一个进程,在本地进程通讯中我们可以使用PID来唯一标示一个进程,但PID只在本地唯一,网络中的两个进程PID冲突几率很大,这时候我们需要另辟它径了,我…
写一个集合类的三种方法:wrap,extend,invent 一:包装一个集合类 class Deck: def __init__( self ): self._cards = [card6(r+1,s) for r in range(13) for s in (Club,Diamond, Heart, Spade)] #这就是受包装的list型数据,添加方法对其进行操作 random.shuffle( self._cards ) def pop( self ): return self._ca…
队列queue 队列是线程安全的,它保证多线程间的数据交互的一致性. 先进先出队列Queue import queue q = queue.Queue(maxsize=3) #maxsize为队列最大长度,不设置则为无限长 q.put(1) #往队列放数据 q.put(2,timeout=1) #设置超时时间,超过时间抛异常 q.put_nowait(4) #如果队列已满,直接抛异常 print(q.qsize()) #获取队列长度 print(q.get()) # 从队列中获取数据,如果没有会…
摘要: 协程 Select\Poll\Epoll异步IO与事件驱动 Python连接MySQL数据库操作 RabbitMQ队列 Redis\Memcached缓存 Paramiko Twsited网络框架 1. 协程: 线程和进程的操作是由程序触发系统接口,最后的执行者是系统:而协程的操作者则是程序员. 协程存在的意义:对于多线程应用,CPU通过切片的方式来切换线程间的执行,线程切换时需要耗时(保存状态,下次继续).协程则只使用一个线程,在一个线程中规定某个代码块执行顺序. 协程的适用场景:当程…
一 .函数对象 一 .函数是第一类对象,即函数可以当作数据传递 可以被引用 可以当作参数传递 返回值可以是函数 可以当作容器类型的元素 二. 利用该特性,优雅的取代多分支的if def foo(): print('foo') def bar(): print('bar') dic={ 'foo':foo, #foo是内存地址 'bar':bar, #bar是内存地址 } while True: choice=input('>>: ').strip() if choice in dic: dic…
Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也可以自己创建函数,这被叫做用户自定义函数. 定义一个函数 你可以定义一个由自己想要功能的函数,以下是简单的规则: 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号(). 任何传入参数和自变量必须放在圆括号中间.圆括号之间可以用于定义参数. 函数的第一行语句可以选择性地使用文档字符串-用于…
https://www.cnblogs.com/alex3714/articles/5248247.html http://www.cnblogs.com/wupeiqi/articles/5132791.html Python之路[第九篇]:Python操作 RabbitMQ.Redis.Memcache.SQLAlchemy…
一.函数的初始 比如python没有len()方法,如何求字符串的长度使用for循环 s = 'fdshfeigjoglfkldsja' count = 0 for i in s: count += 1 print(count) 执行输出: 19 列表呢? li = [1,2,3,'a','b','c','ask'] count = 0 for i in li: count += 1 print(count) 执行输出: 7 如果是字典呢? 再把上面的代码贴一遍? 以上可以看出2点 1.重复代码…
1.字符编码 x='上' #unicode的二进制--------->编码-------->gbk格式的二进制 res=x.encode('gbk') #bytes 字节类型 print(res,type(res)) m=res.decode('gbk') print(m)  #把gbk解码成unicode,python打印自动转换成字符 2.文件处理 1.什么是文件 文件是操作系统为应用程序或者用户提供一种操作硬盘的虚拟单位 强调: 文件是操作系统提供的虚拟单位 应用程序或者用户对文件的读写…
函数的学习:函数对于一门编程语言来说挺重要的,尤其是c语言,是完全使用函数来编写的 1.函数的定义:逻辑结构化和过程化的一种编程方法 def squre(x): "求一个数的平方 return the square of x" #The function definitions函数的定义时加的注释写在这边 x*=x #函数的主体 return x #函数的返回值 2.函数的调用在python中,函数调用非常简单,直接函数名加括号即可 print(squre(2)) 3.函数可以有多个形…
有 + 就是有光标,注意光标位置 不同模式打开文件的完全列表:  http://www.runoob.com/python/python-files-io.html 模式 描述 r 以只读方式打开文件.文件的指针将会放在文件的开头.这是默认模式. rb 以二进制格式打开一个文件用于只读.文件指针将会放在文件的开头.这是默认模式.一般用于非文本文件如图片等. r+ 打开一个文件用于读写.文件指针将会放在文件的开头. rb+ 以二进制格式打开一个文件用于读写.文件指针将会放在文件的开头.一般用于非文…
2018/05/29 [来源:菜鸟教程](http://www.runoob.com/python3/python3-examples.html) 运算符重载 https://segmentfault.com/a/1190000013456795 https://zhuanlan.zhihu.com/p/20584316 [这个解释比较通俗易懂](https://zhidao.baidu.com/question/518493416493800005.html) #No.1 class Vect…
Python基础 一,Windows安装Python3.5 下载地址:https://www.python.org/ftp/python/3.5.2/python-3.5.2rc1-amd64.exe 双击安装在目录c:/Python35 设置环境变量 在后面添加新安装的Python目录即可在windows终端输入python打开python终端 PS:如果一个电脑安装多个python环境可以修改对应目录下面的python.exe文件名 二,linux编译安装Python3 linux默认有2版…