Python类型转换+序列操作+基本概念辨析速查手册

简介:     第一部分是Python语言中基础中的基础,根据网上资料,合并如下:     1、类型转换     int(x [,base])  将x转换为一个整数     long(x [,base]) 将x转换为一个长整数     float(x)        将x转换...

    第一部分是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 "", 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 "", 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
    (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

 



相关文章
|
2月前
|
存储 Java 数据处理
(numpy)Python做数据处理必备框架!(一):认识numpy;从概念层面开始学习ndarray数组:形状、数组转置、数值范围、矩阵...
Numpy是什么? numpy是Python中科学计算的基础包。 它是一个Python库,提供多维数组对象、各种派生对象(例如掩码数组和矩阵)以及用于对数组进行快速操作的各种方法,包括数学、逻辑、形状操作、排序、选择、I/0 、离散傅里叶变换、基本线性代数、基本统计运算、随机模拟等等。 Numpy能做什么? numpy的部分功能如下: ndarray,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组 用于对整组数据进行快速运算的标准数学函数(无需编写循环)。 用于读写磁盘数据的工具以及用于操作内存映射文件的工具。 线性代数、随机数生成以及傅里叶变换功能。 用于集成由C、C++
332 1
|
2月前
|
数据处理 Python
Python编程:类型转换与输入输出
本教程介绍Python中输入输出与类型转换的基础知识,涵盖input()和print()的使用,int()、float()等类型转换方法,并通过综合示例演示数据处理、错误处理及格式化输出,助你掌握核心编程技能。
470 3
|
6月前
|
Linux 数据库 数据安全/隐私保护
Python web Django快速入门手册全栈版,共2590字,短小精悍
本教程涵盖Django从安装到数据库模型创建的全流程。第一章介绍Windows、Linux及macOS下虚拟环境搭建与Django安装验证;第二章讲解项目创建、迁移与运行;第三章演示应用APP创建及项目汉化;第四章说明超级用户创建与后台登录;第五章深入数据库模型设计,包括类与表的对应关系及模型创建步骤。内容精炼实用,适合快速入门Django全栈开发。
282 1
|
8月前
|
数据采集 存储 监控
Python 原生爬虫教程:网络爬虫的基本概念和认知
网络爬虫是一种自动抓取互联网信息的程序,广泛应用于搜索引擎、数据采集、新闻聚合和价格监控等领域。其工作流程包括 URL 调度、HTTP 请求、页面下载、解析、数据存储及新 URL 发现。Python 因其丰富的库(如 requests、BeautifulSoup、Scrapy)和简洁语法成为爬虫开发的首选语言。然而,在使用爬虫时需注意法律与道德问题,例如遵守 robots.txt 规则、控制请求频率以及合法使用数据,以确保爬虫技术健康有序发展。
1144 31
|
7月前
|
存储 数据采集 大数据
Python推导式进阶指南:优雅初始化序列的科学与艺术
本文系统讲解Python推导式的用法与技巧,涵盖列表、字典、集合推导式及生成器表达式。通过代码示例和性能对比,展示推导式在数据结构初始化中的优势:简洁高效、执行速度快30%-50%。文章分析基础语法、核心应用场景(如序列构造、键值对转换、去重运算)及嵌套使用,并探讨使用边界与最佳实践,强调可读性优先原则。最后指出,合理运用推导式能显著提升代码质量和处理效率,同时避免过度复杂化的陷阱。
224 0
|
10月前
|
存储 索引 Python
Python入门:6.深入解析Python中的序列
在 Python 中,**序列**是一种有序的数据结构,广泛应用于数据存储、操作和处理。序列的一个显著特点是支持通过**索引**访问数据。常见的序列类型包括字符串(`str`)、列表(`list`)和元组(`tuple`)。这些序列各有特点,既可以存储简单的字符,也可以存储复杂的对象。 为了帮助初学者掌握 Python 中的序列操作,本文将围绕**字符串**、**列表**和**元组**这三种序列类型,详细介绍其定义、常用方法和具体示例。
Python入门:6.深入解析Python中的序列
|
10月前
|
机器学习/深度学习 存储 数据可视化
这份Excel+Python飞速搞定数据分析手册,简直可以让Excel飞起来
本书介绍了如何将Python与Excel结合使用,以提升数据分析和处理效率。内容涵盖Python入门、pandas库的使用、通过Python包操作Excel文件以及使用xlwings对Excel进行编程。书中详细讲解了Anaconda、Visual Studio Code和Jupyter笔记本等开发工具,并探讨了NumPy、DataFrame和Series等数据结构的应用。此外,还介绍了多个Python包(如OpenPyXL、XlsxWriter等)用于在无需安装Excel的情况下读写Excel文件,帮助用户实现自动化任务和数据处理。
|
机器学习/深度学习 自然语言处理 语音技术
Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧
本文介绍了Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧,并通过TensorFlow和PyTorch等库展示了实现神经网络的具体示例,涵盖图像识别、语音识别等多个应用场景。
436 8
|
算法 Python
Python 大神修炼手册:图的深度优先&广度优先遍历,深入骨髓的解析
在 Python 编程中,掌握图的深度优先遍历(DFS)和广度优先遍历(BFS)是进阶的关键。这两种算法不仅理论重要,还能解决实际问题。本文介绍了图的基本概念、邻接表表示方法,并给出了 DFS 和 BFS 的 Python 实现代码示例,帮助读者深入理解并应用这些算法。
321 2
|
存储 C++ 索引
Python 序列类型(1)
【10月更文挑战第8天】
146 1

推荐镜像

更多