python基础知识

来源:互联网 发布:centos开启wifi 编辑:程序博客网 时间:2024/06/10 06:06


py基础学习


1.命令行输入python命令式,例如python test.py -c -m install
sys.argv=['test.py', '-c', '-m', 'install']


2.切片,str[0: 5: -1],含头不含尾,-表示倒序切


3.unicode和encode
unicode(str, "utf-8"), 将utf-8编码的str转换为unicode编码
str.encode("utf-8"), 将str转换为utf-8编码


4.数字,字符串和tuple属于不可变对象。即不能改变其值。


5.list内置函数
l=[]
len(l) 长度
l.append(any) 在末尾增加
l.pop(any) 在末尾删除
del l[0] 删除
max(l) 返回最大值
min(l) 返回最小值
list(l) 将元素转换成列表
cmp(l1, l2) 比较两个列表
l.count(obj) 统计obj出现次数
l.insert(index, obj) 在index处插入obj
l.reverse() 将列表中的元素反向
l.sort(key=func,reverse=True) 将列表排序,key为函数名,reverse为True
sorted(l)为内建排序(BIF)按照字典序,l.sort为内置函数并且按照标准序
根据ASCII排,具体如下:
0-9(对应数值48-59);
A-Z(对应数值65-90);
a-z(对应数值97-122);


标准序: 短在前,长在后,等长的依次比字母,
如to < up < cap < cat < too < two <boat < boot < card


6.可变参数列表
def func(a, b, *args):
    args #args为元组类型


其中*表示可变参数列表
**表示拆分关键字参数为字典


7.lamda a, b : a+b


8.编码风格
使用 4 空格缩进,而非 TAB。


在小缩进(可以嵌套更深)和大缩进(更易读)之间,4空格是一个很好的折中。TAB 引发了一些混乱,最好弃用。


折行以确保其不会超过 79 个字符。


这有助于小显示器用户阅读,也可以让大显示器能并排显示几个代码文件。


使用空行分隔函数和类,以及函数中的大块代码。


可能的话,注释独占一行


使用文档字符串


把空格放到操作符两边,以及逗号后面,但是括号里侧不加空格: a = f(1, 2) + g(3, 4) 。


统一函数和类命名。


推荐类名用 驼峰命名, 函数和方法名用 小写_和_下划线。总是用 self 作为方法的第一个参数(关于类和方法的知识详见 初识类 )。


不要使用花哨的编码,如果你的代码的目的是要在国际化 环境。 Python 的默认情况下,UTF-8,甚至普通的 ASCII 总是工作的最好。


同样,也不要使用非 ASCII 字符的标识符,除非是不同语种的会阅读或者维护代码。


9.Queue模块队列
线程间交换数据形式


10.内置函数式编程
filter(func,seq) 返回通过func为True的序列
map(func(*args),*seq) 返回通过func的序列
reduce(func,seq) 序列的前两个先执行函数,然后返回结果与第三个执行函数,以此类推。如果序列中只有一个元素,就返回它,如果序列是空的,就抛出一个异常。
可以传入第三个参数作为初始值。如果序列是空的,就返回初始值,否则函数会先接收初始值和序列的第一个元素,然后是返回值和下一个元素


11.enumrate()
for i, j in enumrate(seq):
    print i, j


12.zip()聚合多个长度相同的seq


13.导入包
需要注意的是使用 from package import item 方式导入包时,这个子项(item)既可以是包中的一个子模块(或一个子包),也可以是包中定义的其它命名,像函数、类或变量


14.open
用于打开文件
f=open(filename, mod)
f.read(size)读取一定size的字符串


f.read()
'This is the entire file.\n'


f.readline()读取一行
会在末尾自动加\n,当读到末尾返回空字符串,读到空行则返回'\n'


f.readlines() 返回一个列表,其中包含了文件中所有的数据行
这个功能通常用于高效读取大型行文件,避免了将整个文件读入内存
一种替代的方法是通过遍历文件对象来读取文件行。 这是一种内存高效、快速,并且代码简洁的方式:
 for line in f:
    print(line, end='')


f.write(string) 方法将 string 的内容写入文件,并返回写入字符的长度,必须是字符串str()


15.用with open(file) as f:
...
     f.close()


16.try...except遇到异常执行和try...finally一定执行


17.性能度量
from timeit import Timer
Timer(表达式;表达式).timeit()


18.generator迭代器
包含yield的函数都是generator
通过next或者send(msg)执行
def h():
    print 'Wen Chuan',
    m = yield 5  # Fighting!
    print m
    d = yield 12
    print 'We are together!'
c=h()
c.next()
c.send("adf")
输出为wenchuan adf
中断调用close()抛异常


19.字典dict
dict={'1': 1, '2': 2}
dict['1']=2 #修改字典

del dict['1'] #删除字典


20.文件写入

write(str) 不会在末尾添加行结束符

writelines(seq) 不会在末尾添加行结束符

所以一般通过os.linesep或者行结束符,然后write('%s%s'%(seq,os.lineseq))


21.

0 0
原创粉丝点击