1.如何导入 from package import module module.function() 常用魔术方法 __init__.py 如果某个文件夹下面有该文件,则该文件夹是一个包,否则只是一个文件夹 __name__与__main__ 如果该问价是运行入口文件则__name__ 的值为__main__ ,否则__name__的值为package.module __file__ 返回该文件的绝对路径 __doc__ 返回该文件的描述信息…
例子: sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) sys.version 获取Python解释程序的版本信息 sys.maxint 最大的Int值 sys.maxunicode 最大的Unicode值 sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 sys.platform 返回操作系统平台名称 sys.stdout.write('please:') val = sys.stdi…
1.在工程右键可选新建文件夹,包盒python文件 文件夹和包的区别在于,包包含一个空的__init__.py文件,而文件夹没有 2.pycharm的断点调试 点击Debug表示进入调试状态 点击Resume表示进入下一个断点,单步运行 点击Stop表示结束Debug 点击Run表示正常运行 注意:关于Debug报错为Interpreter option 未设置的问题:只需在setting中设置添加project interpreter即可,表示指定python的路径…
1. 体验多进程的运行速度 #!/usr/bin/env python # _*_ coding:UTF-8 _*_ from multiprocessing import Pool import time def foo(n): time.sleep(1) return n * n if __name__ == "__main__": pool = Pool(10) data_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 这里只需要等待1S就能得到…
1. 线程的创建与运行 #!/usr/bin/env python # _*_ coding:UTF-8 _*_ from threading import Thread def foo(param1, param2): print "{0}{1}".format(param1, param2) if __name__ == "__main__": print "main thread running" thread = Thread(targe…
1.使用socket实现文件上传 server.py #!/usr/bin/env python # _*_ coding:UTF-8 _*_ import os import SocketServer class MyServer(SocketServer.BaseRequestHandler): def handle(self): base_path = "/Users/liudaoqiang/" conn = self.request print "connected&…
1.常见的错误 TypeError 类型错误 NameError 没有该变量 ValueError 不期望的值 AttributeError 没有该属性 UnboundLocalError 没有该局部变量 ImportError 没有该模块 IOError 打不开文件 IndexError 列表没有该下标 KeyError 字典没有该键 IndentationError 代码没有对齐 SyntaxError 语法错误 KeyboardError Ctrl+C被按下 2.示例代码 #!/usr/b…
1.类与对象(构造方法与实例化) #!/usr/bin/env python # _*_ coding:UTF-8 _*_ class Province: def __init__(self, name, capital, leader): self.name = name self.capital = capital self.leader = leader if __name__ == "__main__": hebei = Province("河北", &qu…
装饰器:在某个方法执行前后去执行其他新定义的行为 例如: #!/usr/bin/env python # _*_ coding:UTF-8 _*_ def before_say_hello(): print "before hello" def after_say_hello(): print "after hello" def say_hello_wrapper(func): def wrapper(): print "Before" befo…
例如: #!/usr/bin/env python # _*_ coding:UTF-8 _*_ import time if __name__ == "__main__": print time.time() //获取当前时间戳 print time.mktime(time.localtime()) //将结构化时间对象转化为时间戳 print time.localtime() //将时间戳转化为机构化时间对象,默认传入当前时间戳 print time.gmtime() //将时间戳…
序列化是使用二进制的方式加密列表,字典或集合,反序列化是解密的过程:序列化开启了两个独立进程进行数据交互的通路 使用pickle进行序列化和反序列化 例如: pickle_test.py #!/usr/bin/env python # _*_ coding:UTF-8 _*_ import pickle if __name__ == "__main__": name_list = ["liudaoqiang", 11, 22, "success"…
示例代码如下: hashlib_test.py #!/usr/bin/env python # _*_ coding:UTF-8 _*_ import hashlib def genPasswd(name): hash = hashlib.md5() hash.update(name.encode(encoding="UTF-8")) return hash.hexdigest() if __name__ == "__main__": print genPasswd…
常用函数 import random random.random() 生成0到1之间的小数 random.randint(begin, end) 生成[begin, end]之间的整数 random.randrange(begin, end) 生成[begin, end)之间的整数 例如: #!/usr/bin/env python #_*_ coding:UTF-8 _*_ if __name__ == "__main__": module_name = "yield_te…
1.基本内置函数 help() 帮助文档 dir() 列出当前文件的所有变量和方法 vars() 列出当前文件的所有变量及其值 type() 返回变量的类型 id() 返回变量的内存地址 len() 返回变量的长度 from package import module 导入模块 reload(package.module) 重新加载模块 2.基本运算内置函数 bool() 转化为bool值 abs() 获取绝对值 divmod() 返回商和余数的元组 max() 返回最大值 min() 返回最小…
1.如果在一个方法中有yield关键字则该方法返回的是一个生成器对象 2.对生成器对象进行操作必须进行迭代或循环处理 例如: yield_test.py #!/usr/bin/env python # _*_ coding:UTF-8 _*_ def MyReadLines(): seek = 0 while True: with open('myFile.txt', 'rb') as f: f.seek(seek) line = f.readline() if line: seek = f.t…
1.可变参数,将传参自动汇总成列表 2.可变参数,将参数自动汇总成字典 实战如下: #!/usr/bin/env python # _*_ coding:UTF-8 _*_ def show(*args): for arg in args: print arg def show2(**kargs): for item in kargs.items(): print item if __name__ == "__main__": show('daoqiang', 'zhangsan',…
dict = {key1:value1, key2:value2} 定义字典 dict[key] = value 设置字典中指定健的值 dict.pop(key) 删除字典中指定健 dict.popitem() 随机删除字典中的健 dict.clear() 清空元组 dict.update(dict2) 使用另一个字典更新, dict.setdefault(key, value) 如果该键存在则不设置,如果该键不存在则设置 dict.get(key, default_value) 获取指定健的值…
列表的使用: list.append(value) 向列表增加元素 list.insert(index, value) 向列表指定元素插入元素 list.extend(newlist) 用新的列表扩展列表 list.remove(value) 删除列表的指定值 del list[index] 删除指定索引的值 list.pop() 删除列表最后一个值 list.reverse() 列表反转 list.sort() 列表元素按ASCII码排序 list.count(value) 统计元素的个数 l…
第一天   文件IO处理 1.读文件实例 file_split.python f = file('myFile.txt', 'r') for line in f.readlines(): line = line.strip('\n').split(':') print line myFile.txt ## # User Database # # Note that this file is consulted directly only when the system is running #…
1. 使用python编写一个静态的web服务器,能够处理静态页面的http请求 原理: a. 使用socket进行服务端和浏览器之间的通信 b. 使用多线程处理多个客户端浏览器的请求 c. 解析用户请求并使用http协议发送响应数据 实现: # coding:UTF-8 import socket import re from multiprocessing import Process def handle_request(client_socket): # 定义html服务器根目录 HTM…
例如: 1.使用三元表达式给变量赋值 result = '空' if x == None else x 2.使用lambda定义函数 add = lambda x, y: x+y…
特点: (1)无序 (2)不重复 使用场景: (1)关系测试 (2)去重 x & y 求交集 x | y 求并集 x - y 求差集 x ^ y 求对称差集 x.intersection(y) 求交集 x.union(y) 求并集 x.difference(y) 求茶集 x.symmetric_difference(y) 求对称差集 x.issubset(y) 判断x是否是y的子集 x.issuperset(y) 判断x是否包含y set.add(value) set.pop() 实战: >…
实时处理增量日志最佳实践 主要使用f.seek()和f.tell()实现 字符串处理函数: s.find(substr, start, end) 查找子字符串,找不到则返回-1,找到则返回对应的索引 s.rfind(substr, start, end) 从右侧开始查找子字符串,找不到则返回-1; 找到则返回对应的索引:返回的结果和find一样, s.index(substr, start, end) 查找返回子字符串的索引,找不到则报错,报错内容时substring not found s.r…
Python学习系列(七)( 数据库编程)        Python学习系列(六)(模块) 一,MySQL-Python插件       Python里操作MySQL数据库,需要Python下安装访问MySQL数据库接口API包即插件,从而使得Python2.7能访问操作MySQL数据库.MySQL软件可以去官网下载:http://www.mysql.com/; MySQLdb插件下载:http://sourceforge.net/projects/mysql-python/files/lat…
Python学习笔记(七): 深浅拷贝 Set-集合 函数 1. 深浅拷贝 1. 浅拷贝-多层嵌套只拷贝第一层 a = [[1,2],3,4] b = a.copy() print(b) # 结果:[1,2],3,4 b[0][0] = 8 print(a) # 结果:[8,2],3,4 print(b) # 结果:[8,2],3,4 原理图: 2. 深拷贝-克隆一份 2. Set-集合 1. 集合的两大作用: 去重 关系测试 # 定义语法 s = set{'alex',1,2} 2. 关系测试…
2016/1/30学习内容 第七章 Python文件操作 文本文件 文本文件存储的是常规字符串,通常每行以换行符'\n'结尾. 二进制文件 二进制文件把对象内容以字节串(bytes)进行存储,无法用笔记本或其他普通文本处理软件进行编辑,通常也无法被人类直接阅读和理解,需要使用专门的软件进行解码后读取,显示,修改或执行.常见的如图形图像文件,音视频文件,可执行文件,资源文件,各种数据库,Office文件都属于二进制文件 文件对象 通过open()函数即可以指定模式打开指定文件并创建文件对象 文件对…
我觉得学习到现在应该得掌握Python的OOP编程了,但是现在还没有应用到,先留一个坑. 一.类和对象 说到类和对象其实就是在说面向对象编程,学完Java以后我觉得面向对象编程还是很不错的,首先封装了实现,当然实现的具体代码还是一行一行写的,但是只要代码封装的足够好,写一遍就可以应用到所有的地方,而类则是一组相关方法的集合. 1.1 类的创建和实例化 类的创建使用关键字class,而类的实例化则直接是类名()即可: class Test: def __init__(self): print('i…
python操作mysql数据库需要先安装pymysql模块,在之前博客中可翻看如何安装,最简单的就是pip install pymysql 1.导入pymysql模块   import pymysql 2.连接数据库,需要ip,账号,密码,端口号,数据库等信息 3.建立游标 4.执行sql语句 5.获取结果 6.关闭游标 7.关闭连接 import pymysql coon = pymysql.connect(host=,db='test',charset='utf8') cur = coon…
以Mark Lutz著的<Python学习手册>为教程,每天花1个小时左右时间学习,争取两周完成. --- 写在前面的话 2013-7-23 21:30 学习笔记 1,包导入是把计算机上的目录变成Python的命名空间.包导入时也可以使用import和from语句.目录路径只能以点号.间隔.例如有这样一个目录结构: dir0/dir1/dir2/mod.py 则导入语句如下: import dir1.dir2.mod 导入时必须遵循如下规则: dir1和dir2目录中必须含有一个__init_…
Python 没有包括相应日期和时间的内置类型.只是提供了3个相应的模块,能够採用多种表示管理日期和时间值: *    time 模块由底层C库提供与时间相关的函数.它包括一些函数用于获取时钟时间和处理器的执行时间,还提供了基本解析和字符串格式化工具   *    datetime 模块为日期.时间以及日期时间值提供一个更高层接口. datetime 中的类支持算术.比較和时区配置. *    calendar 模块能够创建周.月和年的格式化表示. 它还能够用来计算反复事件.给定日期是星期几,以…