我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python进阶教程001内置数据类型

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python进阶教程001内置数据类型

关于Python的基础知识已经告一段落了,我们接下来深入的研究Python的使用方法,以及以后将要使用到的类库。

格式化字符串


Python是支持字符串的格式化输出的,在之前的学习中我们也遇到过和使用过,不过我们没有深入的研究和讨论,只是一笔带过,今天我们好好的研究一下字符串的格式化。可能会用到非常复杂的表达式,但是最基本的用法是将一个值插入到一个有字符串格式符%s的字符串中。

字符串的格式化


>>> k = "uid"
>>> v = "sa"
>>> "%s=%s" % (k,v)
'uid = sa'

我们可以看出整个表达式的结果是一个字符串。第一个%s被变量k的值替换;第二个%s的值被变量v的值替换。在字符串中的其它字符都按照原样打印输出。

你可能在想:做一个字符串的拼接需要这么复杂吗?没有问题,的确很麻烦,只不过我们做的不仅仅是字符串的连接,在这个语句下,它不仅仅是格式化,同时也进行了强制类型转换。

字符串格式化与字符串连接的比较


>>> uid = "sa"
>>> pwd = "secret"
>>> print(pwd + "is not a good password for  " + uid)      1
secretis not a good password for  sa
>>> print("%s is not a good password for %s" % (pwd , uid))    2
secret is not a good password for sa
>>> userCount = 6
>>> print("Users connected : %d" % (userCount,))          3 4
Users connected : 6
>>> print("Users connected : %d" % (userCount))            5
Users connected : 6
>>> print("Users connected : "+ userCount)
Traceback (most recent call last):
  File "<pyshell#29>", line 1, in <module>
    print("Users connected : "+ userCount)
TypeError: can only concatenate str (not "int") to str
>>> 

1.+是字符串的连接操作符。

2.在这个简单的例子中,字符串格式化实现与连接的结果。

3.(userCount, ) 是一个只包含一个元素的 tuple。是的, 语法有一点奇怪, 但是使用它的理由就是:显示地指出它是一个 tuple, 而不是其他。实际上, 当定义一个 list, tuple 或 dictionary 时, 您可以总是在最后一个元素后面跟上一个逗号, 但是当定义一个只包含一个元素的 tuple 时逗号是必须的。如果省略逗号, Python 不会知道 (userCount) 究竟是一个只包含一个元素的 tuple 还是变量 userCount 的值。

4.字符串格式化通过将 %s 替换成 %d 即可处理整数。

5.试图将一个字符串同一个非字符串连接会引发一个异常。与字符串格式化不同, 字符串连接只能在被连接的每一个都是字符串时起作用。

数值的格式化


 

>>> print("Today's stock price: %f" % 50.123)          1
Today's stock price: 50.123000
>>> print("Today's stock price: %.2f" % 50.123)               2
Today's stock price: 50.12
>>> print("Change since yesterday: %+.2f" % 1.333)            3
Change since yesterday: +1.33
>>> 

1.%f 格式符选项被认为是一个十进制浮点数, 不指定精度时打印 6 位小数。

2.使用包含 ".2" 精度修正符的 %f 格式符选项将只打印 2 位小数。

3.您甚至可以混合使用各种修正符。 添加 + 修正符用于在数值之前显示一个正号或负号。 注意 ".2" 精度修正符仍旧在他原来的位置, 用于只打印 2 位小数。

映射list


Python的强大特性是其针对list的解析,它提供了一种紧凑的方法,可以通过对list中的每个元素应用一个函数,从而将list映射成另一个list。

>>> li = [1,8,9,3]
>>> [lis*2 for lis in li]       1
[2, 16, 18, 6] 
>>> li                 2
[1, 8, 9, 3]
>>> li = [lis*2 for lis in li]   3
>>> li
[2, 16, 18, 6]
>>> 

1.li是我们将要映射的list,Python将li中的每个元素都循环遍历,然后对每个元素做一个操作返回到list中形成一个新的list。

2.这里我们知道为什么说是形成一个新的list,因为原来的li这个list没有发生改变。

3.但是如果将新生成的list赋值给li就会改变原有的list。

keys,value,和iteams函数


>>> params = {"server":"mpilgrim", "database":"master", "uid":"sa", "pwd":"secret"}
>>> params.keys()           1
dict_keys(['server', 'database', 'uid', 'pwd'])
>>> params.values()         2
dict_values(['mpilgrim', 'master', 'sa', 'secret'])
>>> params.items()          3
dict_items([('server', 'mpilgrim'), ('database', 'master'), ('uid', 'sa'), ('pwd', 'secret')])
>>> 

