深淺拷貝
set-集合
函式
a = [[1,2],3,4]
b = a.copy()
print(b) # 結果:[1,2],3,4
b[0][0] = 8
print(a) # 結果:[8,2],3,4
print(b) # 結果:[8,2],3,4
原理圖:
去重關係測試
# 定義語法
s = set
in ,not in
集合等價與不等價(==, !=)
子集()
s=set('alvinyuan')
s1=set('alvin')
print('v' in s)
print(s14 聯合(|)
聯合(union)操作與集合的or操作其實等價的,聯合符號有個等價的方法,union()。
s1=set('alvin')
s2=set('yuan')
s3=s1|s2
print(s3) #
print(s1.union(s2)) #
5、交集(&)
與集合and等價,交集符號的等價方法是intersection()
s1=set('alvin')
s2=set('yuan')
s3=s1&s2
print(s3) #
print(s1.intersection(s2)) #
6、差集(-)
等價方法是difference()
s1=set('alvin')
s2=set('yuan')
s3=s1-s2
print(s3) #
print(s1.difference(s2)) #
7、對稱差集(^)
對稱差分是集合的xor(『異或』),取得的元素屬於s1,s2但不同時屬於s1和s2.其等價方法
symmetric_difference()
s1=set('alvin')
s2=set('yuan')
s3=s1^s2
print(s3) #
print(s1.symmetric_difference(s2)) #
# 定義語法
def function():
print("this is a def!")
# 傳入無命名引數
def add(*args):
print(args)
sum = 0
for i in args:
sum += i
print(sum)
add(1,2,3,4,5,6)
# 傳入命名引數
def print_info(**kwargs):
for i in kwargs:
print('%s : %s' %(i,kwargs[i]))
print_info(name='han',age='22',job='student')
# 同時傳入命名和無命名引數
def print_info(*args,**kwargs):
…………
…………
print(1,2,3,name='han')
# 無命名引數必須在命名引數左邊(前面)
要想獲取函式的執行結果,就可以用return語句把結果返回
注意:函式在執行過程中只要遇到return語句,就會停止執行並返回結果,so 也可以理解為 return 語句代表著函式的結束
如果未在函式中指定return,那這個函式的返回值為none
return多個物件,直譯器會把這多個物件組裝成乙個元組作為乙個乙個整體結果輸出。
python中的作用域分4種情況:
l:local,區域性作用域,即函式中定義的變數;
e:enclosing,巢狀的父級函式的區域性作用域,即包含此函式的上級函式的區域性作用域,但不是全域性的;
g:globa,全域性變數,就是模組級別定義的變數;
b:built-in,系統固定模組裡面的變數,比如int, bytearray等。
**示例:
x = int(2.9) # int built-in
g_count = 0 # global
def outer():
o_count = 1 # enclosing
def inner():
i_count = 2 # local
print(o_count)
# print(i_count) 找不到
inner()
outer()
# print(o_count) #找不到
python學習筆記(七)
帶有 yield 關鍵字的的函式在 python 中被稱之為 generator 生成器 python 直譯器會將帶有 yield 關鍵字的函式視為乙個 generator 來處理。乙個函式或者子程式都只能 return 一次,但是乙個生成器能暫停執行並返回乙個中間的結果 這就是 yield 語句的...
Python學習筆記七
物件導向程式設計 物件導向的特性如下 類 具有相同屬性和方法的一類事物,成為類。物件 類的例項化後的結果,乙個類可以例項化多個物件,每個物件也可以不同的屬性。封裝 在類中對資料的賦值,類裡面包含著類的資料和方法。繼承 乙個類可以派生出子類,在父類定義的屬性方法自動被子類繼承。多型 乙個類可以有多個子...
Python 基礎學習筆記 七
python在設計上堅持了清晰劃一的風格,這使得python成為一門易讀 易維護,並且被大量使用者所歡迎的 用途廣泛的語言。接下來,記錄一些本人自主學習python的一些筆記 比較 相等性和真值 測試值得相等性 is 測試物件的一致性 a 1,1,2,3 b 1,1,2,3 print a b,a ...