python
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python相关的知识,希望对你有一定的参考价值。
1.自动补全
配置环境: 创建以下文件
vim /usr/local/bin/tab.py
输入:
import readline
import rlcompleter
readline.parse_and_bind(‘tab:complete‘)
存储后设置 SPYTHONSTARTUP
vim ~/.bash_profile 增加以下内容
再最后的export PATH前加
PYTHONSTARTUP=/usr/local/bin/tab.py
export PATH PYTHONSTARTUP
保存后修改可执行权限
chmod +x /usr/local/bin/tab.py
source ~/.bash_profile(马上生效)
验证
echo SPYTHONSTARTUP(有值即可)
关键字查询: improt keyword
keyword.kwlist
循环获取 I %s %(ine for line in data)
思路: 根据功能分函数,函数先写框架
cmp 比较大小
list(‘abcd‘) >>>[‘a‘,‘b‘,‘c‘,‘d‘]
int 可转进制 int(‘10‘,base=2) base指定进制数
abs 返回绝对值
divmod(10,3) >>>(3,1) 可得商和余
pow 指数运算,即几次方
round 四舍五入 round(5.0/3,2)
hex 16进制数
oct 8进制
bin 2进制
ord ACCII码
chr 转为ACCII编码
range(5) 生成0~5的列表
from random improt randint
randint(1,100) 随机生成一个(1,100)内的数
enumerate 返回元组(下标,元素) 用list(enumerate(1,2))
reversed (反转序列) 也可 [::-1]
sorted 排序
string.letters (字母大小写列表)
string.digits (数字列表)
%15s%5s%(‘name‘,‘ager‘) 格式对齐
%-15s%-5s%(‘name‘,‘ager‘)左对齐
%s%s%(-10,‘name‘,-5,‘ager‘) *占位 -10和-5
string.centen(48) 居中字符串
string.capitalize() 首字母大写
string.ljust(40,#) 左对齐
string.rjust(40,#)右对齐
string.count(‘l‘) 统计l出现次数
string.endswith(‘o‘) 是否以O结尾
string.startswith(‘e‘) 是否e开头
string.islower 是否小写,有任一大写则返回flase
string.isupper 是否大写,有任一小写则返回flase
string.isdigit 是否数字
string.isacpha 是否字母
string.isalnum 是否数字和字母
string.strip 去除字符串两端的空白,可加参数去除指定
string.strip(‘!‘) 去除两端!字符串,不去除中间
string.lstrip() 去除左端空白
string.rstrip() 去除右端空白
string.vpper 小写转大写
string.sqlit(‘.‘) 以.切割字符串,返回列表
string.replace(‘o‘,‘a‘) 把o替换为a
improt subprocess 执行系统命令模块
subprocess.call(‘ls -l /home‘,shell=True)
string.Template() 字符串模块
data=f.read().decode(‘gb1803‘)
f.write(date.encode(‘utf8‘))
列表切片增加:
alist=[10,11,12,13,‘zh‘,‘li‘,30]
alist[5:5]=[‘ww‘,‘zl‘] (列表中间插入)
alist=[10,11,12,13,‘zh‘,‘ww‘,‘zl‘,‘li‘,30]
列表删除
del alist[-1] 删除最后一项
alist.pop() 删除最后一项并返回删除项
alist.pop(3) 删除下标3的项
alist.remove(12) 根据值删除,相同值时只删第一个
alist.count(10) 统计10出现次数
alist.extend() 拆分元素增加
alist.index(‘new‘) 返回元素的下标,多个时只返回第一个,无则报错
alist.insert(0,200) 向下标0插入200
alist.reverse() 反转列表
alist.sort() 排序,默认升序排列
random.shuffle(alist) 打乱排序
alist.sort(reversed=True) 排序时反转
alist.len() 获取长度
alist.max() 获取最大值
alist.min() 最小值
字符串拼接
str_list=[‘h‘,‘e‘,‘o‘]
‘.‘.join(str_list) #以.号连接
输出‘h.e.o‘
多用列表,效率高
字典
adict[‘name‘] 字典访问
for key in adict:
print "%s:%s" %(key,adict[key]) 字典循环
"(name)s:%(age)s"% adict 获取值
adict.pop(key) 弹出健
adict.popitem() 随机弹
adict.setdefault(‘mail‘,‘bobcatudo‘) 有则不变更
adict.keys() 返回健
adict.values() 返回值
adict.items() 返回健和值
adict.update(bdict) 字典相加
多if 判断多个条件时某些值时用字典
cmds = {‘0‘:push_it,‘1‘:pop_it,‘2‘:view_it}
choice=raw_input(prompt).strip()[0] #去掉输入的空格并获取第一个值
cmds[choice]() #用字典匹配获取对应的值得调用函数
元组
tuple()
创建单元组时要在后面加,
a=(‘10‘,)
元组不可变,但元组中的列表可以变
atuple=(1,[],2)
atuple[1].append(10)
atuple[1].append(20)
结果是 atuple=(1,[10,20],2)
max() 返回最大
mint() 返回最小
alist=[‘hello‘,‘word‘]
enumerate(alist) 返回函数对象
list(enumerate(alist))
集合: 集合可以去重 set([‘1‘,‘2‘])
判断: big=xif x>y else y
生成器表达式:不真正创建列,返回一个生成器,使用时才生成
(expr for iter_var in iterable if (ond_expr))
print "\r" # \r不换行,后面加,连接。
%c 数字转化为ACCII
%s 先转化为字符串后
%d 整数类型,只留整数
% d 前面留空格兼容负数
%05d 前面空格补0
%+5d 正数前面显示+号
%f 浮点数
%5.3f 宽度为5,小数为3位
%i int
%e 科学计数法
%o 8进制数
%#o 显示前缀
花括号格式化
" {} is {} yesas old".format(‘bob‘,‘23‘)
推荐用花括号格式化
" {0[0]} is {0[1]} yesas old".format(alist)
第一列左对齐宽度为8,第二列为宽度5左对齐,<左对齐, >有对齐
" {0:8s} is {1:<5d} yesas old".format(‘bob‘,‘23‘)
字符串模版
ori_txt=‘HI ${name},I WILL SEE YOU ${day}‘
t=string.Template(ori_txt)
t.substitute(name=‘bob‘,day=‘tomorrow‘)
调用系统命令建议使用 subprocess
subprocess.call(‘ls /home‘, shell=True)
字典:{} 花括号,无序。
{}.fromkeys((‘tom‘,‘bob‘,‘alice‘),7) #值固定为7时可以批量创建
输出:{‘bob‘:7,‘alice‘:7,‘tom‘:7}
adict[‘key‘] 访问字典
adict.pop[‘key‘] 删除字典
del adict[‘key‘] 删除字典
adict.popitem() 随机删除值并返回删除的值
adict.clear 清除字典
adict ={‘age‘:7,‘name‘:‘bob‘}
‘%(name)s:%(age)s‘ % adict
a=adict.copy() 深复制,值互不影响
clist=alist[:] 列表复制,值互不影响
adict.get(‘key‘) 取出值,不存在返回none
adict.get(‘key‘,23) 取出值,不存在返回23
adict.get(‘key‘,‘nout found‘) 取出值,不存在返回not found
adict.setdefault(‘age‘,20) 设置值,存在则不改变.
adict.keys() 获取key的列表
adict.items() 获取值和key的列表
adict.values()获取值的列表
bdict={‘age‘:23,‘name‘:‘bob‘,‘emil‘:‘[email protected]‘}
{value:key for key,value in bdict.items()} #key和value对换,注意value有相同值时会丢项目
adict.update(bdict) 更新字典,可以把bdict合并到adict里
隐藏密码输入
import getpass
getpass.getpass("password")
以上是关于python的主要内容,如果未能解决你的问题,请参考以下文章