通俗的来说,Python中所谓的命名空间可以理解为一个容器。在这个容器中可以装许多标识符。不同容器中的同名的标识符是不会相互冲突的。理解python的命名空间需要掌握三条规则:第一,赋值(包括显式赋值和隐式赋值)产生标识符,赋值的地点决定标识符所处的命名空间。第二,函数定义(包括def和lambda)产生新的命名空间。第三,python搜索一个标识符的顺序是"LEGB"。所谓的"LEGB"是python中四层命名空间的英文名字首字母的缩写。最里面的一层是L
系统 2019-09-27 17:46:43 1864
怎么理解装饰器,用过或者写过什么装饰器吗?1.1.概述:装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。1.2.详细描述:1.importlogging8.ret=oldfunc(*args,**kwargs)9.returnret10.11.返回新函数12.returnnew_func13.14.15.#通过语法糖使用装饰器16.@decoratorbr/>2.#定义装饰器,
系统 2019-09-27 17:46:27 1864
一、枚举与字典类型字典类型的缺点:1.值可变2.没有防止相同标签的功能枚举的特点:1.枚举类的值不可以被外界更改2.不能存在相同的标签,但允许不同标签存在相同的枚举值,即后者相当于前者的别名3.枚举值可以是任意类型4.枚举标签尽量用大写fromenumimportEnum#普通类classdict():green=1green=2red=3dict.red=4print(dict.red)>>>4classVIP(Enum):RED=1GREEN=2YEL
系统 2019-09-27 17:45:52 1864
学习python少不了写爬虫,不仅能以点带面地学习、练习使用python,爬虫本身也是有用且有趣的,大量重复性的下载、统计工作完全可以写一个爬虫程序完成。用python写爬虫需要python的基础知识、涉及网络的几个模块、正则表达式、文件操作等知识。昨天在网上学习了一下,写了一个爬虫自动下载「糗事百科」里面的图片。源代码如下:复制代码代码如下:#-*-coding:utf-8-*-#上面那句让代码里支持中文#------------------------
系统 2019-09-27 17:45:42 1864
最近写的代码中写了很多函数,都是按步骤调用的,想看代码执行到第几个函数了,但又不想在每个函数中打印来表示执行到哪了,这时候就想用进度条来显示了,看网上没有我这种思路来实现的,自己来写个importtimeimporttqdmdefwork1():time.sleep(1)defwork2():time.sleep(1)defwork3():time.sleep(1)defwork4():time.sleep(1)defwork5():time.sleep(
系统 2019-09-27 17:45:25 1864
返璞归真许多流行的玩具都以这样一个概念为基础:简单的积木。这些简单的积木可通过多种方式组合在一起构造出全新的作品――有时甚至完全令人出乎意料。这一概念同样适用于现实生活中的建筑领域,将基本原材料组合在一起,形成有用的建筑物。平凡无奇的材料、技术和工具简化了新建筑物的建造过程,同样也简化了对新踏入此领域的人员的培训。相同的基本概念也适用于计算机程序开发技术,包括以Python编程语言编写的程序。本文介绍了使用Python创建基本构件(buildingbloc
系统 2019-09-27 17:38:30 1864
什么是twisted?twisted是一个用python语言写的事件驱动的网络框架,他支持很多种协议,包括UDP,TCP,TLS和其他应用层协议,比如HTTP,SMTP,NNTM,IRC,XMPP/Jabber。非常好的一点是twisted实现和很多应用层的协议,开发人员可以直接只用这些协议的实现。其实要修改Twisted的SSH服务器端实现非常简单。很多时候,开发人员需要实现protocol类。一个Twisted程序由reactor发起的主循环和一些回调
系统 2019-09-27 17:38:27 1864
测了一下django、flask、bottle、tornado框架本身最简单的性能。对django的性能完全无语了。django、flask、bottle均使用gunicorn+gevent启动,单进程,并且关闭DEBUG,请求均只返回一个字符串ok。tornado直接自己启动,其他内容一致。测试软件为siege,测试os为cenos664位,测试命令为:复制代码代码如下:siege-c100-r100-bhttp://127.0.0.1:5000/dja
系统 2019-09-27 17:38:25 1864
我们将要来学习python的重要概念迭代和迭代器,通过简单实用的例子如列表迭代器和xrange。可迭代一个对象,物理或者虚拟存储的序列。list,tuple,strins,dicttionary,set以及生成器对象都是可迭代的,整型数是不可迭代的。如果你不确定哪个可迭代哪个不可以,你需要用python内建的iter()来帮忙。>>>iter([1,2,3])>>>iter({1:2,2:4})>>>iter(1234)Traceback(mostrece
系统 2019-09-27 17:38:24 1864
想必很多初次接触python都会见到这样一个语句,if__name__=="__main__":那么这个语句到底是做什么用的呢?在解释之前,首先要声明的是,不管你是多么小白,你一定要知道的是:1.python文件的后缀为.py;2..py文件既可以用来直接执行,就像一个小程序一样,也可以用来作为模块被导入(比如360安全卫士,就是依靠一个个功能模块来实现的,好比360安全卫士本身框架是一个桌面,而上面的图标就是快捷方式,这些快捷方式所指向的就是这一个个功能
系统 2019-09-27 17:38:10 1864