Python學習筆記(七)

2022-07-19 02:42:09 字數 2559 閱讀 3780

深淺拷貝

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 ...