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

[经验分享] python内置类型---1

[复制链接]

尚未签到

发表于 2018-8-16 10:01:10 | 显示全部楼层 |阅读模式
  强类型语言
  ***********两个对象的比较*******************
  1,值比较,对象中的数据是否相同==
  2,身份比较,两个变量名引用的是否为同一对象
  3,类型比较,
  例子:
  *************核心数据类型*****************
  数字:int lang float complex bool
  字符:str unicode
  列表:list
  字典:dict
  元组:tuple
  文件:file
  其他类型:集合(set) frozenset 类类型 none
  其他文件类工具:pipes fifos sockets
  **************类型转换****************
  str() repr() format():将非字符型数据转换为字符
  int():转为整数
  float():
  In [1]: s = "My boss is lihong"
  list(s):将字串s转为列表
  In [2]: l1 = list(s)
  In [3]: print l1
  ['M', 'y', ' ', 'b', 'o', 's', 's', ' ', 'i', 's', ' ', 'l', 'i', 'h', 'o', 'n', 'g']
  tuple(s):将字串s转为元组
  In [4]: t1 = tuple(s)
  In [5]: print t1
  ('M', 'y', ' ', 'b', 'o', 's', 's', ' ', 'i', 's', ' ', 'l', 'i', 'h', 'o', 'n', 'g')
  set(s):将字串s转为集合
  In [6]: s1 = set(s)
  In [7]: print s1
  set([' ', 'b', 'g', 'i', 'h', 'M', 'l', 'o', 'n', 's', 'y'])
  frozenset():将字串s转换为不可变集合
  dict(d):创建字典,其中d必须是(key,vlue)的元组序列
  In [11]: l3 = [('a',1),('b',11),('c',45)]
  In [12]: print l3
  [('a', 1), ('b', 11), ('c', 45)]
  In [13]: d1 = dict(l3)
  In [14]: print d1
  {'a': 1, 'c': 45, 'b': 11}
  chr():将整数转换为字符
  ord():将字符转换为整数值
  hex():将整数转换为16进制字串
  bin():将整数转换为2进制字符
  oct():将整数转换为8进制字符
  数字类型以及:
  Python的数字字面量:布尔型,整数,浮点型,复数
  True:1
  False:0
  import math
  序列类型
  字符类型:
  字符串字面量:吧文本放入单引号、双引号或三引号(可以是三个单引号或三个双引号)
  如果要使用Unicode编码,则再字符之前使用字符U进行标识,如u"tre"
  文档字串:模块,类或函数的第一条语句是一个字符的话,该字符串就成为文档字符串,可以用__doc__属性引用
  运算符:
  索引运算
  切片运算
  扩展运算
  ************获取帮助******************
  dir(sir)获取名称列表
  help(str.find)
  *************列表类型*****************
  容器类型:
  任意对象的有序集合,通过索引访问其中的元素,可变对象
  支持异构,任意嵌套
  定义一个列表:
  l1 = []空列表
  l2 = [1,2,3,4,5]
  l3 = [1,'b']异构
  l4 = [[1,2],['a','b']] 嵌套
  支持在原处修改:
  修改指定的索引元素,修改指定的分片,删除语句,内置方法
  l2[1] = 32
  l2[3] = 'xyz'修改
  l2[1:3]显示元素1和2
  l2[1:3] = []删除
  l2.del(l2[1:])删除
  In [42]: l2.append(l3)
  In [43]: print l2
  [1, 32, 3, 'xyz', 5, 77, 106, [1, 'b']]
  In [11]: l3.
  l3.append   l3.extend   l3.insert   l3.remove   l3.sort
  l3.count    l3.index    l3.pop      l3.reverse
  In [17]: l1 = [1,2,3]
  In [18]: l2 = ['x','y','z']
  In [19]: l1 + l2连接两个列表返回一个新列表
  Out[19]: [1, 2, 3, 'x', 'y', 'z']
  In [20]: l1 * 2把l1重复两次
  Out[20]: [1, 2, 3, 1, 2, 3]
  in : 成员关系判断符
  not in : 。。。
  2 in l1返回True
  range()
  复制列表:
  l2 = l1 因为列表支持原处修改,所以如果此时修改l1,l2也会跟着修改,这叫浅复制
  l3 = l1[:] 此时才是复制一个新的列表赋值给l3,再修改l1,l3不会改变
  l5 = copy.deepcopy(l1)深度复制,也是复制而不是指向同一个地址,如上一样
  列表解析: []
  **************元组tuple****************
  表达式符号:()
  容器类型:
  任意对象的有序集合,通过索引访问其中的元素,不可变对象,长度固定
  支持异构,嵌套
  定义:t1 = (1,2,3,4,5,1)小括号可省略
  t1.count(1)计数
  t1.index(3)返回指定的索引
  常见操作:
  print t1[1:]
  t2 = ()定义空元祖
  t3 = ()
  + 可将两个元组合并生成新元组
  *
  in
  not in
  *************字典dict*****************
  在其他编程语言中又称为关联数组或散列表:
  通过键实现元素存取;无序集合;可变类型容器,长度可变,支持异构,支持嵌套
  符号{},用逗号分隔,冒号隔开的键值映射表
  {}:空字典
  In [40]: d1 = {'x':32,'y':[1,2,3,4]}
  In [41]: d1['y'][1:]
  Out[41]: [2, 3, 4]
  In [42]: d1['x'] = 88
  In [43]: print d1
  {'y': [1, 2, 3, 4], 'x': 88}
  字典复制:
  d2 = d1.copy()创建一个与d1相同的字典并赋值给d2
  d3 = d1
  In [44]: d1.
  d1.clear
  d1.get         引用一个不存在的键也不会抛出异常
  d1.iteritems     返回一个迭代器,i1.next可一个一个的显示,直到耗尽
  d1.keys        返回键列表
  d1.setdefault
  d1.viewitems
  d1.copy
  d1.has_key    判断键值是否存在
  d1.iterkeys
  d1.pop         弹出指定(指定键)的键值映射
  d1.update      将一个字典合并到当前字典(注意有键相同时)
  d1.viewkeys
  d1.fromkeys
  d1.items       字典拆成元组,每对键值组成一个元组,形成元组列表
  d1.itervalues返回一个迭代器,内容是值
  d1.popitem     随机弹出键值映射
  d1.values      返回值组成的列表
  d1.viewvalues
  In [45]: t1,t2 = d1.it
  d1.items       d1.iteritems   d1.iterkeys    d1.itervalues
  In [45]: t1,t2 = d1.items()变量解包
  In [46]: print t1
  ('y', [1, 2, 3, 4])
  In [47]: print t2
  ('x', 88)
  In [48]: m1,m2 = d1
  In [49]: print m1
  y
  In [50]: print m2
  x
  dict(),定义字典的
  ************zip******************
  In [58]: zip('xyz','123','abc')
  Out[58]: [('x', '1', 'a'), ('y', '2', 'b'), ('z', '3', 'c')]
  In [60]: dict(zip('xyz','123'))构造字典
  Out[60]: {'x': '1', 'y': '2', 'z': '3'}


运维网声明 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-552528-1-1.html 上篇帖子: Python常用标准库使用 下篇帖子: Python高效开发实战(web)——Django、Tornado、Flask、Twisted
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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