执行字符串和算数运算符的使用 | 手把手教你入门Python之三十八

简介: 本节重点介绍执⾏字符串,算数运算符

上一篇:字典遍历和集合的基本使用 | 手把手教你入门Python之三十七
下一篇:详解函数介绍,定义和调⽤ | 手把手教你入门Python之三十九

本文来自于千锋教育在阿里云开发者社区学习中心上线课程《Python入门2020最新大课》,主讲人姜伟。

执行字符串

使⽤Python内置的eval函数,可以执⾏字符串⾥的Python代码。使⽤这种⽅式,可以将字符串转换成为其他
类型的数据。

x = '1+1'
print(eval(x)) # 2
print(type(eval(x))) # <class 'int'>
y = '{"name":"zhangsan","age":18}'
print(eval(y))
print(type(eval(y))) # <class 'dict'>
print(eval('1 > 2')) # False
eval('input("请输⼊您的姓名:")')

转换成为字符串

JSON(JavaScriptObjectNotation, JS对象简谱)是⼀种轻量级的数据交换格式,它基于 ECMAScript 的⼀个⼦集,采⽤完全独⽴于编程语⾔的⽂本格式来存储和表示数据。JSON本质是⼀个字符串

JSON的功能强⼤,使⽤场景也⾮常的⼴,⽬前我们只介绍如何使⽤Python的内置JSON模块,实现字典、列表或者元组与字符串之间的相互转换。

使⽤json的dumps⽅法,可以将字典、列表或者元组转换成为字符串。

import json
person = {'name': 'zhangsan', 'age': 18}
x = json.dumps(person)
print(x) # {"name": "zhangsan", "age": 18}
print(type(x)) # <class 'str'>
nums = [1, 9, 0, 4, 7]
y = json.dumps(nums)
print(y) # [1, 9, 0, 4, 7]
print(type(y)) # <class 'str'>
words = ('hello','good','yes')
z = json.dumps(words)
print(z) # ["hello", "good", "yes"]
print(type(z)) # <class 'str'>

使⽤json的loads⽅法,可以将格式正确的字符串转换成为字典、列表

x = '{"name": "zhangsan", "age": 18}'
person = json.loads(x)
print(person) # {'name': 'zhangsan', 'age': 18}
print(type(person)) # <class 'dict'>
y = '[1, 9, 0, 4, 7]'
nums = json.loads(y)
print(nums) # [1, 9, 0, 4, 7]
print(type(nums)) # <class 'list'>

字符串、列表、元组、字典和集合,它们有很多相同点,都是由多个元素组合成的⼀个可迭代对象,它们都
有⼀些可以共同使⽤的⽅法。

算数运算符

在Python⾥,常⻅的算数运算符,有⼀些可以使⽤于可迭代对象,它们执⾏的结果也稍有区别。
image.png

加法运算符可以⽤于字符串、列表和元组,⽤来拼接多个可迭代对象,不能⽤于字典和集合(思考:为什么字
典和集合不能使⽤)。

>>> "hello " + "world"
'hello world'
>>> [1, 2] + [3, 4]
[1, 2, 3, 4]
>>> ('a', 'b') + ('c', 'd')
('a', 'b', 'c', 'd')

减法只能⽤于集合⾥,⽤来求两个集合的差集。

>>> {1, 6, 9, 10, 12, 3} - {4, 8, 2, 1, 3}
{9, 10, 12, 6}

加法运算符可以⽤于字符串、列表和元组,⽤来将可迭代对象重复多次,同样不能⽤于字典和集合。

>>> 'ab' * 4
'ababab'
>>> [1, 2] * 4
[1, 2, 1, 2, 1, 2, 1, 2]
>>> ('a', 'b') * 4
('a', 'b', 'a', 'b', 'a', 'b', 'a', 'b')

image.png

in

in和not in成员运算符可以⽤于所有的可迭代对象。但是需要注意的是,in 和 not in 在对字典进⾏判断时,是
查看指定的key是否存在,⽽不是value.

>>> 'llo' in 'hello world'
True
>>> 3 in [1, 2]
False
>>> 4 in (1, 2, 3, 4)
True
>>> "name" in {"name":"chris", "age":18}
True

遍历

通过for ... in ... 我们可以遍历字符串、列表、元组、字典、集合等可迭代对象。

字符串遍历

>>> a_str = "hello world"
>>> for char in a_str:
... print(char,end=' ')
...
h e l l o w o r l d

列表遍历

>>> a_list = [1, 2, 3, 4, 5]
>>> for num in a_list:
... print(num,end=' ')
...
1 2 3 4 5

元组遍历

>>> a_turple = (1, 2, 3, 4, 5)
>>> for num in a_turple:
... print(num,end=" ")
1 2 3 4 5

