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

[经验分享] python22期自动化-Day2

[复制链接]

尚未签到

发表于 2018-8-9 13:31:42 | 显示全部楼层 |阅读模式
  基础数据类型
  int:1,3 加减乘除等计算:
  

+(加) - (减)*(乘) /(除) //(整除)  

  str:存储少量的数据,进行简单的操作
  

索引:  x = 'wanliang'
  x[2] --> n
  

  
切片:
  x = 'wanliang'
  x[2:5] --> nli
  

  
步长
  x = 'wanliang'
  x[2:5:2] --> ni
  

  
反取/反取加步长
  x = 'wanliang'
  x[5:2] --> ail
  

  x = 'wanliang'
  x[5:2:-2] --> al
  

  
格式化:
  %
  表示占位符
  %s
  表示字符串和整数
  %d
  表示整数
  示例:
  x = 'my name is %s, i am %d years old' % ('wanliang', 23)
  

  %% 第一个%对第二个%转义
  

  
常用方法:
  capitalize      首字母大写
  

  

      x = 'wanliang'  x.capitalize()
  'Wanliang'
  

  

    swapcase    大小写翻转  

  

      x = 'WanLiang'  x.swapcase()
  'wANlIANG'
  

  

   >  

  

      x = 'wan liang'  x.title()
  'Wan Liang'
  

  

    center      内容居中,总长度,空白填充  

  

      x = 'study'  x.center(30, '-')
  '------------study-------------'
  

  

    count       统计字符出现的次数  

  

      x = 'wanliang'  x.count('a')
  2
  

  

    expandtabs  默认将一个tab键变成8个空格,如果tab前面的字符长度不足8个,则补全8个,如果tab键前面的字符长度超过8个不足16个则补全16个,以此类推每次补全8个。  

  

      x = 'wanliang\t'  x.expandtabs()
  'wanliang        '
  

  

    startwith   endwith 以...开头 以...结尾,正确为True,错误为False  

  

      x = 'wanliang'  x.startswith('w')
  True
  x.endswith('g')
  True
  

  

    find                查找字符的索引  

  

      x = 'wanliang'  x.find('i')
  4
  

  

    split               以...为分隔,str转换为list  

  

      x = 'wan liang'  x.split(' ')
  ['wan', 'liang']
  

  

    replace         替换  

  

      x = 'wan liang'  x.replace('liang', 'xxx')
  'wan xxx'
  

  

    format          格式化  

  

      x = 'i love {0}, {0} make me happy'  x.format('study')
  'i love study, study make me happy'
  

  

    strip           去除首尾空格、\t、换行符  

  

      x = '  wanliang   '  x.strip()
  'wanliang'
  

  

    is系列  name.isalnum()  字符串由字母或数字组成
  name.isalpha()  字符串只由字母组成
  name.isdigit()      字符串只由数字组成
  

  

          x = 'wanliang123'  x.isdigit()
  False
  x.isalpha()
  False
  x.isalnum()
  True
  

  list:[1,3,'sad',True...] 存储大量的数据
  

增  append 追加元素
  

  

      x = [1, 2, 3]  x.append('wan')
  print(x)
  [1, 2, 3, 'wan']
  

  

    insert 选择索引位置插入  

  

      x = [1, 2, 3]  x.insert(1, 'wan')
  print(x)
  [1, 'wan', 2, 3]
  

  

    extend 迭代为最小元素追加到列表  

  

      x.extend([11, 22, 33])  print(x)
  [1, 2, 3, 11, 22, 33]
  

  

删  
pop 按索引删除,有返回值
  

  

      x = [1, 2, 3]  y = x.pop()
  print(x, y)
  [1, 2] 3
  

  

remove 按元素删  

  

      x = [1, 2, 3]  x.remove(3)
  print(x)
  [1, 2]
  

  

clear 清空列表  

  

      x = [1, 2, 3]  x.clear()
  print(x)
  []
  

  

