一、input()與raw_input()的區別
代碼
1 >>> buck = input("Enter your name: ")
2 Enter your name: liu
3
4 Traceback (most recent call last):
5 File "<pyshell#1>", line 1, in <module>
6 buck = input("Enter your name: ")
7 File "<string>", line 1, in <module>
8 NameError: name 'liu' is not defined
9 >>> buck = raw_input('Enter your name: ')
10 Enter your name: liu
從上面的例子可以看到,raw_input()將輸入看作字串,而input則不是,input()根據輸入來判斷類型,當然如果你想輸入字串的話就必須在字串錢加引號。
二、輸出的問題
如果我們定義一個整數,然後要將其與字串同時輸出,如下所示
代碼
>>> n = 20
>>> print('the num is '+20)
Traceback (most recent call last):
File "<pyshell#16>", line 1, in <module>
print('the num is '+20)
TypeError: cannot concatenate 'str' and 'int' objects
可見不能直接用加號來表示,解決方案有三種:
第一種可以把n轉化為字串,用str()內建函數:
>>> n = str(n)
>>> print('the num is '+ n)
the num is 20
第二種是加`符號,這個鍵是在esc鍵下面的那個,如:
>>> b = 20
>>> print('the num is '+ `b`)
the num is 20
第三種是用預留位置,這個類似C語言中的預留位置,但要注意連接字串與其他類型資料的是%而不是逗號
>>> print('the num is %d ' % b)
the num is 20
三、Sequences,這個有點像數組,下面是它的定義與截取(Slicing)
代碼
>>> example = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> example[:8]
[0, 1, 2, 3, 4, 5, 6, 7]
>>> example[-5:]
[5, 6, 7, 8, 9]
>>> example[:]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> example[1:8:2]
[1, 3, 5, 7]
>>> example[::-2]
[9, 7, 5, 3, 1]