Python基礎之數據類型、變量與輸入輸出
數據類型
Python 數據類型:
- .整型(整數) 強制類型轉化 int()
- 浮點型(小數) 強制類型轉化 float()
- 字符串(用引號包裹的一段內容) 強制類型轉化 str()
- 布爾型(True/False,代表真或者假) 強制類型轉化 bool()
注意:Python中整型無長度限制
變量
Python中變量是弱類型變量,沒有嚴格的數據類型限制,變量的數據類型完全根據變量中存儲的數據的實際類型決定
Python定義語法:
變量名 = 變量值
例:
>>> a = 100**100
>>> print(a)
100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
輸入
函數input([str])
讓程序暫停運行,等待用戶輸入一些文本。
str
爲提示語句,可選
例:
name = input("輸入你的名字:")
print(name, "你好")
# 輸入你的名字:張三
# 張三 你好
注意:輸入返回值均爲字符串類型,具體操作需要判斷並轉換相應類型
輸出
1.普通輸出
語法:
print(*args, sep=' ', end='\n', file=None)
*args : 需要輸出的字符串,可以有任意多個
sep : 多個字符串之間相隔的距離,默認爲一個空格 " "
end : 附加在本次輸出之後的一個字符,默認爲回車'\n'
file : 一個類似文件的對象(流),默認爲當前文件(不常用)
例:
print("123", "456")
print("789", "000")
# 123 456
# 789 000
print("123", "456", sep="...",end="***")
print("789", "000", sep="---",end="!!!")
# 123...456***789---000!!
2.舊式格式化輸出
在實際應用場景中,我們經常需要輸出類似“我叫xxx,今年xx歲,性別x”
之類的語句,xxx的內容動態的根據當前數據更新,所以需要一種統一的格式化字符的方式
在Python中格式化的方式與C語言相同,都是用%
實現的
例:
name = "張三"
age = 20
sex = "男"
print("我叫%s,今年%s歲,性別%s" % (name, age, sex))
# 我叫張三,今年20歲,性別男
# 注意:當格式化輸出有多個時,%後面具體內容應用元組形式表示
上例的%s代表字符串類型的佔位符,Python中的常用類型佔位符有:
- %d 整型佔位符
- %s 字符串佔位符
- %f 浮點型佔位符
- %o %x 八\十六進制佔位符
- %% 輸出%
- 其他佔位符不常用不再一一列舉
例:
# %s
name = "張三"
print("我叫%s" % name)
# 我叫張三
# %d
num = 1+1
print("1+1=%d" % num)
# 1+1=2
# %f
num = 5/2
print("5/2=%f" % num)
# 5/2=2.500000
# %f (保留指定位數小數)
num = 5/2
print("5/2=%.2f" % num)
# 5/2=2.50
# 指定佔位符寬度
num1 = 5 / 2
num2 = 1 + 1
print("5/2=%10.2f,1+1=%10d" % (num1, num2))
# 5/2= 2.50,1+1= 2
# 指定佔位符寬度 - 左對齊
num1 = 5 / 2
num2 = 1 + 1
print("5/2=%-10.2f,1+1=%-10d" % (num1, num2))
# 5/2=2.50 ,1+1=2
#
# 備註:格式化可選標誌符, 可選參數
# + 右對齊;正數前加正號,負數前加負號;
# - 左對齊;正數前無符號,負數前加負號;
# 空格 右對齊;正數前加空格,負數前加負號;
# 0 右對齊;正數前無符號,負數前加負號;用0填充空白處
3.新式格式化輸出
在Python中,字符串的內置函數format()爲用戶提供了更簡潔整齊的格式化輸出方法
# 格式化字符串 str.format(*args, **kwargs)
# 按下標確定字符串內容,位置變換會導致輸出錯誤
info = "我叫{0},今年{1}歲,性別{2},未婚".format("小菜菜", 20, "男")
print(info)
# 我叫小菜菜,今年20歲,性別男,未婚
# 根據鍵值對確定字符串內容,位置可以任意變換
info = "我叫{name},今年{age}歲,性別{sex},未婚".format(name="小菜菜", age=20, sex="男")
print(info)
# 我叫小菜菜,今年20歲,性別男,未婚
# 使用字典作爲format的參數直接傳入,值得注意的是作爲參數時,字典需要添加兩個*(具體在函數參數部分會解釋)
dic = {"age": 20, "name": "小菜菜", "sex": "男"}
info = "我叫{name},今年{age}歲,性別{sex},未婚".format(**dic)
print(info)
# 我叫小菜菜,今年20歲,性別男,未婚
# str.format_map(mapping) 類似 str.format(*args, **kwargs) ,不同的是 mapping 是一個字典對象。
dic = {"age": 20, "name": "小菜菜", "sex": "男"}
info = "我叫{name},今年{age}歲,性別{sex},未婚".format_map(dic)
print(info)
# 我叫小菜菜,今年20歲,性別男,未婚