這篇博文用於記錄下Python中的標准庫函數print()的常見用法,隨著時間的推移,可能會有更新。
str1 = 'hello suwenhao'
print("輸出 :", str1, 'Nice to meet you!')
運行結果如下:
示例代碼如下:
weight = 21
print("My name is %s and weight is %d kg!" % ('Zara', weight))
運行結果如下:
python 字符串格式化符號如下:
格式化操作符輔助指令如下:
關於格式化操作符輔助指令的用法,以最後一個“m.n”為例。
示例代碼如下:
f1 = 12.456
print('#%f#' % f1)
print('#%10f#' % f1)
print('#%10.2f#' % f1)
print('#%0.2f#' % f1)
print('#%-10.2f#' % f1)
運行結果如下:
示例代碼如下
weight = 21
str1 = 'Zera'
print("My name is {} and weight is {} kg!".format(str1, weight))
運行結果如下:
第03種,用str.format()看似乎實現的效果和第02種一樣,但是實際上它更靈活、更強大。
它的靈活體現在:
① 可以設置格式化參數的順序,如下面的示例:
>>> "{1} {0} {1}".format("hello", "world") # 設置指定位置
'world hello world' # 這是運行結果
②可以設置名字,如下面的示例
# 直接設置名字
print("博客名:{name}, 地址 {url}".format(name="昊虹圖像算法", url="blog.csdn.net/wenhao_ir"))
# 通過字典設置參數
site = {
"name": "昊虹圖像算法", "url": "blog.csdn.net/wenhao_ir"}
print("博客名:{name}, 地址 {url}".format(**site))
# 通過列表索引設置參數
my_list = ['昊虹圖像算法', 'blog.csdn.net/wenhao_ir']
print("博客名:{0[0]}, 地址 {0[1]}".format(my_list)) # "0" 是必須的
運行結果如下圖所示:
③可以傳入對象。
示例代碼如下:
class AssignValue(object):
def __init__(self, value):
self.value = value
my_value = AssignValue(6)
print('value值為: {0.value}'.format(my_value)) # "0" 是可選的
運行結果如下:
④str.format()兼容性強、適配性強
比如我們要輸出一個矩陣的行數和列數,我們用str.format()是非常方便的,代碼如下:
import numpy as np
A1 = np.array([[1, 2, 3, 4, 5],
[6, 7, 8, 9, 10],
[11, 12, 13, 14, 15],
[16, 17, 18, 19, 20]], dtype='int8')
print('矩陣A1的行數和列數分別為{}'.format(A1.shape))
如果用第02種的方式的話,就得把A1.shape的兩個成員先取出,再作輸出處理。
綜上,我們能用第03種方式就用第三種方式。
第03種方式對數字格式的控制如下表所示:
補充一點,第03種方式,如果想輸出大括號(轉義大括號),可以像下面這樣操作:
print("{} 對應的位置是 {
{0}}".format("suwenhao"))
運行結果如下: