nics 发表于 2018-8-9 13:31:42

python22期自动化-Day2

  基础数据类型
  int:1,3 加减乘除等计算:
  

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

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

索引:  x = 'wanliang'
  x --> n
  

  
切片:
  x = 'wanliang'
  x --> nli
  

  
步长
  x = 'wanliang'
  x --> ni
  

  
反取/反取加步长
  x = 'wanliang'
  x --> ail
  

  x = 'wanliang'
  x --> 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: 存储大量的数据
  

增  append 追加元素
  

  

      x =   x.append('wan')
  print(x)
  
  

  

    insert 选择索引位置插入  

  

      x =   x.insert(1, 'wan')
  print(x)
  
  

  

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

  

      x.extend()  print(x)
  
  

  

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

  

      x =   y = x.pop()
  print(x, y)
   3
  

  

remove 按元素删  

  

      x =   x.remove(3)
  print(x)
  
  

  

clear 清空列表  

  

      x =   x.clear()
  print(x)
  []
  

  

del  1.删除列表
  

  

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

  

    2.按照索引删除  

  

            x =   del x
  print(x)
  
  

  

    3.按照切片删除  

  

            x =   del x
  print(x)
  
  

  

改  1.按索引修改
  

  

      x =   x = 'wan'
  print(x)
  
  

  

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

  

      x =   x = 'wan'
  print(x)
  ['w', 'a', 'n', 3]
  

  

查  1.按索引查
  

  

      x =   x
  1
  

  

    2.按切片查  

  

      x =   x
  
  

  

常用方法:  len 列表长度
  

  

      x =   len(x)
  3
  

  

    count   统计元素出现的次数  

  

      x =   x.count(3)
  3
  

  

    index   元素的索引值  

  

      x =   x.index(3)
  2
  

  

    sort    排序  

  

      x =   x.sort()
  print(x)
  
  

  

    x.sort(reverse=True) 反序  

  

      x =   x.sort(reverse=True)
  print(x)
  
  

  

    reverse 翻转  

  

      x =   x.reverse()
  print(x)
  
  

  

列表嵌套:  

  

l1 = , 6]  l1 = l1.capitalize()
  l1 = l1.upper()
  l1 = str(l1 + 1)
  print(l1)
  , 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 = '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', )  x = 'xxx'
  print(x)
  ('wan', 'liang', )
  

  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 yif 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]
查看完整版本: python22期自动化-Day2