在python中接受來自使用者的輸入很簡單,可以使用input,它類似於c語言裡的 scanf 或者c++中的 cin。
>>> x = input("please input x:")
please input x:10
>>> print(x)
10
用於輸出的print,其一般用法是比較 straightforward 的,就像上面的print(x)那樣,對於乙個已知的物件(無論什麼型別),python都能自行輸出。
乙個比較tricky的問題是,如何做「格式化」輸出。方法跟c語言差不多,也是使用%,但是變數之前還要再寫乙個%,這個跟c語言裡面略有不同(c裡面還需要乙個逗號)。來看一些例子:
>>> a = 10
>>> print("the value is %d" %a)
the value is 10
>>> print("the value is %d" %10)
the value is 10
>>> s = 'hello'
>>> x = len(s)
>>> print("the length of %s is %d" % (s,x))
the length of hello is 5
關於格式化輸出的一些技巧總結:
1. %字元:標記轉換說明符的開始
2. 轉換標誌:
3. 最小字段寬度:轉換後的字串至少應該具有該值指定的寬度。如果是*,則寬度會從值元組中讀出。
4. 點(.)後跟精度值:如果轉換的是實數,精度值就表示出現在小數點後的位數。如果轉換的是字串,那麼該數字就表示最大字段寬度。如果是*,那麼精度將從元組中讀出
5. 字串格式化轉換型別
轉換型別 含義
d,i 帶符號的十進位制整數
o 不帶符號的八進位制
u 不帶符號的十進位制
x 不帶符號的十六進製制(小寫)
x 不帶符號的十六進製制(大寫)
e 科學計數法表示的浮點數(小寫)
e 科學計數法表示的浮點數(大寫)
f,f 十進位制浮點數
g 如果指數大於-4或者小於精度值則和e相同,其他情況和f相同
g 如果指數大於-4或者小於精度值則和e相同,其他情況和f相同
c 單字元(接受整數或者單字元字串)
r 字串(使用repr轉換任意python物件)
s 字串(使用str轉換任意python物件)
來看一些例子:
>>> pi = 3.141592653
>>> print('%10.3f' % pi) #欄位寬10,精度3
3.142
>>> print("pi = %.*f" % (3,pi)) #用*從後面的元組中讀取字段寬度或精度
pi = 3.142
>>> print('%010.3f' % pi) #用0填充空白
000003.142
>>> num = -0.15
>>> print('%+f' % num) #顯示正負號
-0.150000
以及
print ("name:%-10s age:%-8d height:%-8.2f"%("tom", 18, 1.83)) #指定佔位符寬度(左對齊)
name:tom age:18 height:1.83
print ("name:%10s age:%8d height:%8.2f"%("tom", 18, 1.83)) #指定佔位符寬度
name: tom age: 18 height: 1.83
print ("name:%-10s age:%08d height:%08.2f"%("tom", 18, 1.83)) #指定佔位符(用0當佔位符)
name:tom age:00000018 height:00001.83
print ("name:%-10s age:% 8d height:%-8.2f"%("tom", 18, 1.83)) #空白字元表示正數之前保留空格
name:tom age: 18 height:1.83
最後,print總是預設換行的,例如:
>>> for x in range(0,5):
print(x)
0123
4
如果想要不換行,對於 python 3.x 來說,你需要把語句寫成 print(x,end = '' )
>>> for x in range(0,5):
print (x,end = '')
01234
* 本文中之例子皆基於python 3.6完成。筆者所使用的ide是spyder 3.1.4。
(本文完)
Python3 5裡print 的用法
函式原型 print objects,sep end n file sys.stdout,flush false 該函式將會像str 函式一樣,把所有非關鍵字宣告轉化為字串,然後寫入輸出流。sep和end的賦值必須是字串,而且可以省略,即使用預設值。如果沒有把類賦予print 那麼它就輸出換行符號。...
python中print()函式裡的
一些入門書籍沒有介紹print 函式這一格式化輸出方法,有的同學看到這裡會有疑惑。說明 字元 標記轉換說明符 str the length of s is d runoob len runoob print str the length of runoob is 6或者 x hex 十六進製制 d ...
python學習2 print 的用法
def print self,args,sep end n file none 1.sep 元素間的插入值,預設為空格 2.end 元素結尾插入值,預設為換行符 n 3.file 元素輸出位置 預設為當前 sys.stdout.print 函式是預設換行的即 end n 重寫 end 引數即可改變其...