Python第四章__装饰器.迭代器 欢迎加入Linux_Python学习群  群号:478616847 目录: 列表生成式 生成器 迭代器 单层装饰器(无参) 多层装饰器(有参) 冒泡算法 代码开发规范 一.列表生成式(列表推导式) 列表生成式List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 首先来上个需求,我有一个列表 [1,2,3,4,5,6,7,8,9,10],现在有这么个需求,要里面的元素自乘,想想看要怎么实现 版本一,通过fo…
2016/1/28学习内容 第四章 Python字符串与正则表达式之字符串 编码规则 UTF-8 以1个字节表示英语字符(兼容ASCII),以3个字节表示中文及其他语言,UTF-8对全世界所有国家需要用到的字符进行了编码 GB2312->GBK->CP936 用2个字节表示中文 Unicode 常用指定方法 #coding=utf-8 #coding:GBK #-*-coding:utf-8-*- 2.x与3.x区别 2.x没有很好的支持,len(中文)=2或3 3.x很好的支持了,len(中…
2016/1/28学习内容 第四章 Python字符串与正则表达式之正则表达式 正则表达式是字符串处理的有力工具和技术,正则表达式使用预定义的特定模式去匹配一类具有共同特征的字符串,主要用于字符串处理,可以快速,准确地完成复杂的查找,替换等处理要求. Python中,re模块提供了正则表达式操作所需要的基本功能 正则表达式元字符 元字符: . 匹配除换行符意外的任意单个字符 元字符: * 匹配位于*之前的0个或多个字符 元字符: + 匹配位于+之前的1个或多个字符 元字符: | 匹配位于|之前或…
0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": "电脑","price":"1999"}, {"name": "鼠标", "price": "10"}, {"name": "游艇", &q…
 孤荷凌寒自学python第四十二天python的线程同步之Condition对象 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天学习了Condition对象,发现它综合了Event对象与Lock对象的特点,在使用和功能上更为丰富. 一.  得到Condition对象 新的Condition对象=threading. Condition([Lock | RLock]) 使用Condition对象之前,必须保证当前py文档已声明引用过threading模块: import threa…
