1. 字元串和數值類型
2.變量
3.格式化輸出
4.如何讓 print 不換行
Python 思想:“一切都是對象!”
在 Python 3 中接觸的第一個很大的差異就是縮進是作為文法的一部分,這和C++等其他語言确實很不一樣,是以要小心 ,其中python3和python2中print的用法有很多不同,python3中需要使用括号。縮進要使用4個空格(這不是必須的,但你最好這麼做),縮進表示一個代碼塊的開始,非縮進表示一個代碼的結束。沒有明确的大括号、中括号、或者關鍵字。這意味着空白很重要,而且必須要是一緻的。第一個沒有縮進的行标記了代碼塊,意思是指函數,if 語句、 for 循環、 while 循環等等的結束。
輸入很簡單
x = input("Please input x:")
Please input x:
輸出的 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)
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 "", line 1, in 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)
>>> x = 2.3
>>> type(x)
>>> x = [2,3]
>>> type(x)
部分函數:
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) ,把值轉換為字元串