Python是一種高級編程語言,它內置了一個名為str
的字符串類型,該類型表示Python中的文本。
一、Python中的String
在Python中,字符串是一種不可變的序列,可以由單引號'
或雙引號"
包圍。下面是一個簡單的例子:
str1 = 'Hello, world!'
str2 = "I'm a developer."
Python還支持多行字符串,這些字符串由三重引號"""
或單引號'''
包圍。下面是一個示例:
str3 = <<<This is a multiline string.
It is enclosed in triple quotes.
>>>
二、Python轉為String
有時我們需要從其他類型的數據中獲取字符串。Python提供了多種方法來將其他類型的數據轉換為字符串:
1. 使用str()函數
Python中的str()
函數可以轉換任何數據類型為字符串。
num = 123
str_num = str(num)
print(str_num)
輸出結果為:'123'
2. 使用repr()函數
Python中的repr()
函數可以返回一個對象的字符串表示形式。
num = 123
str_num = repr(num)
print(str_num)
輸出結果為:'123'
三、Python轉String命令
除了上述方法,Python還有一些命令可以用來將其他數據類型轉換為字符串:
1. chr()
chr()
函數返回指定Unicode代碼點的字符串。
code = 97
char = chr(code)
print(char)
輸出結果為:'a'
2. ord()
ord()
函數返回表示指定字符的Unicode代碼點。
char = 'a'
code = ord(char)
print(code)
輸出結果為:97
四、Python JSON轉Str
Python中的JSON模塊提供了將python對象轉換為JSON字符串的方法。下面是一個簡單的例子:
import json
# JSON對象
person = {'name': 'John', 'age': 30, 'city': 'New York'}
# 轉換為JSON字符串
person_json = json.dumps(person)
print(person_json)
輸出結果為:'{"name": "John", "age": 30, "city": "New York"}'
五、Python轉Exe
Python可以通過使用pyinstaller將.py文件轉換為可執行文件。下面是一個簡單的例子:
pyinstaller --onefile myscript.py
此命令將myscript.py
轉換為單個可執行文件myscript.exe
。
六、Python JSON轉字典
Python中的JSON模塊也可以將JSON字符串轉換為Python字典對象。下面是一個示例:
import json
# JSON字符串
person_json = '{"name": "John", "age": 30, "city": "New York"}'
# 轉換為Python字典
person_dict = json.loads(person_json)
print(person_dict)
輸出結果為:{"name": "John", "age": 30, "city": "New York"}
七、Python轉Matlab
Python可以通過使用matlab.engine模塊將數據從Python發送到MATLAB。下面是一個簡單的例子:
import matlab.engine
# 開始MATLAB引擎
eng = matlab.engine.start_matlab()
# 提供變量
x = [[1,2,3],[4,5,6]]
eng.workspace['x'] = matlab.double(x)
# 運行MATLAB代碼
eng.eval('y = sum(x)', nargout=0)
# 獲取結果
result = eng.workspace['y']
print(result)
# 關閉MATLAB引擎
eng.quit()
輸出結果為:21.0
八、Python IP轉發
Python可以使用socket模塊來實現IP數據包轉發。下面是一個簡單的例子:
import socket
# 創建socket對象
s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_IP)
# 綁定到本地IP地址
s.bind(('127.0.0.1', 0))
# 設置IP頭部選項
s.setsockopt(socket.IPPROTO_IP, socket.IP_HDRINCL, 1)
# 轉發數據
while True:
packet = s.recvfrom(65565)[0]
s.sendto(packet, ('192.168.1.1', 0))
此代碼將所有接收到的IP數據包發送到192.168.1.1
。
九、Python2轉Python3
有許多Python 2代碼不能直接遷移到Python 3,因為存在一些語法和模塊名稱的差異。下面是一些需要注意的問題:
1. print語句
在Python 2中,print
是一個語句,而在Python 3中,它是一個函數。這意味着在Python 3中,您必須使用括號來打印內容。
例如:
# Python 2
print 'Hello, world!'
# Python 3
print('Hello, world!')
2. Division運算符
在Python 2中,當兩個整數執行/
運算時,結果將被截斷為整數。在Python 3中,運算符/
總是返回一個浮點數。
例如:
# Python 2
print 3/2 # 輸出1
# Python 3
print(3/2) # 輸出1.5
3. 模塊名稱
在Python 2中,一些內置模塊名稱與Python 3有所不同。
例如:
# Python 2
import ConfigParser
# Python 3
import configparser
為了使Python 2代碼能夠在Python 3中運行,您需要手動更改這些模塊的名稱。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/162629.html