Python之print函式詳解
輸出的 print 函式總結:
1. 字串和數值型別
可以直接輸出
>>> print(1)
1
>>> print("Hello World")
Hello World
2.變數
無論什麼型別,數值,布林,列表,字典...都可以直接輸出
>>> x = 12 >>> print(x) 12 >>> s = 'Hello' >>> print(s) Hello >>> L = [1,2,'a'] >>> print(L) [1, 2, 'a'] >>> t = (1,2,'a') >>> print(t) (1, 2, 'a') >>> d = {'a':1, 'b':2} >>> print(d) {'a': 1, 'b': 2}
3.格式化輸出
類似於C中的 printf
>>> s
'Hello'
>>> x = len(s)
>>> print("The length of %s is %d" % (s,x))
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物件)
>>> 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
>>> print('%-10.3f' % pi) #左對齊
3.142
>>> print('%+f' % pi) #顯示正負號
+3.141593
4.如何讓 print 不換行
在Python中總是預設換行的
>>> for x in range(0,10):
print(x)
0
1
2
3
4
5
6
7
8
9
如果想要不換行,之前的 2.x 版本可以這樣 print x, 在末尾加上 ,
但在 3.x 中這樣不起任何作用
要想換行你應該寫成 print(x,end = '' )
>>> for x in range(0,10):
print (x,end = '')
0123456789
拼接字串:
>>> "Hello""World"
'HelloWorld'
>>> x = "Hello"
>>> y = "world"
>>> xy
Traceback (most recent call last):
File "<pyshell#10>", line 1, in <module>
xy
NameError: name 'xy' is not defined
>>> x+y
'Helloworld'
pow函式:
# 2**3%5(2的3次冪對5取模)
>>> pow(2,3,5)
3
然後很重要一點是型別可以自由地轉換,你賦什麼值,變數就是什麼型別,python會自動幫你管理
這點真讓我的C++思維轉不過來呢
>>> x = 2
>>> type(x)
<class 'int'>
>>> x = 2.3
>>> type(x)
<class 'float'>
>>> x = [2,3]
>>> type(x)
<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),把值轉換為字串