本文主要介绍一些平时经常会用到的python基础知识点,用于加深印象,也算是对于学习这门语言的一个总结与回顾.python的详细语法介绍可以查看官方编程手册,也有一些在线网站可以学习 python语言介绍python是一门解释型语言,python的设计目标: 一门简单直观的语言并与主要竞争者一样强大开源,以便任何人都可以为它做贡献代码像纯英语那样容易理解适用于短期开发的日常任务设计哲学是: 优雅明确简单python基础语法标识符第一个字符必须是字母表中字母或下划线 .标识符的其他的部分由字母.数…
迭代器 1.迭代器 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退.另外,迭代器的一大优点是不要求事先准备好整个迭代过程中所有的元素.迭代器仅仅在迭代到某个元素时才计算该元素,而在这之前或之后,元素可以不存在或者被销毁.这个特点使得它特别适合用于遍历一些巨大的或是无限的集合,比如几个G的文件 特点: 访问者不需要关心迭代器内部的结构,仅需通过next()方法不断去取下一个内容…
可变数据类型和不可变数据类型有哪些? # 可变数据类型:列表.字典.集合 # 不可变数据类型:数字.元祖.字符串 常见数据结构 # 栈(stack)--先进后出. 队列(queue)-先进先出.链表(LinkedList) 可迭代对象 # 可迭代对象包括:列表.字典.集合.字符串等数据类型. # 数字类型不可迭代 迭代:我们把python中被for循环取值的操作过程可以理解为迭代 可迭代对象:把可以被for循环遍历的对象也叫可迭代对象.一个具有__iter__()方法的对象是可迭代的,具有__n…
上节回顾: 1.集合 a.关系测试 b.去重 2.文件操作及编码 3.函数 4.局部变量和全局变量 上节回顾 本节课内容: 1.迭代器生成器 2.装饰器 3.json pickle数据序列化 4.软件目录结构规范 5.作业:ATM项目开发 一.装饰器 1. 定义:本质是函数,用来装饰其他函数,就是为其他函数添加附加功能 2. 原则: A. 不能修改被装饰的函数的源代码 B. 不能修改被装饰的函数的调用方式 3.实现装饰器知识储备 A. 函数即“变量” B. 高阶函数 a. 把一个函数名当做实参传…
内置函数和匿名函数 python 一共有68个内置的函数:它们就是python提供给你直接可以拿来使用的所有函数 内置函数的图:链接 :https://www.processon.com/mindmap/5c515c42e4b03334b514da00 与数字相关的内置函数: a = max({1,2,3,-4},key=abs) #比较绝对值的大小,取最大的 print(a) a = divmod(7,3) print(a) # (2,1) print(sum([1,2,3,4],10)) #…
深浅copy 1对于赋值运算来说,l1与l2指向的是同一个内存地址,所以他们是完全一样的. l1 = [1,2,3,['barry','alex']] l2 = l1 l1[0] = 111 print(l1,id(l1)) # [111, 2, 3, ['barry', 'alex']] 112431152 print(l2,id(l2)) # [111, 2, 3, ['barry', 'alex']] 112431152 l1[3][0] = 'wusir' print(l1,id(l1)…
Python基础知识与常用数据类型 一.Python概述: 1.1.Python的特点: 1.Python是一门面向对象的语言,在Python中一切皆对象 2.Python是一门解释性语言 3.Python是一门交互式语言,即其在终端中进行命令编程 4.Python是一门跨平台的语言[没有操作系统的限制,在任何操作系统上都可以运行Python代码] 5.Python拥有强大和丰富的库,又被称为胶水语言,能把其他语言(主要c/c++)写的模块很轻松的结合在一起 1.2.Python的优缺点: 1.…
python装饰器函数 1.装饰器函数引导 功能:计算函数执行时长 import time """ 方式一: 函数首位添加时间,差值就是函数执行时间 缺点:每个函数都要加上,工作量大 """ def f1(): start_time = time.time() print("f1 excute") end_time = time.time() print(end_time-start_time) f1() import tim…
从小例子进入装饰器 统计一个函数执行耗时 原始版本 import time # time模块有提供时间相关函数 def do_something(): print("do_something") time.sleep(0.5) # 让程序停止0.5秒模拟其它操作耗时 start = time.time() do_something() print(time.time() - start) #result: # do_something # 0.5000283718109131 问题:上…
<python基础教程(第二版)>学习笔记 函数(第6章) 创建函数:def function_name(params):  block  return values 记录函数:def function_name(params):  'NOTE' #注释  block  return values function_name.__doc__help(function_name) return # 没有返回值 位置参数和关键字参数:关键字参数要提供参数的名字:def function_name(…
python中"生成器"."迭代器"."闭包"."装饰器"的深入理解 一.生成器 1.生成器定义:在python中,一边循环一边计算的机制,称为生成器:generator. a. 语法上和函数类似:生成器函数和常规函数几乎是一样的.它们都是使用def语句进行定义,差别在于,生成器使用yield语句返回一个值,而常规函数使用return语句返回一个值. b. 自动实现迭代器协议:对于生成器,python会自动实现迭代器协议,以便…
1.生成器 生成器的创建方法: (1)通过列表生成式创建 可以通过将列表生成式的[]改成() eg: # 列表生成式 L = [ x*2 for x in range(5)] # L = [0, 2, 4, 6, 8] # 生成器 G = ( x*2 for x in range(5)) # 此时的G是,<generator object <genexpr> at 0x7f626c132db0> 创建列表生成式和生成器的区别只是最外层的()和[],列表生成式是一个列表,而生成器事宜…
Python自动化面试必备 之 你真明白装饰器么? 装饰器是程序开发中经常会用到的一个功能,用好了装饰器,开发效率如虎添翼,所以这也是Python面试中必问的问题,但对于好多小白来讲,这个功能 有点绕,自学时直接绕过去了,然后面试问到了就挂了,因为装饰器是程序开发的基础知识,这个都 不会,别跟人家说你会Python, 看了下面的文章,保证你学会装饰器. 1.先明白这段代码 #### 第一波 #### def foo(): print 'foo' foo     #表示是函数 foo()   #表…
一.装饰器函数的作用是什么 答:装饰器函数是在不修改原函数及其调用方式的情况下对原函数功能进行扩展 对于搞python开发的人来说,函数占据了至关重要的地位.都说学好函数你就可以去找工作了,好了,假如你已经在某个公司上班了,想到马上就要过年了,那过年就意味着你可以向老板要年终奖金了,那凭什么老板要给你年终奖呢,你又能得到多少年终奖金呢.老板是这样说的,你给我至少写1000行代码,我来看一下你代码的执行时间,根据你的执行时间来评你的年终奖.好了,你知道既然要计算时间,学过函数的你就来实现一个计算函…
1.import time a.time.time() 获取到当前的时间,返回值为浮点型 import time print(time.time()) #1565422783.6497557 b.time.sleep() 让程序执行到这个位置暂停一会 import time start = time.time() time.sleep(0.5) print('hello world!') end = time.time() print(end - start) #0.50002861022949…
什么函数可以被称为闭包函数呢?主要是满足两点:函数内部定义的函数:引用了外部变量但非全局变量. python装饰器本质上就是一个函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外的功能,装饰器的返回值也是一个函数对象(函数的指针) 装饰器函数的外部函数传入我要装饰的函数名字,返回经过修饰后函数的名字:内层函数(闭包)负责修饰被修饰函数.从上面这段描述中我们需要记住装饰器的几点属性,以便后面能更好的理解: 实质: 是一个函数 参数:是你要装饰的函数名(并非函数调用) 返回:是装饰完的函数…
网络编程(socket) 软件开发的架构: 两个程序之间通讯的应用大致通过从用户层面可以分为两种: 1是C/S,即客户端与服务端,为应用类的,比如微信,网盘等需要安装桌面应用的 2是B/S,即浏览器与服务端,为web类的,不需要安装应用,直接在浏览器上使用:轻量级,成本比较低, 实际上,B/S 架构也是C/S架构的一种特殊的形式. 网络基础: 在同一台机器上要想使两个py程序通信,可以通过写文件,来传输. 但是在不同机器上的两个py程序之间想要通信,就必须依靠网络. ip地址与ip协议: 规定网…
学习一门语言,往往都是从Hello World开始. 但是笔者认为,在一个黑框框中输出一个"你好,世界"并没有什么了不起,要看透事物的本质,熟悉一门语言,就要了解其底层,就是我们常常说的基础.本篇从python中的变量类型开始. 五大标准数据类型 在内存中存储的数据可以有多种类型. 例如, 一个人的名字可以用字符来存储, 年龄可以用数字来存储, 爱好可以用集合来存储等等. Python有五个标准的数据类型: Numbers(数字) String(字符串) List(列表) Tuple(…
1.Python基础知识 在Python中的两种注释方法,分别是#注释和引号('''   ''')注释,#注释类似于C语言中的//注释,引号注释类似于C语言中的/*   */注释.接着在Python中标识符第一次字符必须是字母或下划线,除第一个字符意外其他的字符可以使字母.下划线和数字.在Python中的数据类型包括:数.字符串.列表(list).元组(tuple).集合(set)和字典(dictionary){key1:value1,key2:value2}.列表[" ","…
基本概念 1.容器(container) 容器是一种把多个元素组织在一起的数据结构,容器中的元素可以逐个地迭代获取,可以用in, not in关键字判断元素是否包含在容器中.通常这类数据结构把所有的元素存储在内存中(也有一些特例,并不是所有的元素都放在内存,比如迭代器和生成器对象)在Python中,常见的容器对象有: list, deque, …. set, frozensets, …. dict, defaultdict, OrderedDict, Counter, …. tuple, nam…
(一)数字 Python3中的数字类型分为3种,分别是整型,浮点型以及复数. Python2种的数字类型分为4种,分别是整型,长整型,浮点型以及复数. 其中长整型时Python2为应对位数较大的而设置的类型,整数最后是一个大写或小写的L. 主要函数: int()  将字符串等类型转换成数字类型 (二)字符串 Python中的字符串使用 ' 或 “ 来创建. 主要函数: 1.replace()  使用新的字符串替换原来的字符串 #!/sur/bin/python3 str = "www.w3csc…
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-variable-types.html 3. http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000 常用数据类型转换函数: 函数 描述 int(x [,base]) 将x转换为一个整数 long(x [,base] ) 将x转换为一个长整数 float(x) 将x…
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-lists.html 3. http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000 常用操作列表的内置函数: 序号 函数 1 cmp(list1, list2)比较两个列表的元素 2 len(list)列表元素个数 3 max(list)返回列表元素最大值 4 mi…
迭代器 __iter__方法返回一个迭代器,它是具有__next__方法的对象.在调用__next__方法时,迭代器会返回它的下一个值,若__next__方法调用迭代器 没有值返回,就会引发一个StopIteration异常.    特点: 访问者不需要关心迭代器内部的结构,仅需通过__next__方法不断去取下一个内容 不能随机访问集合中的某个值 ,只能从头到尾依次访问 访问到一半时不能往回退 便于循环比较大的数据集合,节省内存 name = iter(['koka','lolo','lala…
一:生成器:Generator,可以理解为是一种一个函数产生一个迭代器,而迭代器里面的数据是可以通过for循环获取的,那么这个函数就是一个生成器,即生成器是有函数生成的,创建生成器使用()表示,比如g = (x for x in range(10)),那么即创建一个名称为g的生成器,,如果外层是[]则表示是生成一个列表,生成器生成的序列可以使用next()方法获取其中的值: 1.__next__()方法获取序列中的值: g1 = (x for x in range(3)) print(type(…
装饰器 器即函数,装饰即修饰,意指为其他函数添加新功能 装饰器定义:本质就是函数,功能是为其他函数添加新功能 装饰器涉及的知识点= 高阶函数+函数嵌套+闭包 在遵循下面两个原则的前提下为被装饰者新功能 必须遵循的原则: 1)一定不能修改源代码 2)不能修改调用方式 语法糖(格式符号):@ @timer #@timer就等同于cal=timer(cal) def cal(array): res=0 for i in array: res+=i return res cal(range(10)) #…
1.迭代器 迭代器是访问集合的一种方式,迭代对象从集合的第一个元素开始访问,直到元素被访问结束,迭代器只能往前不能后退,最大的优点是不要求事先准备好整个迭代过程中的元素,这个特点使得它特别适合用于遍历一些巨大的或是无限的集合. 特点: 访问者不需要关心迭代器内部的结构,仅需通过next()方法不断去取下一个内容 不能随机访问集合中的某个值,只能从头到尾依次访问 访问到一半时不能往回退 便于循环比较大的数据集合,节省内存 使用: #生成迭代器: name = iter(['d','c','b','…
python装饰器 什么是装饰器?在不修改源代码和调用方式的基础上给其增加新的功能,多个装饰器可以装饰在同一个函数上 # 原理(个人理解):将原函数(bar)的内存地址重新赋值,进行覆盖.新值为装饰器目标函数内存地址,# 再进行调用,从而实现修改的目的. 无参装饰器************************* import time def timer(func): #过渡函数,将初始函数作为参数传人 def deco(): #目标函数,最后执行结果的函数 start_time = tim…
一.生成器 1.什么是生成器? 在python中,一边循环一边计算的机制,称为生成器:generator. 2.生成器有什么优点? 1.节约内存.python在使用生成器时对延迟操作提供了支持.所谓延迟,是指在需要的时候才产生结果,而不是立即产生结果.这样在需要的时候才去调用结果,而不是将结果提前存储起来要节约内存.比如用列表的形式存放较大数据将会占用不少内存.这是生成器的主要好处.比如大数据中,使用生成器来调取数据结果而不是列表来处理数据,因为这样可以节约内存. 2.迭代到下一次的调用时,所使…
内容回顾: 补充反向解析 Html:{% url ‘别名’ 参数 %} Views:reverse(‘别名’,args=(参数,)) 模板渲染 变量 {{ 变量名 }} 逻辑相关 {% %} 过滤器: {{ 变量|过滤器方法:’参数’ }} 标签: {% for i in list%} for k,v in dict.items {{ i }} {% endfor %} {% if 条件 %} {%elif%} {%else%} {% endif %} 据点符 . 可以做深度查询 {% with…