设为首页 收藏本站
查看: 625|回复: 0

[经验分享] python语法部分

[复制链接]

尚未签到

发表于 2018-8-6 08:01:14 | 显示全部楼层 |阅读模式
  https://pypi.python.org/pypi  #模块网站
  #!/usr/bin/env python   #在环境变量env中找Python
  #coding: utf8
  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(有值即可)
  补全
  #source /python_note/tab.sh 即可
  关键字查询: 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.rstrip('\r\n')  去除右端\r,\n,\r\n
  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=x if 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左对齐,<左对齐, >有对齐
  &quot; {0:8s} is {1:<5d} yesas old&quot;.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)
  字典:{} 花括号,无序。
  dict工厂函数dict((%5B'name','bob'%5D,%5B'age','23'%5D,%5B'email','bob@qq.com'%5D))br/>tom=EmplAddrBook('tom','13666','tom@de.cn')
print tom.get_phone()
  print tom.get_email()
  父类和子类有同名方法时,会调用子类
  组合:
  class UserInfo(object):
  def init(self,phone,email):
  self.phone=phone
  self.email=email
  

def get_phone(self):  return self.phone
  

  
def updata_phone(self,newphone):
  self.phone=newphone
  return self.phone
  

  def get_email(self):
  return self.email
  

  
def updata_email(self,newemail):
  self.email=newemail
  return self.email
  

  class AddrBook(object):
  def init(self,name,phone,email):
  self.name=name
  self.info=UserInfo(phone,email)   #引用上一个类定义的属性

  if name == 'main':bob=AddrBook('bob','1231332','bob@tt')

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-547297-1-1.html 上篇帖子: python语言的特点 下篇帖子: Python小技巧之除法运算、幂运算
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表