1.集合
集合是乙個無序的,不重複的資料組合,它的主要作用:
去重&&關係測試
list_1=set([1,3,5,7,9,4,6,])2.檔案操作list_2=set([2,4,5,6,8,10])
(list_1.union(list_2))
(list_1.difference(list_2) )
(list_1.issubset(list_2))
(list_1.issuperset(list_2))
(list_1.symmetric_difference(list_2))
print('
運算子操作')
print(list_1 |list_2)
print(list_1 &list_2)
print(list_1 -list_2)
print(list_1 ^list_2)
print('
增刪改查')
list_1.add(999)
list_1.update([11,12,13])
list_1.discard(11)
list_1.remove(12)
print(list_1)
基本操作
開啟檔案的模式有:
"+" 表示可以同時讀寫某個檔案
"u"表示在讀取時,可以將 \r \n \r\n自動轉換成 \n (與 r 或 r+ 模式同使用)
"b"表示處理二進位制檔案(如:ftp傳送上傳iso映象檔案,linux可忽略,windows處理二進位制檔案時需標註)
#3.字元編碼與轉碼為了避免開啟檔案後忘記關閉,可以通過管理上下文,即:
with open(
'log
','r
') as f:
#如此方式,當with**塊執行完畢時,內部會自動關閉並釋放檔案資源。
#在python 2.7 後,with又支援同時對多個檔案的上下文進行管理,即:
with open(
'log1
') as obj1, open('
log2
') as obj2:
pass
#author alleyyu
fp = open('
characterlist.txt
','r+
',encoding='
utf-8')
raw_info=fp.read()
#print(raw_info)
#fp.write('this is the newinfo from python')##
for line in fp:
#print(line)
for index, line in
enumerate(fp.readlines()):
if index==3:
print('
it is line 3 here')
continue
(line)
#import sys ,time##
for i in range(20):
#sys.stdout.write('#')
#sys.stdout.flush()
#time.sleep(0.1)
fp.close()
4.函式
函式是指將一組語句的集合通過乙個名字(函式名)封裝起來,要想執行這個函式,只需呼叫其函式名即可
特性:
減少重複**
使程式變的可擴充套件
使程式變得易維護
形參&實參
形參變數只有在被呼叫時才分配記憶體單元,在呼叫結束時,即刻釋放所分配的記憶體單元。因此,形參只在函式內部有效。函式呼叫結束返回主呼叫函式後則不能再使用該形參變數
實參可以是常量、變數、表示式、函式等,無論實參是何種型別的量,在進行函式呼叫時,它們都必須有確定的值,以便把這些值傳送給形參。因此應預先用賦值,輸入等辦法使引數獲得確定值
位置引數,關鍵字引數,不固定引數,預設引數
#區域性變數與全域性變數author alleyyu
#import sys,time
##print(sys.getdefaultencoding() )##
##def func():##
# time_format='%y-%m-%d %x'
## time_current=time.strptime(time_format)
#with open('characterlist.txt','a+') as f:
#f.write(' end as \n')##
#def test1():##
print ('this is test1')
#func()##
def test2():##
print('this is test2')
#func()
#return 0##
#def test3():
#print('this is test3')
#func()
#return 1, 'hello',[5,7,9]##
def test4(x,y,*args,**kargs):##
print(x,y,args,kargs)##
test1()
## test2()
## test3()
#test4(1,2,h=13,z=15)
#test4(1,2,5,h=13,z=15,j='help')
#test4(1,2,h=13,z=15,j='help')
在子程式中定義的變數稱為區域性變數,在程式的一開始定義的變數稱為全域性變數。
全域性變數作用域是整個程式,區域性變數作用域是定義該變數的子程式。
當全域性變數與區域性變數同名時:
在定義區域性變數的子程式內,區域性變數起作用;在其它地方全域性變數起作用。
name='遞迴特性:alley
'school='
bupt
'def
test5():
name='
tongtong
'school='
kingdgarden
'print ('
func content
', name ,school)
print ('
global info
', name , school)
test5()
1. 必須有乙個明確的結束條件
2. 每次進入更深一層遞迴時,問題規模相比上次遞迴都應有所減少
3. 遞迴效率不高,遞迴層次過多會導致棧溢位(在計算機中,函式呼叫是通過棧(stack)這種資料結構實現的,每當進入乙個函式呼叫,棧就會加一層棧幀,每當函式返回,棧就會減一層棧幀。由於棧的大小不是無限的,所以,遞迴呼叫的次數過多,會導致棧溢位)
#高階函式author alleyyu
defcacu(n):
(n)
if(int(n/2)>0):
cacu(n/2)
(n)def
cacu2(n):
print('
2:;;;;
',n)
if(int(n/2)>0):
return(cacu(n/2))
print('
2:;;;;;
',n)
cacu(10)
cacu2(10)
變數可以指向函式,函式的引數能接收變數,那麼乙個函式就可以接收另乙個函式作為引數,這種函式就稱之為高階函式。
123內建函式456def
add(x,y,f):
return f(x) +f(y)
res = add(3,-6,abs)
print(res)
Python學習筆記DAY3 函式
關於函式,程式設計 少的了函式,python裡的函式呢,使用def 來定義,如下例子 def fun print 這是乙個函式 用def來定義,下面縮排的為函式體,呼叫的話直接呼叫函式名來實現。提到函式自然會想到引數,python裡的引數很靈活,很神奇。首先,引數是乙個變數,所以呢,元組自然是不能用...
Python基礎學習筆記 Day 3
程式有三種基本結構組成 1.順序結構 2.分支結構 3.迴圈結構 if 條件 語句 判斷使用者輸入數字的奇偶性 s eval input 請輸入乙個整數 if s 2 0 print 這是乙個偶數!print 您輸入的數是 s 判斷使用者輸入的數字的特性 s eval input 請輸入乙個整數 i...
Python小白學習筆記 day3
第三章 python基本資料型別 學習筆記 浮點數與整數,python浮點數運算存在 不確定尾數 問題,即兩個浮點數運算,有一定概率在運算結果後增加一些 不確定的 尾數。受限於計算機表示浮點數使用的儲存寬度,各程式語言共性問題,以前還真沒太在意 round x,d 為四捨五入函式,d為對x進行四捨五...