天天看點

執行字元串和算數運算符的使用 | 手把手教你入門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⾥,常⻅的算數運算符,有⼀些可以使⽤于可疊代對象,它們執⾏的結果也稍有差別。

執行字元串和算數運算符的使用 | 手把手教你入門Python之三十八

加法運算符可以⽤于字元串、清單和元組,⽤來拼接多個可疊代對象,不能⽤于字典和集合(思考:為什麼字

典和集合不能使⽤)。

>>> "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')
           
執行字元串和算數運算符的使用 | 手把手教你入門Python之三十八

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))           

公共方法總結

執行字元串和算數運算符的使用 | 手把手教你入門Python之三十八
執行字元串和算數運算符的使用 | 手把手教你入門Python之三十八
執行字元串和算數運算符的使用 | 手把手教你入門Python之三十八
執行字元串和算數運算符的使用 | 手把手教你入門Python之三十八