Python的基础函数
2016-03-06 15:55
483 查看
python 开发文档镇楼。 https://docs.python.org/2/index.html
(2) 模块文档
(3)模块导入
(4)变量定义
(5)类定义
(6)函数定义
(7)主程序
在刚开始的时候命令行输出流重新定向
XX 表示是系统自带的变量
_XX 表示是类中的私有变量
https://docs.python.org/2/library/pprint.html
indent代表打印的缩进,depth代表输出的深度,还有一个宽度 width代表打印出来的数据的项
range是生成一个list,当n很大的时候,那么占用内存会很大
xrange占用内存比起来range小,所以平时可以尽量选择xrange,用法是一样的。
以前我都是额外计数的,后来发现用enumerate好很多。 然后,它的效率比较低,所以循环比较多的时候还是建议自己算。
迭代器
https://docs.python.org/2/library/stdtypes.html#typesseq
list 中括号来表示
list的查找和删除
in可以判读元素是否存在
list的扩充,la扩充lb
list 排序
反序
删除某个元素
/article/1280050.html
dict
字典用{}来表示
想要获取字典长度
字典的排序
字典本身是无序的,然而有时候要进行排序的时候,先生成set,然后再利用sorted进行排序
https://wiki.python.org/moin/HowTo/Sorting
元组
元组用()来表示,元组本身不可以更改
python实现两个变量交换,其实就是生成了元组
字符串
python的编码问题,
一本书里面说python有三种字符串,(str),unicode,basestring三类。
编码本身分为三种方式,系统编码,文件编码,python编码,系统编码是代码的编码 a=”哈哈” ,python编码是运行的时候 输出的时候 print a ,文件编码是文件的编码
文件保存设置系统编码
字符串整个是一个地址,是常量,如果字符串进行改变,那么肯定是生成一个新的串,然后把旧的串删除。
字符串的切片 (切片的操作不要老放在循环里面)
字符串的连接
string.upper(a[0:3]+a[20])
虽然加号就能连接,但是python要为每个参加连接操作的字符串分配新的内存,所以推荐用%
、
如果是某个字符串自己和自己重复连接
字符串的替代
字符串转数字,
字符串的查找
python string模块自定义的字符串
字符串的替代,清理标点符号, unicode清理,
/article/5038507.html
python的json和js的json不一样。
文件读取
这里建议读取文件指定读入流。为了防止乱码什么的,最好统一用utf-8编码。现在基本是用codecs读文件了。
如果的是json格式的话,那么
读取数据,也就是反序列化。
json
py数据库
/article/8242061.html
http://segmentfault.com/a/1190000000356018
python的一些问题以及处理思路
/article/8242098.html
关键字查看的函数 iskeyword()
python不支持重载
可以输入 import this ,是python 之禅
测试模块 unittest ,有时候被叫做 Pyunit
2-6 条件判断,记得转化为int
2-7 循环和字串
字符串,分为普通字符串和unicode字符串,后者要加u, ‘str’ , u’str’
2-10
关于代码
python的合理布局
(1)起始行(2) 模块文档
(3)模块导入
(4)变量定义
(5)类定义
(6)函数定义
(7)主程序
文档编码
#encoding: utf-8 # 设置系统编码 import codecs codecs.open("loc,txt","w","utf-8")
模块的测试
if __name__=="__main__": test()
系统参数
import sys sys.argv #argv是一个数组 #你在命令行输入 #>python thisfile.py #会得到一个元素的数组,数组里面的元素是thisfile.py
python的重定向
import sys print>>sys.stderr,'error' logfile=open('a.txt','w') print>>logfile,'ssss' logfile.close()
在刚开始的时候命令行输出流重新定向
$ python code.py >>save.txt
时间的显示
import time time.strftime("%X",time.localtime()) #显示当前时间 import time t0=time() t1 = time() print(" %.2g sec" % (t1 - t0)) #显示运行时间
基础语法
变量名
python的下划线XX 表示是系统自带的变量
_XX 表示是类中的私有变量
输入
user=raw_input('enter') print 'your enter',user
输出
pretty print 冲着这个名字也要用一下啊https://docs.python.org/2/library/pprint.html
>>> import pprint >>> stuff = ['spam', 'eggs', 'lumberjack', 'knights', 'ni'] >>> stuff.insert(0, stuff[:]) >>> pp = pprint.PrettyPrinter(indent=4) >>> pp.pprint(stuff) [ ['spam', 'eggs', 'lumberjack', 'knights', 'ni'], 'spam', 'eggs', 'lumberjack', 'knights', 'ni'] >>> tup = ('spam', ('eggs', ('lumberjack', ('knights', ('ni', ('dead', ... ('parrot', ('fresh fruit',)))))))) >>> pp = pprint.PrettyPrinter(depth=6) >>> pp.pprint(tup) ('spam', ('eggs', ('lumberjack', ('knights', ('ni', ('dead', (...)))))))
indent代表打印的缩进,depth代表输出的深度,还有一个宽度 width代表打印出来的数据的项
位运算
异或 ^循环
for循环,如果是递增的变量的话for i in range(3): print i
range是生成一个list,当n很大的时候,那么占用内存会很大
xrange占用内存比起来range小,所以平时可以尽量选择xrange,用法是一样的。
for i in xrange(3): print i
以前我都是额外计数的,后来发现用enumerate好很多。 然后,它的效率比较低,所以循环比较多的时候还是建议自己算。
for i,ele in enumerate(open(ff)): print i,ele
迭代器
数据结构
listhttps://docs.python.org/2/library/stdtypes.html#typesseq
list 中括号来表示
list=[] list.append("a")
list的查找和删除
in可以判读元素是否存在
onewords=[111,222,333] print 111 in onewords print onewords.remove(111) print 111 in onewords
list的扩充,la扩充lb
la.extend(lb)
list 排序
list.sort()
反序
list.sort(reverse=True)
删除某个元素
list.pop() #最后一个元素 list.pop(0) #第一个元素 list.pop(i) #序列为i的元素
/article/1280050.html
dict
字典用{}来表示
dic={} if "a" in dic: dic["a"]+=1 else: dic["a"]=1 print dic
想要获取字典长度
len(dic)
字典的排序
字典本身是无序的,然而有时候要进行排序的时候,先生成set,然后再利用sorted进行排序
https://wiki.python.org/moin/HowTo/Sorting
d = {'banana': 3, 'apple':4, 'pear': 1, 'orange': 2} sorted(d.items(), key=lambda t: t[0])
元组
元组用()来表示,元组本身不可以更改
python实现两个变量交换,其实就是生成了元组
x,y=1,2 x,y=y,x
字符串
python的编码问题,
一本书里面说python有三种字符串,(str),unicode,basestring三类。
编码本身分为三种方式,系统编码,文件编码,python编码,系统编码是代码的编码 a=”哈哈” ,python编码是运行的时候 输出的时候 print a ,文件编码是文件的编码
文件保存设置系统编码
字符串整个是一个地址,是常量,如果字符串进行改变,那么肯定是生成一个新的串,然后把旧的串删除。
字符串的切片 (切片的操作不要老放在循环里面)
str[0:-1] #从字符串开始到最后倒数第二个
字符串的连接
string.upper(a[0:3]+a[20])
虽然加号就能连接,但是python要为每个参加连接操作的字符串分配新的内存,所以推荐用%
、
'%s %s' %('spa','Inq')
' '.join(('ss','aa','bb')) #ss aa bb
如果是某个字符串自己和自己重复连接
'a'*10 #aaaaaaaaaa
字符串的替代
string.replace(str1,str2,num=string count(str1)) #把str1替换成str2,如果num存在,则不超过num次
字符串转数字,
int(str)
字符串的查找
'bc' in 'abcd' 'n' not in 'abcd' #还有find 和index
python string模块自定义的字符串
import string string.uppercase #大写 string.lowercase #小写 string.letters#大小写 string.digits #数字
字符串的替代,清理标点符号, unicode清理,
not_letters_or_digits = u'!"#%\'()*+,-./:;<=>?@[\]^_`{|}~' translate_table=dict((ord(char),u' ') for char in not_letters_or_digits) line=unicode(line).translate(translate_table)
面向对象
python 类,有时候有称为类对象。实例 Instanceclass MyData(object): pass mathObj=MyData() mathObj.x=3
文件读取
json文件/article/5038507.html
python的json和js的json不一样。
文件读取
savefile=open("read.txt",'r') logfile=open('an.json','w')
fjson=open("s.json","w") f.write(json.dump(data)) f.close()
这里建议读取文件指定读入流。为了防止乱码什么的,最好统一用utf-8编码。现在基本是用codecs读文件了。
import codecs codecs.open("filename.txt","r","utf-8") codecs.open("filename.txt","w",utf-8")
如果的是json格式的话,那么
数据的序列化和反序列化
pickle存储数据,也就是对象序列化,可以把运行中的对象存储在本地。save_file = "save.pk" with open(save_file, 'w') as f: pickle.dump(WMD_D, f) #WMD_D是要存储的对象
读取数据,也就是反序列化。
import pickle load_file = "save.pk" with open(load_file) as f: objectA= pickle.load(f)
json
path="" #file path for line in open(path): rec=json.loads(line)
py数据库
/article/8242061.html
异常
现在的理解是异常能够让我的程序在不跳出的时候运行,而且记录相应的错误,可以存在文件里面当作日志。这个在执行数据量大的时候,可以用来忽略一些小的错误。try: cur.execute('select words from '+review_bui[0]) #pdb.set_trace() except Exception,e: nots.write(str(e)+'\n')
python 模块
系统路径‘
sys.path.append(‘F:\code\yelp2\subpython’) 加进去就是系统的路径了python库收集
/article/8242137.html其他
调试工具http://segmentfault.com/a/1190000000356018
python的一些问题以及处理思路
/article/8242098.html
关键字查看的函数 iskeyword()
python不支持重载
可以输入 import this ,是python 之禅
测试模块 unittest ,有时候被叫做 Pyunit
python核心编程 课后习题
2-5(b)num=[ x for x in range(11)] for i in num: print i
2-6 条件判断,记得转化为int
x=int(raw_input('put the num:')) if x==0: print 'zero' elif x>0: print 'positive' else: print 'negative'
2-7 循环和字串
str=raw_input('put the string:') for c in str: print c
字符串,分为普通字符串和unicode字符串,后者要加u, ‘str’ , u’str’
2-10
print('Enter') v=[] i=0 s=0 while s==0: a=input('n%d=' % (i+1)) if 0<a<=100: break else: continue print('end')
相关文章推荐
- Python 2.7.11 字符串操作
- python库
- Python之常用模块(一)
- python学习笔记-Day6(3)
- 四则运算 Python
- Python:使用模块和安装模块:
- (已加马赛克)10 行代码判定色*情*图片——Python 也可以系列之二
- 计算图像相似度——《Python也可以》之一
- python小练习
- 分享一套 python 试题
- Python学习笔记-列表的条件过滤生成
- Python的冷技巧小技巧
- Python—Socket
- Python学习笔记-复杂表达式
- libxml2 3.5交叉编译
- 用Python做图像处理
- python常用小模块使用汇总
- python交叉编译过程记录
- Python执行系统命令的方法 os.system(),os.popen(),commands
- python 抓取百度音乐