網(wǎng)站首頁 編程語言 正文
eval()函數(shù)
eval() 函數(shù)用來執(zhí)行一個(gè)字符串表達(dá)式,并返回表達(dá)式的值。
語法
eval(expression[, globals[, locals]])
expression – 表達(dá)式。
globals – 變量作用域,全局命名空間,如果被提供,則必須是一個(gè)字典對象。
locals–變量作用域,局部命名空間,如果被提供,可以是任何映射對象。返回值:返回表達(dá)式計(jì)算結(jié)果。
實(shí)例
我們在從鍵盤輸入數(shù)據(jù)時(shí),Python接收的是字符串類型,這時(shí)我們可以使用eval()函數(shù),將輸入的數(shù)據(jù)進(jìn)行還原
實(shí)例1
n = input()
m = eval(input())
# type()函數(shù)可以用來檢測數(shù)據(jù)類型
print(type(n))
print(type(m))
#利用eval()將字符串類型轉(zhuǎn)為整形
print(type(eval(n)))
輸出結(jié)果:
使用eval()函數(shù),將字符串還原為數(shù)字類型,和int()函數(shù)的作用類似
實(shí)例2
# 輸入[1,2,3,4]
m = input() # 得到一個(gè)字符串
n = eval(input()) # 得到一個(gè)列表
print(type(m))
print(type(n))
print(type(n[0]))
輸出結(jié)果
將輸入的字符串轉(zhuǎn)為對應(yīng)的數(shù)據(jù)類型,列表、元組等數(shù)據(jù)類型都可以使用這種方式輸入
實(shí)例3
# 表達(dá)式
s1 = '3*7'
s2 = 'pow(2,3)'
n = eval(s1)
m = eval(s2)
print(n, m)
輸出結(jié)果:
對表達(dá)式的結(jié)果進(jìn)行計(jì)算,返回計(jì)算后的值
附:使用例子
舉一個(gè)代碼隨想錄里一個(gè)解答的例子:
second_num = 1
item = +
first_num = 2
int(eval(f'{second_num} {item} {first_num}')) # 等價(jià)于本1 + 2
其中,格式化字符串常量(formatted string literals)是 Python 3.6 新引入的一種字符串格式化方法,主要目的是使格式化字符串的操作更加簡便。
f-string在形式上是以 f 或者 F 修飾符引領(lǐng)的字符串(f’xxx’ 或 F’xxx’),以大括號(hào) {} 標(biāo)明被替代的字段。
另一個(gè)例子:
# 創(chuàng)建
my_dict = {'name':'Hider',
? ? ? ? ? ?'age':'100'}
print(f"My name is {my_dict['name']}, I'm {my_dict['age']}.")
# My name is Hider, I'm 100.
總結(jié)
原文鏈接:https://blog.csdn.net/W_chuanqi/article/details/124397143
相關(guān)推薦
- 2022-06-08 ASP.NET?Core中MVC模式實(shí)現(xiàn)路由二_實(shí)用技巧
- 2022-07-03 C++詳細(xì)講解函數(shù)調(diào)用與Struct和CLass的區(qū)別_C 語言
- 2022-07-31 C語言數(shù)據(jù)結(jié)構(gòu)算法基礎(chǔ)之循環(huán)隊(duì)列示例_C 語言
- 2022-05-18 Python標(biāo)準(zhǔn)庫中的sys你了解嗎_python
- 2022-05-23 C#中的數(shù)據(jù)結(jié)構(gòu)介紹_C#教程
- 2022-06-12 Centos系統(tǒng)搭建MongoDB數(shù)據(jù)庫_MongoDB
- 2022-07-02 使用Element Plus <script lang=“ts“ setup> 加上lang=“ts
- 2023-10-09 git stash
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支