1.keys方法返回一个所有键的list。

2.values方法返回一个所有值的list。

3.items 方法返回一个形如 (key, value) 的 tuple 的 list。这个 list 包括 dictionary 中所有的数据。

连接list与分割字符串


>>> ";".join(["%s=%s"%(k,v) for k,v in params.items()])
'server=mpilgrim;database=master;uid=sa;pwd=secret'

在我们继续之前有一个有趣的地方。我一直在重复函数是对象, 字符串是对象, 每个东西都是对象的概念。您也许认为我的意思是说字符串 是对象。但是不对, 仔细地看一下这个例子, 您将会看到字符串 ";" 本身就是一个对象, 您在调用它的 join 方法。

总之, join 方法将 list 中的元素连接成单个字符串, 每个元素用一个分号隔开。分隔符不必是一个分号;它甚至不必是单个字符。它可以是任何字符串。

注意:

join 只能用于元素是字符串的 list; 它不进行任何的类型强制转换。连接一个存在一个或多个非字符串元素的 list 将引发一个异常。

分割字符串


 

>>> li = ['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']
>>> s = ";".join(li)
>>> s
'server=mpilgrim;uid=sa;database=master;pwd=secret'
>>> s.split(";")                 1
['server=mpilgrim', 'uid=sa', 'database=master', 'pwd=secret']
>>> s.split(";",1)               2
['server=mpilgrim', 'uid=sa;database=master;pwd=secret']
>>> 

1.split 与 join 正好相反, 它将一个字符串分割成多元素 list。 注意, 分隔符 (“;”) 被完全去掉了, 它没有在返回的 list 中的任意元素中出现。

2.split 接受一个可选的第二个参数, 它是要分割的次数。 (可选参数,我们之前讲过)

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python进阶教程001内置数据类型

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python进阶教程001内置数据类型

关于Python的基础知识已经告一段落了,我们接下来深入的研究Python的使用方法,以及以后将要使用到的类库。格式化字符串Python是支持字符串的格式化输出的,在之前的学习中我们也遇到过和使用过,不过我们没有深入的研究和讨论,只是一笔带
2023-01-31

python程序,核心数据类型及内置对象

Python 3.63.chm AIP 帮助文档 下载:https://pan.baidu.com/s/1lhpv8JTC3Z7B6aZ3qQi40gVMware 12.5.0 版本 虚拟机 下载:https://pan.baidu.com
2023-01-30

Python-集合数据类型内置方法

用途:用于关系运算的集合体,由于集合内的元素无序且集合元素不可重复,因此集合可以去重,但是去重后的集合会打乱原来元素的顺序。定义方式:{}内用逗号隔开多个元素,元素只能是不可变类型(整形、浮点型字符串),且有两个特点:1、会删除重复的值2、
2023-01-31

python-字符串数据类型内置方法

用途:描述性质的东西,如人的名字、单个爱好、地址、国家等定义:使用单引号(' ')、双引号(" ")、三单引号(''' ''')、三双引号(""" """)包裹一串字符name = 'rayn'print(type(name))
2023-01-31

Python语言中的内置数据类型有哪些

今天小编给大家分享一下Python语言中的内置数据类型有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。前言:计算机能处理
2023-06-29

云计算开发教程:Python数据类型之数字

今天这篇文章是给大家分享一些云计算开发教程,今天讲解的是:Python数据类型之数字。变量是存储在内存中的值,也就是说在创建变量时会在内存中开辟一个空间。计算机是用来辅助人类的,在程序设计中也映射了显示世界的分类,以便于抽象的分析。基于变量
2023-06-04

python基础教程之五种数据类型详解

Python 五种数据类型 在学习一门语言的过程中,首先肯定就是要先接触到它所拥有的数据类型,Python拥有五种主要的数据类型,下面介绍一下我对这五种数据类型的理解和想法。 1.数在Python中的数主要分为四种:int(整数)、floa
2022-06-04

Python内置数据类型中的集合实例分析

本文小编为大家详细介绍“Python内置数据类型中的集合实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python内置数据类型中的集合实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1. 集合 s
2023-06-29

Python学习教程:数据类型—字符串大总结

Python学习教程:数据类型—字符串大总结1. Python字符串的创建字符串是Python中最常见的数据类型,通常使用单引号或双引号来定义一个字符串,如下:str = "我是字符串"str1 = 我也是字符串python中单引号和双引号
2023-06-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录