環境:python 3.10_amd64 + Win10
1.print()函數
1.1print()函數的參數
value, ..., 表示待打印的對象, 數量可變; 其餘四个爲默認參數:
sep表示多个值之間的間隔符, 默認爲空格' '
end表示打印最後一个值後的添加的字符, 默認爲換行符'\n'
file表示文件對象, 即打印的位置, 默認爲標準輸出流(也就是屏幕)
flush表示是否刷新輸出流, 默認爲False, 不刷新
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
1.2.拼接字符串打印, 注意轉換數值類型, 使用str()函數
>>> print('我有' + 4 + '隻貓.')
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
print('我有' + 4 + '隻貓.')
TypeError: can only concatenate str (not "int") to str
>>> print('我有' + str(4) + '隻貓.')
我有4隻貓.
1.3.格式化輸出
1. 可以使用字符串對象的format()方法格式化輸出, 多个{}依次對應format()中的實參:
>>> print('我有{}隻貓, 其中{}隻是貓妹妹. 它們都很可愛!'.format(4, 3))
我有4隻貓, 其中3隻是貓妹妹. 它們都很可愛!
2. 使用f格式化輸出, 在字符串之前加一个f, 字符串內部使用{var_}的形式指明變量, 更直觀簡明, 而且這種格式還有一个方便的地方是, 對于數值類型變量, 不必使用str()函數進行轉換:
>>> name = '自五'
>>> mean = '漢心丹青'
>>> print(f'他怕是很難意識到自己是一个{name}, 因此發表意見時向來坦蕩, 總叫囂{mean}之類的.')
他怕是很難意識到自己是一个自五, 因此發表意見時向來坦蕩, 總叫囂漢心丹青之類的.
3. 使用類似于C語言的佔位符%格式
python的格式化佔位符比C簡化很多, 常用如下:
%d | 整數 |
%o | 八進制形式 |
%x 或 %X | 小寫或大寫十六進制 |
%e 或 %E | 小寫或大寫科學計數法表示的浮點數 |
%f | 浮點數 |
%s | 字符串 |
%% | 在使用佔位符的語句中表示%本身 |
這種形式便于直接控制輸出浮點數的精度:
# 使用%.nf的格式限定浮點數輸出精度
>>> pi = 3.141592653
>>> print('pi = %f'%pi)
pi = 3.141593
>>> print('pi = %.4f'%pi)
pi = 3.1416
>>> print('pi = %.2f'%pi)
pi = 3.14
當有多个變量同時輸出時, 注意變量名的排列順序和格式(以元組形式排列):
>>> a, b, c = 13, 20.5, '三毛'
>>> print('他的名字叫%s, 今年%d歲, 口袋裡面有%.1f元錢.'%(c, a, b))
他的名字叫三毛, 今年13歲, 口袋裡面有20.5元錢.
1.4.引號的使用
單/雙引號在大多數時候作用相同, 當在文本中需要輸出引號時, 可以混用兩者來實現:
>>> print('單/雙引號混用: "我渴了!", 她說.')
單/雙引號混用: "我渴了!", 她說.
1.5.三引號'''的使用
>>> print('''三引號的作用是包含大段文字, 在結束的三引號之前可以任意換行,
比如這是第二行,
比如這是第三行,
在最後一行使用三引號結束文本.''')
三引號的作用是包含大段文字, 在結束的三引號之前可以任意換行,
比如這是第二行,
比如這是第三行,
在最後一行使用三引號結束文本.
1.6.多次重復打印字符串, 使用乘號*
>>> print('Hello\n'*3)
Hello
Hello
Hello
1.7.修改默認參數值, 控制輸出格式
比如設定多个輸出值之間的間隔符爲換行, 更改參數sep='\n':
>>>print(' *', ' * *', '* * *', ' |', sep='\n')
*
* *
* * *
|
2.input()
2.1.input()函數的參數
input()函數的參數爲字符串, 通常作爲輸入提示(prompt), 提示用戶要輸入的類型等, 這條提示會顯示在終端, 然後讀入數據存儲到指定的變量中.
message = input("請輸入留言:")
2.2.處理input()函數的返回值
使用input()讀入的類型爲str, 即字符串類型, 必要時可進行格式轉換, 如下:
gongzi = int(input("請輸入你的工資:")) # 使用int()將讀入的字符串格式的數值轉換爲整型
age = int(input("請輸入你的年齡:"))
if age >= 18:
print("原來你是成年人啊!")
money = float(input("請輸入你的月收入:"))
if money >= 10000.0:
print(str(money) + "You have a good job!")
else:
print(str(money) + "You are poor...")
也可使用eval()函數, 在確定要讀取數值時調用, 在輸入不可求值的算式時報錯, 如下:
>>> eval(input('請輸入一个數值:'))
>>> 請輸入一个數值:58*22.5-123
1182.0
>>> eval('dsd')
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
eval('n')
File "<string>", line 1, in <module>
NameError: name 'dsd' is not defined