del  1.删除列表
  

  

              x = [1, 2, 3]  del x
  print(x)
  Traceback (most recent call last):
  File "<input>", line 1, in <module>
  NameError: name 'x' is not defined
  

  

    2.按照索引删除  

  

              x = [1, 2, 3]  del x[0]
  print(x)
  [2, 3]
  

  

    3.按照切片删除  

  

              x = [1, 2, 3]  del x[0:2]
  print(x)
  [3]
  

  

改  1.按索引修改
  

  

      x = [1, 2, 3]  x[2] = 'wan'
  print(x)
  [1, 2, 'wan']
  

  

    2.按切片修改(会先清空区域内元素,再迭代加入新元素'a', 'd', 's', 'a', 'a'到区域内,不需要数量相等)  

  

      x = [1, 2, 3]  x[0:2] = 'wan'
  print(x)
  ['w', 'a', 'n', 3]
  

  

查  1.按索引查
  

  

      x = [1, 2, 3]  x[0]
  1
  

  

    2.按切片查  

  

      x = [1, 2, 3]  x[0:2]
  [1, 2]
  

  

常用方法:  len 列表长度
  

  

      x = [1, 2, 3]  len(x)
  3
  

  

    count   统计元素出现的次数  

  

      x = [1, 2, 3, 3, 3]  x.count(3)
  3
  

  

    index   元素的索引值  

  

      x = [1, 2, 3]  x.index(3)
  2
  

  

    sort    排序  

  

      x = [1, 3, 6, 2, 4]  x.sort()
  print(x)
  [1, 2, 3, 4, 6]
  

  

    x.sort(reverse=True) 反序  

  

      x = [1, 3, 6, 2, 4]  x.sort(reverse=True)
  print(x)
  [6, 4, 3, 2, 1]
  

  

    reverse 翻转  

  

      x = [1, 3, 6, 2, 4]  x.reverse()
  print(x)
  [4, 2, 6, 3, 1]
  

  

列表嵌套:  

  

  l1 = [1, 2, 'alex', ['WuSir', 'taibai', 99], 6]  l1[2] = l1[2].capitalize()
  l1[3][0] = l1[3][0].upper()
  l1[3][2] = str(l1[3][2] + 1)
  print(l1)
  [1, 2, 'Alex', ['WUSIR', 'taibai', '100'], 6]
  

  range
  

    range迭代  

  for i in range(0, 5):
  print(i)
  01
  2
  3
  4

  

range加步长  

  for i in range(0, 5, 2):
  print(i)
  

  0  2
  4
  

  

range反取加步长  

  

  for i in range(5, 0, -2):  print(i)
  

  5
  3
  1
  

  tuple   元组,只读列表
  从属于元组的元素不能改,元素内的元素可能可以改,比如元组内的列表

  

  x = ('wan', 'liang')  

  x[1] = 'xxx'
  Traceback (most recent call last):
  File &quot;<input>&quot;, line 1, in <module>
  TypeError: 'tuple' object does not support item assignment
  

  x = ('wan', 'liang', [1, 2, 3])  x[2][2] = 'xxx'
  print(x)
  ('wan', 'liang', [1, 2, 'xxx'])
  

  dict:{'name': 'alex'}查询速度快(二分查找),存储的是关系型数据
  

字典:键必须唯一,不可重复,value可以为任意数据类型或对象  
3.5版本包括.5之前都是无序的
  
字典的键只能是不可变的数据类型
  

  

  dic['key'] = 'value'        有key修改,无key添加
  

  

      x = {'name': 'wanliang', 'age': 18}  x['name'] = 'alex'
  print(x)
  {'name': 'alex', 'age': 18}
  x['hobby'] = 'girl'
  print(x)
  {'name': 'alex', 'age': 18, 'hobby': 'girl'}
  

  

    dic.setdefault('key')       有key不修改,无key添加  

  

      x = {'name': 'wanliang', 'age': 18}  x.setdefault('name', 'alex')
  'wanliang'
  print(x)
  {'name': 'wanliang', 'age': 18}
  x.setdefault('hobby', 'girl')
  'girl'
  print(x)
  {'name': 'wanliang', 'age': 18, 'hobby': 'girl'}
  

  