对于每种编程语言一般都会规定一些容器来保存某些数据,就像java的集合和数组一样python也同样有这样的结构 而对于python他有四个这样的内置容器来存储数据,他们都是python语言的一部分可以直接使用而无需额外的导入 一.列表(list) 列表一种跟java和c中的数据很像的一种数据结构,他都是保存一系列相似,且有序元素的集合,不过不同的是列表中的元素可以不是同一种数据类型,且列表的长度是可变的 可以动态的增加可减少这一点则有点像java中的stringBuilder对象,列表中有一点值…
第四章 字典-当索引不好用时 4.0     字典可以理解成是C++里的map,可以映射任何类型.字典这种结构类型称为映射(mapping).   字典是Python中唯一内建的映射类型,字典中的值并没有特殊顺序,但是都是存在一个特定的键里.键可以是数字.字符串甚至是元组. 4.1-4.2 了解创建和使用字典 {    >>> phonebook = {'Alice':'2345' ,'Beth':'9102' ,'Cecil':'3258'}    >>> phone…
(先学第四章) 对象拷贝 任务: Python通常只是使用指向原对象的引用,并不是真正的拷贝. 解决方案: >>> a = [1,2,3] >>> import copy >>> c = copy.copy(a) >>> a.append(4) >>> a [1, 2, 3, 4] >>> c [1, 2, 3] 通过列表推导构建列表 任务: 通过操作和处理一个序列(或者其他可以迭代对象)中元素来创…
流程控制 在以前的代码中,所有的代码都是交由 Python 忠实地从头执行到结束.但是这些远远不够.很多时候需要根据不同的情况执行不同的代码. 如果你想改变这一工作流程,应该怎么做? 就像这样的情况:你需要程序作出 一些决定,并依据不同的情况去完成不同的事情,例如依据每天时间的不同打印出 '早上好' 'Good Morning' 或 '晚上好' 'Good Evening'? 需要用到流程控制! python 共提供了 3 种流程控制: if.while.for...in 一.分支语句 所谓分支…
1.python对象 所有的Python 对像都拥有三个特性:身份,类型和值. 身份: 每一个对象都有一个唯一的身份标识自己,任何对象的身份可以使用内建函数id()来得到. 这个值可以被认为是该对象的内存地址.您极少会用到这个值,也不用太关心它究竟是什么. 类型 对象的类型决定了该对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么样的规则.您可以用内建函数type()查看Python 对象的类型.因为在Python 中类型也是对象(还记得我们提到Python 是面向对象的这句话吗?),…
一.Python的简介 1.Python的由来与版本 1.1 python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. 1.2  python版本 目前Python的主要版本为Python2.7与Python3.6 . Python2版本到2020年就不再维护. 2.Python是什么样的语言 编程语言主要从以下几个角度为…
2016/1/27学习内容 第二章 Python序列-复杂的数据结构 堆 import heapq #添加元素进堆 heapq.heappush(heap,n) #小根堆堆顶 heapq.heappop(heap) #列表转换为堆 heapq.heapify(myheap) #替换堆顶元素 heapq.heapreplace(myheap,6) #返回前三个最大最小的元素 heapq.nlargest(3,myheap) heapq.nsmallest(3,myheap) #更多请查阅资料 队列…
2016/1/27学习内容 第二章 Python序列-tuple tuple创建的tips a_tuple=('a',),要这样创建,而不是a_tuple=('a'),后者是一个创建了一个字符 tuple常用操作 类似list,但是不能进行修改.能作为字典的key值 当然如果tuple中的元素有list,要另当别论 序列解包 > - 可以用序列解包对多个变量同时进行赋值 - 序列解包也可以用于列表和字典.字典默认是对key操作,如果需要key-value操作,需要items()方法,如果仅对va…
2016/1/27学习内容 第二章 Python序列-list list常用操作 list.append(x) list.extend(L) list.insert(index,x) list.remove(x) 删除在列表中首次出现的指定元素x list.pop([index]) 删除并返回列表对象指定位置的元素,默认为最后一个元素 list.clear() list.index(x) 返回第一个值为x的元素的下标,若不存在值为x的元素则抛出异常 list.count(x) 返回指定元素x在列…
2016/1/27学习内容 第一章 Python基础 Python内置函数 见Python内置函数.md del命令 显式删除操作,列表中也可以使用. 基本输入输出 input() 读入进来永远是字符串 print 文件重定向 fp=open(r'D:\mytest.txt','a+') print(type(fp),file=fp); fp.close(); 输出不换行 for i in range(10): print(i,end=' '); 0 1 2 3 4 5 6 7 8 9 for…
Python的独特语法: 不使用分号结束语句,而是回车: 通过代码缩进来区分代码块: if.while.for等,都不用括号,但不能没有冒号(:). 如何将一行命令分为多行? >>> myNameIs = "Li\ Zhi\ Xin.\ " >>> myNameIs 'LiZhiXin.' 4.1 条件语句和循环语句 如何使用if.elif和else进行比较? >>> a = 1 >>> if a < 2:…
Python 内置的数据结构 ​ 到目前为止,我们如果想保存一些数据,只能通过变量.但是如果遇到较多的数据要保存,这个时候时候用变量就变的不太现实. ​ 我们需要能够保存大量数据的类似变量的东东,这种东东就是数据结构(Data Structures). ​ 数据结构,它们只是一种结构,能够将一些数据聚合在一起的结构.换句话说,它们是用来存储一系列相关数据的集合. ​ python 提供了 4 种内置数据结构:List(列表).Tuple(元组).Dictionary(字典).Set(集合) ​…
Python函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也可以自己创建函数,这被叫做用户自定义函数. 定义一个函数 你可以定义一个由自己想要功能的函数,以下是简单的规则: 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 (). 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数. 函数的第一行语句可以选择性地使用文档字符串-用于…
练习 4-1. Python对象.与所有Python对象有关的三个属性是什么?请简单的描述一下. 答:身份.类型和值: 身份:每一个对象都有一个唯一的身份标识自己,可以用id()得到.  类型:对象的类型决定了该对象可以保存什么类型的值,可以进行什么样的操作,以及遵循什么样的规则.可以用type()查看类型. 值:对象表示的数据项. 4-2.类型.不可更改(immutable)指的是什么?Python的那些类型是可更改的(mutable),哪些不是? 答:对象的值是否可以更改称为对象的可改变性,…
字符问题 把码位转化成字节序列的过程是编码,把字节序列转化成码位的过程是解码 把unicode字符串当成人类可读的文本,码位当成机器可读的, 将字节序列编程人类可读是解码,把字符串编码成字节序列是编码 字节概要 python内置了两种基本的二进制序列类型,python3引入的不可变的bytes类型和python2.6添加的可变bytearray类型 基本的编解码器 别依赖默认值 python2的默认编码是ascii而python3是utf-8 这章内容主要讨论unicode编码,其实觉得没什么很…
Python 内置的数据结构 四.字典(dict) 字典也是 python 提供给我们的又一个非常重要且有用的数据结构. 字典在别的语言中有时叫关联数组.关联内存.Map等. 字典中存储的是一系列的key-value,这些key-value称之为键值对. 字典与前面学习的序列不同,序列通过index来索引数据,而字典则是通过key来索引value. 最好把字典认为是一系列无序键值对的集合. 序列(list):使用[]定义 元组(tuple):使用()定义 字典(dict):使用{}定义 键(ke…
Python内置数据结构 五.集合(set) python 还提供了另外一种数据类型:set. set用于包含一组无序的不重复对象.所以set中的元素有点像dict的key.这是set与 list的最大区别 set基本应用有元素测试.去除list.tuple中的重复元素. set也支持一些数学操作,像:并集(union).交集(intersection).差集(difference).对称差集(symmetric difference). set集合创建方式一般有 2 种:字面量方式和把list…
Python 内置的数据结构 二.列表(list) 想一想: 前面学习的字符串可以用来存储一串信息,那么想一想,怎样存储咱们班所有同学的名字呢? 定义100个变量,每个变量存放一个学生的姓名可行吗?有更好的办法吗? 答: 列表 列表介绍 listpython 中一般把它翻译为列表. list 是 python 中用途最广的一种数据结构. list 可以存储多个数据,这些数据用 [ ] 包裹,各个数据之间用 , 分割. list中的元素可以是任意类型的,但是实际使用的时,一个list 中一般只存储…
我们可以尝试用python的自带turtle库绘制一条蟒蛇 首先我们设计一下蟒蛇的基本形状 我们先把这段蟒蛇绘制的实例代码贴出来,各位可以在自己的本地运行一下看看效果,然后我们再继续分析代码: 1 #PythonDraw.py 2 import turtle 3 turtle.setup(650, 350, 200, 200) 4 turtle.penup() 5 turtle.fd(-250) 6 turtle.pendown() 7 turtle.pensize(25) 8 turtle.p…
一.程序的分支结构 二.身体质量指数BMI #CalBIv1.py height,weight = eval((input("请输入身高(米)和体重\(公斤)[逗号隔开]:"))) bmi = weight / pow(height,2) print("BMI数值为:{:.2f}".format(bmi)) who,nat = "","" if bmi<18.5: who,nat = "偏瘦", &q…
一.首先来理解几个面向对象的关键特性: 1.封装:对象可以将他们的内部状态隐藏起来.python中所有特性都是公开可用的. 2.继承:一个类可以是一个或多个类的子类.python支持多重继承,使用时需要注意继承顺序. 3.多态:实现将不同类型的类的对象进行同样对待的特性--不需要知道对象属于哪个类就能调用方法. 二.创建自己的类 >>> class Person: ... def setname(self,name): ... self.name = name ... def getna…
Python基础统计 统计函数:describe() 常用的统计指标函数: 统计函数 注释 (@数据分析-jacky) size 计算 sum 求和 mean 平均值 var 方差 std 标准差…
Python 内置的数据结构 三.元组(tuple) python 作为一个发展中的语言,也提供了其他的一些数据类型. tuple也是 python 中一个标准的序列类型. 他的一些操作和str和list是通用的,因为他们都是一种序列(sequence data type) 支持索引.切片.连接,支持使用内置len()来获取tuple中元素的个数. 另外tuple是不可变对象,所以不能对tuple做修改. 元组与列表相似,不同之处在于元组的元素不能修改 3.1 元组的创建 元组使用()定义,用于…
4.1 文件基本操作 obj = open('路径',mode='模式',encoding='编码') obj.write() # 写入 obj.read() # 读取 obj.close() #关闭 4.2 打开模式 r / w / a [只读只写字符串] r+ / w+ / a+ [可读可写字符串] rb / wb / ab [只读只写二进制] r+b / w+b / a+b [可读可写二进制] 4.3 操作 read() , 全部读到内存 read(1) 1表示一个字符 obj = ope…
若列表中某元素存在则返回之 任务: 你有一个列表L,还有一个索引号i,若i是有效索引时,返回L[i],若不是,则返回默认值v 解决方案: 列表支持双向索引,所以i可以为负数 >>> def list_get(L,i,v=None): if -len(L)<= i < len(L): return L[i] else: return v >>> list_get([1,2,3,4,5,6],3) 4 异常机制 >>> def list2_ge…