1.列表和元組
列表(list):可變型別,建立後可以對錶內元素進行修改;列表表示的順序,通常是同一型別的物件,如
a = [1, 2, 3]
元組(tuple):不可變型別,一旦建立就不能進行更改;元組表示結構,可以用來儲存不同型別的元素,如
b = (1, "2", [3, 4], )
注意,雖然元組內不可改變,但是元組內列表可以改變,如
b = (1, "2", [3, 4], )
print(b)
print(id(b))
b[2][1]=7
b[3]["5"] = "six"
print("**********===")
print(b)
print(id(b))
執行**後結果
(1, '2', [3, 4], )
1742819838776
**********===
(1, '2', [3, 7], )
1742819838776
2.「is」和「==」區別
「is」用來檢查物件的標識(id),「==」用來檢查兩個物件是否相等。
a = [1, 2, 3]
b = a
c = [1, 2, 3]
print(a == b)
print(a == c)
print("="*10)
print(a is b)
print(a is c)
print("="*10)
print(id(a))
print(id(b))
print(id(c))
輸出結果為:
true
true
**********
true
false
**********
1391052375368
1391052375368
1391052335496
3.range函式
range函式可以用來建立乙個整數列表,有三種用法
# range 函式的第一種用法
a = [i for i in range(10)]
print(a)
print("="*30)
# range 函式的第二種用法
b = [i for i in range(0,10)]
print(b)
print("="*30)
# range 函式的第三種用法
c = [i for i in range(0,10,2)]
print(c)
輸出結果為
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
******************************
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
******************************
[0, 2, 4, 6, 8]
4.python中連線列表
a = [1, 2, 3]
b = [4, 5]
c = a + b
print(c)
輸出結果:
[1, 2, 3, 4, 5]
5.字串插值
name = "xiaoming"
# 1.
print("hello %s" %name)
print("="*20)
# 2.
print("my name is {}".format(name))
print("="*20)
# 3.只能在3.6之後的版本中執行
print(f"hello ")
輸出結果為:
hello xiaoming
********************
my name is xiaoming
********************
hello xiaoming
6.使用reverse函式反轉乙個列表
alist = [i for i in range(10)]
print(alist)
print("="*30)
alist.reverse()
print(alist)
輸出結果為:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
******************************
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
reverse的另一種用法,在sort()函式中使用。
li = [7,2,5,4,1]
li.sort(reverse=true)
print(li)
輸出結果為:
[7, 5, 4, 2, 1]
7.字串乘法與列表乘法
a = "world"
print(a*3)
print("="*20)
b = [1, 2, 3]
print(b*3)
輸出結果為:
worldworldworld
********************
[1, 2, 3, 1, 2, 3, 1, 2, 3]
8.賦值,淺拷貝與深拷貝
直接賦值操作:a怎麼變,b就怎麼變(結婚了,組成乙個家庭?)
淺拷貝:m內可變元素改變,n內可變元素隨之改變,但是n不隨m而改變(離婚了但是有孩子?)
深拷貝:隨便x怎麼改變,y也不改變,x和y沒有關係(離婚了沒孩子,各過各的?)。
import copy
# 直接賦值
a = [1, 2, [3, 4, 5]]
b = a
a[2][0] = 9
print(b)
print("="*20)
# 淺拷貝
m = [1, 2, [3, 4, 5]]
n = m.copy()
m[2][0] = 9
print(n)
print("="*20)
# 深拷貝
x = [1, 2, [3, 4, 5]]
y = copy.deepcopy(x)
x[2][0] = 9
print(y)
輸出結果為:
[1, 2, [9, 4, 5], 6]
********************
[1, 2, [9, 4, 5]]
********************
[1, 2, [3, 4, 5]]
9.func和func()
def func():
print("hello world!")
print(func)
print("="*20)
func()
輸出結果為:
********************
hello world!
func是表示物件的函式,它可以被分配給變數或傳遞給另乙個函式。
func()是直接呼叫該函式並返回其輸出值。
Python 一些面試題
1.寫出以下結果 print 1 2 and 2 2 print 1 2 and 2 1 print 1 2 and 2 2 結果 true false false 解 18.xrange和range的區別?答案 這個題的環境應該放在python2.x中,因為python3中將xrange和rang...
一些面試題
q 您在什麼情況下會用到虛方法?它與介面有什麼不同?a 當在繼承類中想重寫某一方法時會用到虛方法 虛方法是類的成員函式,介面相當於抽象類.q override與過載有什麼區別?a override 就是覆蓋的意思,覆蓋父類的同名方法,而過載則是通過參數列來呼叫方法.q 值型別與引用型別有什麼區別?a...
一些面試題
1.如何檢視埠8080的程序 netstat anp grep 8080 lsof i 8080 2.在 tmp目錄下建立test.txt檔案,內容為 hello,world 用乙個命令寫出來。echo hello,world tmp test.txt 3.敘述下列服務的預設埠號。ftp 20,21...