1. 程式人生 > >python 中 print 函式用法總結

python 中 print 函式用法總結

出自:http://www.cnblogs.com/graceting/p/3875438.html

Python 思想:

“一切都是物件!”

在 Python 3 中接觸的第一個很大的差異就是縮排是作為語法的一部分,這和C++等其他語言確實很不一樣,所以要小心 ,其中python3和python2中print的用法有很多不同,python3中需要使用括號

縮排要使用4個空格(這不是必須的,但你最好這麼做),縮排表示一個程式碼塊的開始,非縮排表示一個程式碼的結束。沒有明確的大括號、中括號、或者關鍵字。這意味著空白很重要,而且必須要是一致的。第一個沒有縮排的行標記了程式碼塊,意思是指函式,if 語句、 for 迴圈、 while 迴圈等等的結束。

輸入很簡單

  1. x = input("Please input x:")  
  2. Please input x:  

輸出的 print 函式總結:

1. 字串和數值型別
可以直接輸出

  1. >>> print(1)  
  2. 1  
  3. >>> print("Hello World")  
  4. Hello World  


2.變數
無論什麼型別,數值,布林,列表,字典...都可以直接輸出

  1. >>> x = 12  
  2. >>> print(x)  
  3. 12  
  4. >>> s = 'Hello'  
  5. >>> print(s)  
  6. Hello  
  7. >>> L = [1,2,'a']  
  8. >>> print(L)  
  9. [1, 2, 'a']  
  10. >>> t = (1,2,'a')  
  11. >>> print(t)  
  12. (1, 2, 'a')  
  13. >>> d = {'a':1, 'b':2}  
  14. >>> print(d)  
  15. {'a': 1, 'b': 2}  


3.格式化輸出
類似於C中的 printf

  1. >>> s  
  2. 'Hello'  
  3. >>> x = len(s)  
  4. >>> print("The length of %s is %d" % (s,x))  
  5. The length of Hello is 5  


看看《Python基礎程式設計》中對格式化輸出的總結:

(1). %字元:標記轉換說明符的開始


(2). 轉換標誌:-表示左對齊;+表示在轉換值之前要加上正負號;“”(空白字元)表示正數之前保留空格;0表示轉換值若位數不夠則用0填充


(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物件)

  1. >>> pi = 3.141592653  
  2. >>> print('%10.3f' % pi) #欄位寬10,精度3  
  3.      3.142  
  4. >>> print("pi = %.*f" % (3,pi)) #用*從後面的元組中讀取欄位寬度或精度  
  5. pi = 3.142  
  6. >>> print('%010.3f' % pi) #用0填充空白  
  7. 000003.142  
  8. >>> print('%-10.3f' % pi) #左對齊  
  9. 3.142       
  10. >>> print('%+f' % pi) #顯示正負號  
  11. +3.141593  


4.如何讓 print 不換行
在Python中總是預設換行的

  1. >>> for x in range(0,10):  
  2.     print(x)  
  3. 0  
  4. 1  
  5. 2  
  6. 3  
  7. 4  
  8. 5  
  9. 6  
  10. 7  
  11. 8  
  12. 9  


如果想要不換行,之前的 2.x 版本可以這樣 print x, 在末尾加上 ,
但在 3.x 中這樣不起任何作用
要想換行你應該寫成 print(x,end = '' )

  1. >>> for x in range(0,10):  
  2.     print (x,end = '')  
  3. 0123456789  

拼接字串:

  1. >>> "Hello""World"  
  2. 'HelloWorld'  
  3. >>> x = "Hello"  
  4. >>> y = "world"  
  5. >>> xy  
  6. Traceback (most recent call last):  
  7.   File "<pyshell#10>", line 1, in <module>  
  8.     xy  
  9. NameError: name 'xy' is not defined  
  10. >>> x+y  
  11. 'Helloworld'  

pow函式:

  1. # 2**3%5(2的3次冪對5取模)  
  2. >>> pow(2,3,5)  
  3. 3  


然後很重要一點是型別可以自由地轉換,你賦什麼值,變數就是什麼型別,python會自動幫你管理

這點真讓我的C++思維轉不過來呢

  1. >>> x = 2  
  2. >>> type(x)  
  3. <class 'int'>  
  4. >>> x = 2.3  
  5. >>> type(x)  
  6. <class 'float'>  
  7. >>> x = [2,3]  
  8. >>> type(x)  
  9. <class 'list'>  


部分函式:

abs(number),返回數字的絕對值

cmath.sqrt(number),返回平方根,也可以應用於負數

float(object),把字串和數字轉換為浮點數

help(),提供互動式幫助

input(prompt),獲取使用者輸入

int(object),把字串和數字轉換為整數

math.ceil(number),返回數的上入整數,返回值的型別為浮點數

math.floor(number),返回數的下舍整數,返回值的型別為浮點數

math.sqrt(number),返回平方根不適用於負數

pow(x,y[.z]),返回X的y次冪(有z則對z取模)

repr(object),返回值的字串標示形式

round(number[.ndigits]),根據給定的精度對數字進行四捨五入

str(object),把值轉換為字串