删  pop     返回value
  

  

      x = {'name': 'wanliang', 'age': 18}  y = x.pop('name')
  print(x, y)
  {'age': 18} wanliang
  

  

    dic.pop('key', None)    删除不存在的key时,不加None会报错  

  

      x = {'name': 'wanliang', 'age': 18}  y = x.pop('hobby')
  Traceback (most recent call last):
  File "&lt;input&gt;", line 1, in &lt;module&gt;
  KeyError: 'hobby'
  y = x.pop('hobby', None)
  print(x, y)
  {'name': 'wanliang', 'age': 18} None
  

  

    popitem 随机删除一个,返回一个包含被删除的键值对的元组  

  

      x = {'name': 'wanliang', 'age': 18}  x.popitem()
  ('age', 18)
  print(x)
  {'name': 'wanliang'}
  

  

    clear   清空字典  

  

      x = {'name': 'wanliang', 'age': 18}  x.clear()
  print(x)
  {}
  

  

    del  1.删除整个字典
  

  

          x = {'name': 'wanliang', 'age': 18}  del x
  print(x)
  Traceback (most recent call last):
  File "&lt;input&gt;", line 1, in &lt;module&gt;
  NameError: name 'x' is not defined
  

  

        2、按照key删除  

  

          x = {'name': 'wanliang', 'age': 18}  del x['name']
  print(x)
  {'age': 18}
  

  

改  update
  dic2.update(dic)    把dic给dic2,dic中的key在dic2中无则添加,有则修改
  

  

      x = {'name': 'wanliang', 'age': 18}  y = {'name': 'alex', 'hobby': 'girl', 'job': 'teacher'}
  x.update(y)
  print(x)
  {'name': 'alex', 'age': 18, 'hobby': 'girl', 'job': 'teacher'}
  

  

查  get  当访问的key不存在时,可设置默认值
  

  

      x = {'name': 'wanliang', 'age': 18}  x.get('name')
  'wanliang'
  x.get('hobby', 'study')
  'study'
  

  

    dic.keys()      所有的键,类似列表的容器,可循环,没有索引  

  

      x = {'name': 'wanliang', 'age': 18}  x.keys()
  dict_keys(['name', 'age'])
  

  

    dic.values()    所有的值,类似列表的容器,可循环,没有索引  

  

      x = {'name': 'wanliang', 'age': 18}  x.values()
  dict_values(['wanliang', 18])
  

  

    dic.items()   返回包含keys和values的两个元组  

  

      x = {'name': 'wanliang', 'age': 18}  x.items()
  dict_items([('name', 'wanliang'), ('age', 18)])
  

  

比较运算:  优先级:() > not > and > or
  0为False
  非0为True
  

  and
  x and y  if x 为真,取x; if x 为假,取y
  x or y 和and相反
  

  1 > 3 and 2 < 4 --> x为False,取y,y为True
  3 > 4 and 4 < 3 --> x为False,取y,y为False
  True or Fale --> x为True,取y,y为Fasle
  所以条件语句走else,打印False
  

  

              if 1 &gt; 3 and 2 &lt; 4 or 3 &gt; 4 and 4 &lt; 3:  print(True)
  else:
  print(False)
  

  数据类型的补充:
  在循环一个列表时,不要改变列表的大小,这样会影响结果
  在循环一个字典时,不要改变列表的大小,这样会影响结果

运维网声明 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-549234-1-1.html 上篇帖子: Python学习笔记__10.3章 ThreadLocal 下篇帖子: Python学习笔记__12.4章 struct
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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