1.函式操縱
a.函式定義
b.引數的定義 定參與不定參以及函式過載
c.引數預設值
d.傳遞引用和引用外部變數
e.修改全域性變數
f.lambda寫法 和 函式傳遞
g.函式內定義函式
2.物件操縱
1)物件定義
a.建構函式和析構函式
b.定義成員變數和成員方法
c.定義私有成員和公有成員
d.類的靜態方法
2)繼承於多型
a.繼承方法
b.訪問規則
c.覆寫父類方法
def 函式名(引數列表):
函式體#函式定義
deffirstfunc
(): print("\n\nhello,myfirstfunc!")
#函式呼叫
firstfunc()
#1. 定參
defsecondfunc
(arg1,arg2):
#do something
#2. 不定參 函式過載
defsecondfunc
(arg1,arg2,*arg3):
print("\n\nsecondfunc(arg1,arg2,*arg3):")
print(arg1)
print(arg2)
print(arg3)
secondfunc(none,"python","test","func")
# 輸出
# secondfunc(arg1,arg2,*arg3):
# none
# python
# ('test', )
#3.預設值
defthreefunc
(arg1,arg2 = "default"):
#do something
#4.傳遞引用和直接訪問全域性變數
val = "python"
deffourfunc
(arg_list,arg_dirc):
print("\n\nfourfunc(arg_list,arg_dirc):")
print(arg_list) # list是個引用
print(arg_dirc) # dirc是個引用
print(val) #直接訪問全域性變數 //唯讀不寫 寫請往下看
key = "change_key"
if key in arg_dirc:
arg_dirc[key] = "fourfunc(arg_list,arg_dirc):"
return
"test"
#5 修改全域性變數
deffivefunc
(): print("\n\ndef fivefunc():")
global val #如果需要修改全域性變數則需要新增global標示字,如果只是訪問全域性變數直接直接引用
print(val)
val = "fefefe"
print(val)
#除了global識別符號,還有nonlocl
#6 lambda 和 函式傳遞
#lambda 寫法:lambda [arg1 [,arg2,.....argn]]:expression
defsixfunc
(callback):
print("\n\ndef sixfunc(callback):")
callback("@def sixfunc(callback):")
#lambda寫法 這裡的 or 是用來連線多行lambda表示式的
func1 = lambda arg:print("lambda arg:") or print(arg)
sixfunc(func1)
#輸出#def sixfunc(callback):
#lambda arg:
#@def sixfunc(callback):
# 函式寫法
defargfunc
(arg):
print("def argfunc(arg):")
print(arg)
func2 = argfunc
sixfunc(func2)
#輸出#def sixfunc(callback):
#def argfunc(arg):
#@def sixfunc(callback):
def
getfunc
(): print("execute getfunc()")
# 在方法體內定義乙個函式,並且返回
deftestfunc
(): print("execute testfunc()")
# do something
return testfunc
back_func = getfunc()
back_func()
#輸出#execute getfunc()
#execute testfunc()
a.建構函式和析構函式
b.定義成員變數和成員方法
c.定義私有成員和公有成員
d.類的靜態方法
# 所有帶雙下劃線的函式,變數都是私有的
# 所有的物件方法第乙個變數必定是自己,也必須是自己,但可以自己命名,例如 self,this...
class
helloclass:
val = ""
#public 成員變數
__val2 = ""
#private 成員變數
# 建構函式
def__init__
(self,val):
self.val = "hello,class" + str(val)
# 析構函式
def__del__
(self):
print(self.val,"__del__")
# 自定義函式
# public
defprint
(self,arg):
print("\n")
print(self.val)
print(arg)
self.__print()
# private 所有加雙下劃線的都是private型別
def__print
(self):
print("private function")
# public static
@staticmethod
defprinthelloclass
(): print("printhelloclass helloclass")
helloclass.printhelloclass()
# 輸出
# printhelloclass helloclass
x1 = helloclass(none)
x1.print("__x1.hello")
del x1 #刪除物件
# 輸出
# hello,classnone
# __x1.hello
# private function
# hello,classnone __del__
x2 = helloclass("x2")
x2.print("__x2.hello")
del x2
# 輸出
# hello,classx2
# __x2.hello
# private function
# hello,classx2 __del__
a.繼承方法
b.訪問規則
c.覆寫父類方法
class
bassclass:
val = ""
def__init__
(self,val):
self.val = "bassclass" + str(val)
defprint
(): print("\nbassclass")
# 繼承方法 childclass(bassclass1,bassclass2,...)
# 支援多繼承 繼承訪問規則是從左往右找 即 先從當前物件裡面找,找不到就去第乙個父類裡面找,以此類推
class
childclass
(bassclass):
def__init__
(self,val):
bassclass.__init__(self,val) #按照繼承順序初始化父類
self.val = "childclass" + str(val)
# override
defprint
(self):
print("\nchildclass" + " " + str(self.val))
obj = childclass("obj")
obj.print()
#輸出#childclass childclassobj
Python學習筆記 1 1 2 認識Python
一.課程目標 二.詳情解讀 1.初識pythonpython語言是一種高階程式語言,它於1991年由吉多.範羅蘇姆 guido van rossum 發明。目前主要應用於web開發 gui開發 網路爬蟲 資料科學 人工智慧等領域。python官方 python語言也是一種多正規化程式語言,即物件導向...
python學習方法 十二種學習Python的方法
python學習方法 python是地球上最流行的程式語言之一。它被世界各地的開發商和製造商所接受。大多數linux和macos計算機都預裝了python版本,現在,即使是少數windows計算機 商也正在安裝python。也許您參加聚會遲到了,您想學習但不知道該去 這12個資源將幫助您入門,並逐步...
pytho學習旅途
轉換當前格式日期 dt datetime.datetime.strptime dtstr,y m d print dt 切片獲取年份 輸入一行字元,分別統計其中英文本母,空格,數,和其他字元數 import string s ww m 23 4j 初始化個數 列印楊輝三角的前十行 triange 1...