通常,一個程序都會有輸入/輸出,這樣可以與用戶進行交互。用戶輸入一些信息,你會對他輸入的內容進行一些適當的操作,然后再輸出給用戶想要的結果。Python的輸入/輸出,我們可以用input進行輸入,print進行輸出,這些都是簡單的控制台輸入/輸出,復雜的有處理文件等。
輸入
raw_input()
注:python3版本中沒有raw_input()函數,只有input()並且 python3中的input與python2中的raw_input()功能一樣。
password = raw_input("請輸入密碼:")
print ('您剛剛輸入的密碼是:%d'password)
-
raw_input()的小括號中放入的是,提示信息,用來在獲取數據之前給用戶的一個簡單提示
-
raw_input()在從鍵盤獲取了數據以后,會存放到等號右邊的變量中
-
raw_input()會把用戶輸入的任何值都作為字符串來對待
input()
在python2中input()函數與raw_input()類似,但其接受的輸入必須是表達式。
在python3中input()函數等價raw_input(),接受的是字符串
name = input("請輸入名字:")
print ("您的名字:%s"name)
輸出
name = "xiaohua"
print("我的姓名是%s,年齡是%d"%(name,age))
%這樣的操作符,這就是Python中格式化輸出
常用的格式符號
格式符號 | 轉換 |
---|---|
%c | 字符 |
%s | 通過str() 字符串轉換來格式化 |
%i | 有符號十進制整數 |
%d | 有符號十進制整數 |
%u | 無符號十進制整數 |
%o | 八進制整數 |
%x | 十六進制整數(小寫字母) |
%X | 十六進制整數(大寫字母) |
%e | 索引符號(小寫'e') |
%E | 索引符號(大寫“E”) |
%f | 浮點實數 |
%g | %f和%e 的簡寫 |
%G | %f和%E的簡寫 |
轉移字符
轉義字符 | 描述 |
---|---|
(在行尾時) | 續行符 |
\ | 反斜杠符號 |
' | 單引號 |
" | 雙引號 |
\a | 響鈴 |
\b | 退格(Backspace) |
\e | 轉義 |
\000 | 空 |
\n | 換行 |
\v | 縱向制表符 |
\t | 橫向制表符 |
\r | 回車 |
\f | 換頁 |
\oyy | 八進制數yy代表的字符,例如:\o12代表換行 |
\xyy | 十進制數yy代表的字符,例如:\x0a代表換行 |
\other | 其它的字符以普通格式輸出 |
- print(value, ..., sep, end, file, flush)
本函數是實現對象以字符串表示的方式格式化輸出到流文件對象file里。其中所有非關鍵字參數都按str()方式進行轉換為字符串輸出,關鍵字參數sep是實現分隔符,比如多個參數輸出時想要輸出中間的分隔字符;關鍵字參數end是輸出結束時的字符,默認是換行符\n;關鍵字參數file是定義流輸出的文件,可以是標准的系統輸出sys.stdout,也可以重定義為別的文件;參數flush是立即把內容輸出到流文件,不作緩存。
- sep
在輸出字符串之間插入指定字符串,默認是空格,例如:
>>>print("a","b","c",sep="**")
a**b**c
- end
在print輸出語句的結尾加上指定字符串,默認是換行(\n),例如:
>>>print("a",end="$")
a$
print默認是換行,即輸出語句后自動切換到下一行,對於python3來說,如果要實現輸出不換行的功能,那么可以設置end=''(python2可以在print語句之后加“,”實現不換行的功能)
- file
將文本輸入到file-like對象中,可以是文件,數據流等等,默認是sys.stdout
>>>f = open('abc.txt','w')
>>>print('a',file=f)
- flush
flush值為True或者False,默認為Flase,表示是否立刻將輸出語句輸入到參數file指向的對象中(默認是sys.stdout)例如:
>>>f = open('abc.txt','w')
>>>print('a',file=f)
可以看到abc.txt文件這時為空,只有執行f.close()之后才將內容寫進文件。
如果改為:
>>>print('a',file=f,flush=True)
則立刻就可以看到文件的內容
格式化數字和字符串
格式化用的是format函數返回格式化字符
格式化數字
- print(str,format(item,format-specifier)
item:為字符串或者數字
format-specifier:格式說明,格式為 [對齊格式][總位數][.][小數位數][類型]
對齊格式的值:"<"(向左對齊) 或 ">" (向右對其),數字默認向右對齊,字符串默認向左對齊
例子:
print("工資:", format(100.123, "10.1f"))
# 工資: 100.1
print("工資:", format(100.123, "<10.1f"))
# 工資: 100.1
print("string:", format('abcde', "10s"))
# string: abcde
print("string:", format('abcde', ">10s"))
# string: abcde
注:隨機數
import random #導入工具箱
random.randint[2,4]#2~4之間的隨機數