python 是一種高級、面向對象、通用的編程語言,由`Guido van Rossum`發明,於1991年首次發佈。python 的設計哲學強調代碼的可讀性和簡潔性,同時也非常適合於大型項目的開發。python 語言被廣泛用於Web開發、科學計算、人工智慧、自動化測試、游戲開發等各個領域,並且擁有... ...
python 是一種高級、面向對象、通用的編程語言,由Guido van Rossum
發明,於1991年首次發佈。python 的設計哲學強調代碼的可讀性和簡潔性,同時也非常適合於大型項目的開發。python 語言被廣泛用於Web開發、科學計算、人工智慧、自動化測試、游戲開發等各個領域,並且擁有豐富的第三方庫和工具,使得python成為廣泛應用的語言之一。同時,由於其開放性和可移植性,python在跨平臺應用、開源軟體開發和雲計算等領域也被廣泛使用。
- python語言官網:https://www.python.org/
python的安裝非常容易,在Windows平臺下讀者只需要去python官方下載與之對應的版本即可,目前python的版本為python 3.11.3
如下圖所示讀者可點擊Download python 3.11.3
下載最新版本;
當讀者下載好以後,只需要點擊安裝包,依次點擊下一步則可將python安裝到您的電腦中;
python 中的標準輸入和輸出是指用於讀取和寫入數據的預設流(stream),也稱為 stdin 和 stdout。這些流可以是屏幕輸入和輸出,也可以是文件、管道等。
-
標準輸入:通常是用戶控制臺上的輸入流,用於讀取用戶輸入的數據。在python中,可以使用 input() 函數來接收標準輸入,預設情況下它接收一個字元串並返回該字元串。
-
標準輸出:通常是用戶控制臺上的輸出流,用於向控制台列印數據。在python中,可以使用 print() 函數將數據輸出到標準輸出流。預設情況下,列印函數(print() 函數)會將數據以字元串的形式輸出到控制台。
1.1 標準輸入功能
任何一門編程語言都具備標準輸入與輸出功能,輸入輸出是任何一門編程語言的最終目的,在python中,輸入數據可以使用內置的input()
函數來實現,該函數可傳入一個字元串併在輸入前列印至屏幕中,函數返回一個字元串類型讀者可通過一個變數來接收函數的返回值。
>>> name = input("請輸入你的名字:")
請輸入你的名字:lyshark
>>> print("Hello " + name)
Hello lyshark
>>> age = input("請輸入你的年齡:")
請輸入你的年齡:22
>>> type(age)
<class 'str'>
# 強制類型轉換
>>> age1 = input("請輸入你的年齡:")
>>> age1 = int(age1)
>>> type(age1)
<class 'int'>
讀者需要註意一點,標準輸入函數只能獲取字元串類型的參數,而有時我們需要使用例如整數浮點數等特殊參數,則需要通過強制轉換類型的方法來實現對字元串的轉換,例如將一個字元串參數轉換為整數,可以使用int(age1)
來實現,當然除了轉換為整數,python還支持如下幾個強制類型轉換函數;
- int(x) 將 x 轉換為整數
- float(x) 將 x 轉換為浮點數
- str(x) 將 x 轉換為字元串
- bool(x) 將 x 轉換為布爾值
如果嘗試將無效的表達式或對象強制轉換為某種數據類型,則可能引發TypeError
或ValueError
異常。因此,在進行強制轉換之前,一定要確保輸入的值是有效的,並且可以正確地轉換為目標數據類型。
1.2 標準輸出功能
有標準輸入函數則必然有標準輸出,在輸出時讀者可使用print()
函數實現,該函數只需要傳入一個輸入字元串則可以實現輸出,此外在某些時候如果我們不希望讓該函數完成換行,則讀者可在輸入時增加end=""
的參數傳遞實現,同時標準輸入函數同樣支持對字元串的動態替換功能。
>>> string = "hello lyshark"
>>> print(string)
hello lyshark
# 輸出時不讓其自動換行
>>> print(string,)
>>> print('hello', end = " ")
>>> string = "the length of (%s) is %d" %("hello lyshark",len("hello lyshark"))
>>> print(string)
the length of (hello lyshark) is 13
>>> string = "hello {} --> age {}".format("lyshark",22)
>>> print(string)
hello lyshark --> age 22
>>> string = "i am %(age).2f" %{"age":22}
>>> print(string)
i am 22.00
在上述案例中,可以看到當我們需要動態替換字元串時可以將字元串中需要變化的位置通過%s(代表字元串)
或者%d(代表整數)
的方式進行占位,在該字元串的後面通過%()
的方式對字元串依次進行填充,最終調用print
輸出替換後的數據,當讓在新版本中讀者可使用{}
進行占位符填充,該方法無需自行執行參數類型,在使用時更加方便一些。
1.3 格式化的用法
在標準輸出中我們簡單介紹了一下格式化輸出的一些功能,本次案例中將重點學習如何實現對格式化輸出的控制,通常來說使用format
輸出可以實現很多輸出細節的控制,但此方式輸出還是比較麻煩,如下所示將帶大家簡單理解格式化函數的一些基本用法,讀者通過此類方法應該能更好的掌握格式化輸出的基本技巧與流程。
>>> print("i am {0}, age {1}, really {0}".format("lyshark",22))
i am lyshark, age 22, really lyshark
>>> print("i am {name}, age {age}".format(**{"name":"lyshark","age":"22"}))
i am lyshark, age 22
>>> temp = "i am {0[0]}, age {0[1]}, really {0[2]}".format([1, 2, 3], [11, 22, 33])
>>> print(temp)
i am 1, age 2, really 3
>>> temp = "i am {:s}, age {:d}, money {:f}".format("lyshark", 18, 8.1)
>>> print(temp)
i am lyshark, age 18, money 8.100000
>>> temp = "%r %r %r %r"
>>> print(temp%(1,2,3,4))
1 2 3 4
>>> print("網站名稱:{name},地址:{url}".format(name="myblog",url="www.lyshark.com"))
網站名稱:myblog,地址:www.lyshark.com
>>> site={"name":"myblog","url":"www.lyshark.com"}
>>> print("網站名稱:{name} 地址:{url}".format(**site))
網站名稱:myblog 地址:www.lyshark.com
>>> my_list = ['myblog','www.lyshark.com']
>>> print("網站名稱:{0[0]},地址:{0[1]}".format(my_list))
網站名稱:myblog,地址:www.lyshark.com
當然上述方法輸出字元串還是有些複雜,為瞭解決這個問題,python語言在3.6
之後的版本中引入了f-string
格式化功能,該方法的引入解決了格式化輸出是繁瑣的初始化工作,在使用時只需要在字元串的外圍增加f
即可表示需要輸出動態字元串,此時讀者只需要傳入特定的變數並以{}
包裹,即可實現動態輸出。
>>> name = "lyshark"
>>> age = 25
>>> number = 12.456
# 可直接帶入變數調用
>>> f"hello, my name is {name} my age {age}"
'hello, my name is lyshark my age 25'
# 調用是指定函數
>>> f"my name is {name.upper()}"
'my name is LYSHARK'
# 如需顯示大括弧,則需要兩次括弧
>>> f"my name is {{name.upper()}}"
'my name is {name.upper()}'
# 浮點數保留位數
>>> f"this float is {number:1.1f}"
'this float is 12.5'
# ^符號居中,寬度10位,十六進位整數(大寫字母),顯示0X首碼
>>> number = 1234
>>> f'number is {number:^#10X}'
'number is 0X4D2 '
# <符號左對齊,寬度10位,顯示正號(+)定點數格式,2位小數
>>> number = 1234.5678
>>> f'number is {number:<+10.2f}'
'number is +1234.57 '
# datetime時間格式輸出
>>> import datetime
>>> number = datetime.datetime.today()
>>> f'the time is {number:%Y-%m-%d (%a) %H:%M:%S}'
'the time is 2021-07-14 (Sat) 20:46:02'
本文作者: 王瑞
本文鏈接: https://www.lyshark.com/post/533eb8c0.html
版權聲明: 本博客所有文章除特別聲明外,均採用 BY-NC-SA 許可協議。轉載請註明出處!
文章出處:https://www.cnblogs.com/LyShark/p/17616981.html
本博客所有文章除特別聲明外,均採用 BY-NC-SA 許可協議。轉載請註明出處!