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

[经验分享] Python学习 Day 3 字符串 编码 list tuple 循环 dict set

[复制链接]

尚未签到

发表于 2015-12-1 10:10:46 | 显示全部楼层 |阅读模式
字符串和编码
  字符
  ASCII
  Unicode
  UTF-8
  A
  1000001
  00000000 01000001
  1000001
  中
  x
  01001110 00101101
  11100100 10111000 10101101
格式化
  在Python中,采用的格式化方式和C语言是一致的,用%实现,举例如下:
  >>> 'Hello, %s' % 'world'
  'Hello, world'
  >>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)
  'Hi, Michael, you have $1000000.'
  %运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。常见的占位符有:
  %d
  整数
  %f
  浮点数
  %s
  字符串
  %x
  十六进制整数
  其中,格式化整数和浮点数还可以指定是否补0和整数与小数的位数:
  >>> '%2d-%02d' % (3, 1)
  ' 3-01'
  >>> '%.2f' % 3.1415926
  '3.14'
  %s永远起作用,它会把任何数据类型转换为字符串:
  >>> 'Age: %s. Gender: %s' % (25, True)
  'Age: 25. Gender: True'
  对于Unicode字符串,用法完全一样,但最好确保替换的字符串也是Unicode字符串:
  >>> u'Hi, %s' % u'Michael'
  u'Hi, Michael'
  字符串里面的%是一个普通字符时,需要转义,用%%来表示一个%
  Python内置的一种数据类型是列表:
  List
  list是一种有序的集合,可以随时添加和删除其中的元素。
  >>>classmates=['michael','bob','tracy']
  >>> classmates
  ['michael', 'bob', 'tracy']
  >>>len(classmates)#获得list元素的个数
  3
  >>> classmates[0]#用索引来访问list中每一个位置的元素,从0开始
  'michael'
  >>> classmates[-1]
  'tracy'
  >>> classmates[3]#索引超出了范围报错
  Traceback (most recent calllast):
   File "<pyshell#11>", line 1,in <module>
   classmates[3]
  IndexError: list index outof range
  >>> classmates[-2]
  'bob'
  >>>classmates.append('adam')#list中追加元素到末尾
  >>> classmates
  ['michael', 'bob', 'tracy','adam']
  >>>classmates.insert(1,'jack')#把元素插入到指定的位置
  >>> classmates
  ['michael', 'jack', 'bob','tracy', 'adam']
  >>>classmates.pop()#删除list末尾的元素
  'adam'
  >>>classmates.pop(1)#赋值给对应的索引位置
  'jack'
  >>> classmates
  ['michael', 'bob', 'tracy']
  >>>classmates[1]='sarah'#把某个元素替换成别的元素
  >>> classmates
  ['michael', 'sarah','tracy']
  >>> L = ['Apple',123, True]#元素的数据类型也可以不同
  >>> s = ['python','java', ['asp', 'php'], 'scheme']#元素也可以是另一个list
tuple
  元组和list类似,但是元组一旦初始化就不能修改
  >>> classmates =('Michael', 'Bob', 'Tracy')
  >>> t = (1,)#只有1个元素时必须加一个逗号
  特例,“可变的”tuple
  >>> t = ('a', 'b',['A', 'B'])
  >>> t[2][0] = 'X'
  >>> t[2][1] = 'Y'
  >>> t
  ('a', 'b', ['X', 'Y'])
条件判断
  age =3
  ifage >= 18:# 如果if判断是False,不执行if的内容,执行else
   print 'your age is', age
   print 'adult'
  else:
   print 'your age is', age
   print 'teenager'
  if语句执行是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else
  if <条件判断1>:
   <执行1>
  elif <条件判断2>:
   <执行2>
  elif <条件判断3>:
   <执行3>
  else:
   <执行4>
循环
  for...in循环
  names= ['Michael', 'Bob', 'Tracy']
  forname in names:
  print name
  
  sum =0
  for xin range(101):
   sum = sum + x
  printsum
  while循环
  sum =0
  n =99
  whilen > 0:
   sum = sum + n
   n = n - 2
  printsum
dict
  dict的key必须是不可变对象。list是可变的,就不能作为key。
  
  >>> d = {'Michael': 95, 'Bob': 75,'Tracy': 85}
  >>> d['Michael']
  95
  和list比较,dict有以下几个特点:
  查找和插入的速度极快,不会随着key的增加而增加;
  需要占用大量的内存,内存浪费多。
  而list相反:
  查找和插入的时间随着元素的增加而增加;
  占用空间小,浪费内存很少。
set
  set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
  要创建一个set,需要提供一个list作为输入集合:
  >>> s = set([1, 2, 3])
  >>> s
  set([1, 2, 3])
  >>> s = set([1, 1, 2, 2, 3, 3])#需要list作为输入集合
  >>> s
  set([1, 2, 3])#重复元素在set中自动被过滤
  >>> s.add(4)#添加元素到set中
  >>> s
  set([1, 2, 3, 4])
  >>> s.add(4)
  >>> s
  set([1, 2, 3, 4])
  >>> s.remove(4)#删除元素
  >>> s
  set([1, 2, 3])
  >>> s1 = set([1, 2, 3])
  >>> s2 = set([2, 3, 4])
  >>> s1 & s2#交集
  set([2, 3])
  >>> s1 | s2#并集
  set([1, 2, 3, 4])
  set和dict的唯一区别仅在于没有存储对应的value,但是,set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部“不会有重复元素”。
  欢迎关注

运维网声明 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.yunweiku.com/thread-145750-1-1.html 上篇帖子: Appium环境的安装与配置,Python测试脚本测试 下篇帖子: python 3.4 内置库功能
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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