带下标的遍历

可迭代对象都可以使⽤ enumerate 内置类进⾏包装成⼀个 enumerate 对象。对enumerate进⾏遍历,可以同
时得到⼀个可迭代对象的下标和元素。

nums = [12, 9, 8, 5, 4, 7, 3, 6]
# 将列表 nums 包装成 enumerate 对象
for i, num in enumerate(nums): # i表示元素下标,num表示列表⾥的元素
 print('第%d个元素是%d' % (i, num))

公共方法总结

image.png
image.png
image.png
image.png

相关文章
|
1月前
|
SQL 关系型数据库 数据库
Python SQLAlchemy模块:从入门到实战的数据库操作指南
免费提供Python+PyCharm编程环境,结合SQLAlchemy ORM框架详解数据库开发。涵盖连接配置、模型定义、CRUD操作、事务控制及Alembic迁移工具,以电商订单系统为例,深入讲解高并发场景下的性能优化与最佳实践,助你高效构建数据驱动应用。
276 7
|
2月前
|
测试技术 开发者 Python
Python单元测试入门:3个核心断言方法,帮你快速定位代码bug
本文介绍Python单元测试基础,详解`unittest`框架中的三大核心断言方法:`assertEqual`验证值相等,`assertTrue`和`assertFalse`判断条件真假。通过实例演示其用法,帮助开发者自动化检测代码逻辑,提升测试效率与可靠性。
315 1
|
2月前
|
Python
Python中的f-string:更优雅的字符串格式化
Python中的f-string:更优雅的字符串格式化
319 100
|
1月前
|
Python
Python编程:运算符详解
本文全面详解Python各类运算符,涵盖算术、比较、逻辑、赋值、位、身份、成员运算符及优先级规则,结合实例代码与运行结果,助你深入掌握Python运算符的使用方法与应用场景。
171 3
|
1月前
|
Cloud Native 算法 API
Python API接口实战指南:从入门到精通
🌟蒋星熠Jaxonic,技术宇宙的星际旅人。深耕API开发,以Python为舟,探索RESTful、GraphQL等接口奥秘。擅长requests、aiohttp实战,专注性能优化与架构设计,用代码连接万物,谱写极客诗篇。
Python API接口实战指南:从入门到精通
|
1月前
|
存储 Java 索引
(Python基础)新时代语言!一起学习Python吧!(二):字符编码由来;Python字符串、字符串格式化;list集合和tuple元组区别
字符编码 我们要清楚,计算机最开始的表达都是由二进制而来 我们要想通过二进制来表示我们熟知的字符看看以下的变化 例如: 1 的二进制编码为 0000 0001 我们通过A这个字符,让其在计算机内部存储(现如今,A 字符在地址通常表示为65) 现在拿A举例: 在计算机内部 A字符,它本身表示为 65这个数,在计算机底层会转为二进制码 也意味着A字符在底层表示为 1000001 通过这样的字符表示进行转换,逐步发展为拥有127个字符的编码存储到计算机中,这个编码表也被称为ASCII编码。 但随时代变迁,ASCII编码逐渐暴露短板,全球有上百种语言,光是ASCII编码并不能够满足需求
139 4
|
1月前
|
存储 Java 调度
Python定时任务实战:APScheduler从入门到精通
APScheduler是Python强大的定时任务框架,通过触发器、执行器、任务存储和调度器四大组件,灵活实现各类周期性任务。支持内存、数据库、Redis等持久化存储,适用于Web集成、数据抓取、邮件发送等场景,解决传统sleep循环的诸多缺陷,助力构建稳定可靠的自动化系统。(238字)
458 1
|
人工智能 Java Python
python入门(二)安装第三方包
python入门(二)安装第三方包
187 1
|
Java Python 开发者
Python 学习之路 01基础入门---【Python安装,Python程序基本组成】
线程池详解与异步任务编排使用案例-xian-cheng-chi-xiang-jie-yu-yi-bu-ren-wu-bian-pai-shi-yong-an-li
577 3
Python 学习之路 01基础入门---【Python安装,Python程序基本组成】
|
机器学习/深度学习 Python
【10月更文挑战第5天】「Mac上学Python 6」入门篇6 - 安装与使用Anaconda
本篇将详细介绍如何在Mac系统上安装和配置Anaconda,如何创建虚拟环境,并学习如何使用 `pip` 和 `conda` 管理Python包,直到成功运行第一个Python程序。通过本篇,您将学会如何高效地使用Anaconda创建和管理虚拟环境,并使用Python开发。
429 4
【10月更文挑战第5天】「Mac上学Python 6」入门篇6 - 安装与使用Anaconda

推荐镜像

更多
下一篇
oss云网关配置