博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python类型转换+序列操作+基本概念辨析速查手册
阅读量:4497 次
发布时间:2019-06-08

本文共 2536 字,大约阅读时间需要 8 分钟。

 第一部分是Python语言中基础中的基础,根据网上资料,合并如下:
 
    1、类型转换
    int(x [,base])  将x转换为一个整数
    long(x [,base]) 将x转换为一个长整数
    float(x)        将x转换到一个浮点数
    complex(real)   创建一个复数
    str(x)          将对象x转换为字符串
    repr(x)         将对象x转换为表达式字符串
    eval(str)       用来计算在字符串中的有效Python表达式,并返回一个对象
    tuple(s)        将序列s转换为一个元组
    list(s)         将序列s转换为一个列表
    chr(x)          将一个整数转换为一个字符
    unichr(x)       将一个整数转换为Unicode字符
    ord(x)          将一个字符转换为它的整数值
    hex(x)          将一个整数转换为一个十六进制字符串
    oct(x)          将一个整数转换为一个八进制字符串
 
    2、序列操作
    s+r             序列连接
    s*n,n*s         s的n次拷贝,n为整数
    s%d             字符串格式化(仅字符串)
    s[i]            索引
    s[i:j]          切片
    x (not) in s    从属关系
    for x in s :    迭代
    len(s)          长度
    min(s)          最小元素
    max(s)          最大元素
    s[i] = x 为s[i] 重新赋值
    s[i:j] = r      将列表片段重新赋值
    del s[i]        删除列表中一个元素
    del s[i:j]      删除列表中一个片段
 
 
 
    第二部分是Python基本概念辨析,结合新手经常出错的问题进行简单总结。
 
    3、Python基础知识里,容易出错的几个问题:
    3.1 余数

点击(此处)折叠或打开

  1. >>>2.75%0.5
  2. 0.25
  3. #而不是2.5
    3.2 序列
    序列是初学者最头疼的一个问题了,概念太多,许多人还是数组概念范儿,Python已经进化了。
 
    序列有一下几种:
    列表、元组、字符串、Buffer和xrange,初学者最容易混淆的是序列、列表、元组和字符串。
 
    序列,是指有序集合排列。所有序列都具有索引、分片、加、乘、成员资格、长度、最大和最小的内在函数。这是共性!
 
    但是,针对序列中具体的类型而言,又有差异。比较灵活的是列表,我们管它叫“韦小宝”,除了序列共性函数外,列表具有append()、count()、extend()、index()、insert()、reverse()、sort()、remove()等方法,以及直接对其中个别元素或分片元素进行赋值或删除,叫他韦小宝就是因为它太灵活。
 
    不过元组就不一样了,它是个“木头人”,它不能够改变内部的内容,是不可变序列,所以只能使用共性函数。它的主要应用是键值处理上,这是后话了。
 
    此外,字符串不是元组,因为元组就是形如(1,2,3)的序列,但和元组很像,字符串也不能直接改变其中的值,比如:

点击(此处)折叠或打开

  1. Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win32
  2. Type "copyright", "credits" or "license()" for more information.
  3. >>> x = [1,2,3]
  4. >>> x[0] = 9
  5. >>> x
  6. [9, 2, 3]
  7. >>> y = (1,2,3)
  8. >>> y[0] = 9
  9. Traceback (most recent call last):
  10.   File "<pyshell#4>", line 1, in <module>
  11.     y[0] = 9
  12. TypeError: 'tuple' object does not support item assignment
  13. >>> z = "abc"
  14. >>> z[0] = 'A'
  15. Traceback (most recent call last):
  16.   File "<pyshell#6>", line 1, in <module>
  17.     z[0] = 'A'
  18. TypeError: 'str' object does not support item assignment
  19. >>>
    3.3 三目运算
    Python没有C语言中的三目运算符'?',但可以构造出来:
    (1) expr=判断表达式 and expr1 or expr2,不安全,不推荐使用
    (2) min(x,y)=(x<y and [x] or [y])[0],推荐这种用法。
    (3) 当然从Python2.5起,内置了一个条件表达式:a if b else c。当b为真返回a,b为假返回c。这个也是很好用的哦。
 
    附一个我改编过的例子,其中就用到了第二种方法:

点击(此处)折叠或打开

  1. #使用人名作为键
  2. people={
  3.         'Alice':{
  4.                 'phone':'123456',
  5.                 'addr':'Foo drive 39'
  6.             },
  7.         'Beth':{
  8.                 'phone':'888888',
  9.                 'addr':'Ok street no23#'
  10.             },
  11.         'Cecil':{
  12.                 'phone':'666666',
  13.                 'addr':'Baz avenue 90'
  14.             }
  15.     }
  16. labels = {
  17.         'phone':'Phone Number',
  18.         'addr':'address'
  19.     }
  20. name = raw_input('Name:').title()
  21. request = raw_input('What\'s your want to search?Phone Number(P) or Address(A)?')
  22. key = (request.lower() == 'p' and ['phone'] or ['addr'])[0]
  23. if name in people:
  24.     print "%s's %s is %s" % (name,labels[key],people[name][key]) 
  25. else:
  26.     print "User %s is not exist." % name

 

来源:

转载于:https://www.cnblogs.com/tibetanmastiff/p/3384073.html

你可能感兴趣的文章
【leetcode 简单】 第一百一十题 分发饼干
查看>>
解决python写入csv文件每两行间 隔一个空行的问题
查看>>
异常——获取异常信息
查看>>
JMeter学习-019-JMeter 监听器之【聚合报告】界面字段解析及计算方法概要说明(转载)...
查看>>
git 使用那些事儿
查看>>
Web测试
查看>>
Hadoop RPC源码阅读-客户端
查看>>
面试问答题及答案
查看>>
Ubuntu 14.10 下安装伪分布式hdoop 2.5.0
查看>>
Prometheus监控软件部署方法
查看>>
C+++string类如何判断字符串为空
查看>>
关于linux 添加新的硬盘
查看>>
【Java集合源码剖析】HashMap源码剖析
查看>>
openwrt固件支持3G和4G上网卡
查看>>
js2
查看>>
324. Wiggle Sort II
查看>>
129. Sum Root to Leaf Numbers
查看>>
Spark RDD详解
查看>>
[Codeforces Round #153 (Div. 2)]A. Little Xor
查看>>
AVFoundation 初识
查看>>