前言或许你已经用过装饰器,它的使用方式非常简单但理解起来困难(其实真正理解的也很简单),想要理解装饰器,你需要懂点函数式编程的概念,python函数的定义以及函数调用的语法规则等,虽然我没法把装饰器变得简单,但是我希望可以通过下面的步骤让你由浅入深明白装饰器是什么。假定你拥有最基本的Python知识,本文阐述的东西可能对那些在工作中经常接触Python的人有很大的帮助。1、函数(Functions)在Python里,函数是用def关键字后跟一个函数名称和一
系统 2019-09-27 17:51:47 2213
字典的宣告變數名{鍵:值}variable_name{key:value}1.字典的宣告>>>X=dict()>>>id(X)37383264>>>X={'One':1,'Two':2,'Three':3}>>>X{'One':1,'Two':2,'Three':3}>>>id(X)34178464>>>X.values()dict_values([1,2,3])>>>X.keys()dict_keys(['One','Two','Three'])2.字典
系统 2019-09-27 17:51:27 2213
python统计指定目录内文件的代码行数,程序实现统计指定目录内各个python文件的代码总行数,注释行数,空行数,并算出所占百分比这符合一些公司的小需求,实际代码量的统计工作效果如图代码如下:#coding:utf-8importos,re#代码所在目录FILE_PATH='./'defanalyze_code(codefilesource):'''打开一个py文件,统计其中的代码行数,包括空行和注释返回含该文件总行数,注释行数,空行数的列表:param
系统 2019-09-27 17:51:01 2213
1.index方法list_a=[12,213,22,2,32]forainlist_a:print(list_a.index(a))结果:01234如果列表的没有重复的话那么用index完全可以的,那么如果列表中的元素有重复的呢?list_a=[12,213,22,2,2,22,2,2,32]forainlist_a:print(list_a.index(a))结果:012332338很显然结果不是你想要的!!!那么就看第二种方法>2.enumerate
系统 2019-09-27 17:50:58 2213
今天来介绍一下Python解释器包含的一系列的内置函数,下面表格按字母顺序列出了内置函数:下面就一一介绍一下内置函数的用法:1、abs()返回一个数值的绝对值,可以是整数或浮点数等。print(abs(-18))print(abs(0.15))result:180.152、all(iterable)如果iterable的所有元素不为0、''、False或者iterable为空,all(iterable)返回True,否则返回False。print(all(
系统 2019-09-27 17:50:56 2213
1.读取文件;2.获得想要的数据内容:日期、最低温、最高温3.绘制图形。x轴:日期;y轴:温度变化。defread_weather_file():"""读取文件,提取内容"""files=open("./weather/weather.json","r",encoding="utf-8")weather_content=files.read()#print("天气信息:",weather_content)#print(type(weather_conten
系统 2019-09-27 17:50:02 2213
Python作为一门面对对象的语言,那么肯定也是有多态这个属性的,这里主要跟C++的多态做一下类比先看下面的代码这里可以看到,Child,Child2都是Parent的子类,他们分别重写了父类的print_func函数,因此可以看到下面的结果这是单独打印每个对象来得到的结果,下面开始看Python的多态这里可以看到,print_who这个函数只是将obj对象的print_func函数调用打印了一下。这里和C++的多态都是区别不大的。但是Python的多态比
系统 2019-09-27 17:49:56 2213
1.计算机语言的基本概念计算机语言(ComputerLanguage)指用于人与计算机之间的通信。2.解释型和编译型语言的区别编译型语言:如:CC++(1)、只须编译一次就可以把源代码编译成机器语言,后面的执行无须重新编译,直接使用之前的编译结果就可以;因此其执行的效率比较高;(2)、程序执行效率比较高,但比较依赖编译器,因此跨平台性差一些;解释型语言、如:Python(1)源代码不能直接翻译成机器语言,而是先翻译成中间代码,再由解释器对中间代码进行解释运
系统 2019-09-27 17:49:07 2213
目录Python并发编程05/死锁/递归锁/信号量/GIL锁/进程池/线程池1.昨日回顾2.死锁现象与递归锁2.1死锁现象2.2递归锁3.信号量4.GIL全局解释器锁4.1背景4.2为什么加锁5.GIL与Lock锁的区别6.验证计算密集型IO密集型的效率6.1IO密集型6.2计算密集型7.多线程实现socket通信7.1服务端7.2客户端8.进程池,线程池Python并发编程05/死锁/递归锁/信号量/GIL锁/进程池/线程池1.昨日回顾#生产者消费者模型
系统 2019-09-27 17:49:06 2213
Python中的函数调用与c++不同的是将this指针直接作为self当作第一个形参进行处理,从而将静态函数与实例方法的调用形式统一了起来。在实际编程过程中,可以通过传递函数的地址、函数的形参的方式将所有函数(包括静态函数、类实例函数)的调用用统一的方式表达出来,方便统一接口和抽象。待传递的2个函数如下:classOperation:@staticmethoddefclose_buy():""":return:"""print("testevent")pr
系统 2019-09-27 17:48:56 2213