老坛の菜园子

好记性不如乱笔头


  • 首页

  • 分类41

  • 标签31

  • 归档348

  • 关于

  • 搜索

Python中单元测试框架doctest|unittest

发表于 2019-02-24 | 分类于 Python
doctest模块通过在文件字符串中加入一些程序执行的例子,那么在执行Python脚本时,doctest测试框架会自动地去验证这些例子,如果有例子不通过,那么就会提示测试失败。具体使用例子如下: 1234567891011#my_math.py文件#!/usr/bin/pythondef my_square(x): ''' square function >>> my_square(2) 4 >>> my_square(4) ...
阅读全文 »

Python中文件对象操作

发表于 2019-02-24 | 分类于 Python
Python中文件对象操作Python中的文件对象提供了三种读取方法,即read/readline/readlines。 直接迭代因文件对象是一个实现了__iter__()和next()方法的迭代器,因此我们可以直接使用for循环来遍历文件内容,一次只读取文件内容的一行,并非将整个文件一次性加载到内存当中,代码如下: 123file_obj = open('./data.txt')for line in file_obj: print line read函数read()方法不带参数时,一次 ...
阅读全文 »

Python中多线程编程

发表于 2019-02-24 | 分类于 Python
Python中多线程编程进程是由若干线程组成的,一个进程至少有一个线程。由于线程是操作系统直接支持的执行单元,因此,高级语言通常都内置多线程的支持,Python也不例外,并且,Python的线程是真正的Posix Thread,而不是模拟出来的线程。 Python的标准库提供了两个模块,thread和threading,thread是低级模块,threading是高级模块,对thread进行了封装。绝大多数情况下,我们只需要使用threading这个高级模块。如下为使用threading模块来实 ...
阅读全文 »

Python中多进程编程

发表于 2019-02-24 | 分类于 Python
Pyhton中多进程编程方式os.fork()Python的os模块封装了常见的系统调用,其中就包括fork,可以在Python程序中轻松创建子进程,例程如下: 123456789import osprint('Process (%s) start...' % os.getpid())# Only works on Unix/Linux/Mac:pid = os.fork()if pid == 0: print('I am child process (%s) and my parent ...
阅读全文 »

Python中网络编程总结

发表于 2019-02-24 | 分类于 Python
使用socket模块网络编程使用Python socktet模块来进行网络编程,范例如下: (1)服务端demo 12345678910111213#!/usr/bin/pythonimport sockets = socket.socket() #创建socket对象host = socket.gethostname()port = 1234s.bind((host, port)) #socket绑定host和ports.listen(5) #配置监 ...
阅读全文 »

Python中装饰器Decorator用法

发表于 2019-02-24 | 分类于 Python
不带参数的装饰器123@decoratordef func(): pass 相当于: 1func = decorator(func) 多个装饰器1234@decorator_one@decorator_twodef func(): pass 相当于: 1func = decorator_one(decorator_two(func)) 带参数的装饰器123@decorator(arg1, arg2)def func(): pass 相当于: 1func = decorator( ...
阅读全文 »

Python中协程总结

发表于 2019-02-24 | 分类于 Python
协程coroutine的简介协程的原理很简单,打个比方就能讲明白了。假设说有十个人去食堂打饭,这个食堂比较穷,只有一个打饭的窗口,并且也只有一个打饭阿姨,那么打饭就只能一个一个排队来打咯。这十个人胃口很大,每个人都要点5个菜,但这十个人又有个毛病就是做事情都犹豫不决,所以点菜的时候就会站在那里,每点一个菜后都会想下一个菜点啥,因此后面的人等的很着急呀。这样一直站着也不是个事情吧,所以打菜的阿姨看到某个人犹豫5秒后就开始吼一声,会让他排到队伍最后去,先让别人打菜,等轮到他的时候他也差不多想好吃啥了 ...
阅读全文 »

Python中迭代器和生成器总结

发表于 2019-02-24 | 分类于 Python
迭代器Iterator实现了迭代器协议的对象,我们称之为迭代器对象。 所谓迭代器协议,要求对象实现了__iter__()和next()方法,调用__iter__()方法会返回一个对象自身,调用next()方法会返回下一个元素值。如果已经迭代完成,对象没有值可以返回,就会引发一个名称为StopIteration的异常。 迭代器的使用举例: 12345678910111213141516#!/usr/bin/pythoncity = ['beijing', 'shanghai', 'tianjin' ...
阅读全文 »

Python中yaml模块的使用

发表于 2019-02-24 | 分类于 Python
Python中yaml的模块的使用(1)安装yaml模块到机器环境中 (2)编写yaml配置文件test.yaml 12345678910name: Tom Smithage: 37spouse: name: Jane Smith age: 25children: - name: Jimmy Smith age: 15 - name: Jenny Smith age: 12 (3)编写解析yaml文件的Python程序test.py 123456789import s ...
阅读全文 »

Python中json模块的使用

发表于 2019-02-24 | 分类于 Python
Python中json的使用(1)将Python数据类型转换json对象-encode 123json.dump()json.dumps()json.JSONEncoder() 其中,Python的数据类型转成json数据类型的映射表为: (2)将json对象转换成Python数据类型-decode 123json.load()json.loads()json.JSONDecoder() 其中,json的数据类型转成Python的数据类型的映射表为: dump/load与dumps/load ...
阅读全文 »
1…121314…35
锄禾小生

锄禾小生

348 日志
40 分类
31 标签
GitHub E-Mail Google Twitter
© 2023 锄禾小生
Hosted by 老坛の菜园子