5-函式與物件的方法

小鹹魚er發表於2020-12-21

1、函式

函式就是封裝一段程式碼,在需要的時候呼叫
① 函式定義的格式:

def 函式名():
    函式體

② 呼叫函式的格式:函式名()

③ 函式的形式引數、實際引數

def sumDate(a,b):         
      return a+b
print(sumDate(12,13))  
#  a,b為形參;  12,13為實參

④ 函式的預設值,即預設值

  • 當使用者沒有輸入值時,以預設值作為值
  • 當使用者輸入值時,以輸入值作為值

預設值的三種寫法:

  • 完整
def sumDate(a=1,b=2):         
    return a+b
print(sumDate(a=3,b=4)) 
  • 簡略
def sumDate(a=1,b=2):         
    return a+b
print(sumDate(3,4)) 
  • 先簡略,後完整
def sumDate(a=1,b=2):         
    return a+b
print(sumDate(3,b=4)) 

注:先完整,後簡略(這種方式會報錯)

def sumDate(a=1,b=2):         
     return a+b
print(sumDate(a=3,4))  

⑤ 其他

  • 函式如果有多個return,只執行第一個,後面為不可達語句
def sumDate(a,b):         
    return a+b
    return a-b
print(sumDate(3,4))  

執行結果:
在這裡插入圖片描述

  • 函式return 能返回多個值,有多個返回值時,以元組方式返回
def sumDate(a,b):         
    return a+b, a-b
print(sumDate(3,4))  

執行結果:
在這裡插入圖片描述

  • 如果函式沒有返回值,則返回None
def sumDate():         
    sumDate='和'
print(sumDate())

執行結果:
在這裡插入圖片描述

  • 如果呼叫函式未加括號,則會列印物件本身
def sumDate():         
    sumDate='和'
print(sumDate)

執行結果:
在這裡插入圖片描述
⑥ 可變長度引數: * args
允許輸入無限個引數,返回是元組型別

def sumDate(a,*args):          
      return a,*args
print(sumDate(12,13,14,15))  #12賦值給a;13,14,15賦值給*args

執行結果:
在這裡插入圖片描述

⑦ 關鍵字引數: ** kwargs
允許輸入無限個引數,必須是賦值的形式,返回是字典型別

def sumDate(a,**kwargs):
    return a,kwargs
print(sumDate(1,b=2,c='three',d='@'))

執行結果:
在這裡插入圖片描述

2、物件的方法

物件方法就是隸屬於該物件的函式

find() 方法

  • 返回匹配字元的索引
  • 找不到時返回-1
  • 查詢連續的多個字元,只返回第一個字元的索引
str1 = 'abcdefg'
print(str1.find('c'))
print(str1.find('ba'))
print(str1.find('bcd'))

在這裡插入圖片描述

index()方法

  • 與find方法類似,區別是找不到時報錯

strip() 方法

  • 去掉前後指定符號
str1 = '     my name is Marry    '
str2 = '//my name is Marry//'
print(str1.strip(' '))
print(str2.strip('/'))

執行結果:
在這裡插入圖片描述

replace(引數1,引數2) 方法

  • 更換所有指定字元
str1 = ' M  a r  ry'
str2 = '/@Jack@/'
print(str1.replace(' ',''))  #將空格替換成空,即去掉空格
print(str2.replace('/','|').replace('@','|'))  #將/替換成|後,繼續將@替換成|

執行結果:
在這裡插入圖片描述

startswith()方法

  • 判斷字串是否以某個或某些字元開頭,返回值為True或False
str1 = 'my name is Marry'
print(str1.startswith('m'))
print(str1.startswith('my'))
print(str1.startswith('my name'))
print(str1.startswith('Marry')) 

執行結果:
在這裡插入圖片描述
endswith()方法

  • 判斷字串是否以某個或某些字元結尾,返回值為True或False
    (用法與statswith()類似,不再演示)

split() 方法

  • 以某字元或字串作為切割符,將字串切成多個值
  • 切割形成一個新列表,列表不包含切割符
  • 新列表與原字元無關
str1 = 'my@name@is@Marry'
print(str1.split('@'))

執行結果:
在這裡插入圖片描述
isdigit()方法

  • 判斷字串裡面是否是純數字
str1 = '1230'
str2 = '123a'
print(str1.isdigit())
print(str2.isdigit())

執行結果:
在這裡插入圖片描述

isalpha()方法

  • 判斷字串裡面是否是純字母
str1 = 'abcDEF'
str2 = '123a'
print(str1.isalpha())
print(str2.isalpha())

執行結果:
在這裡插入圖片描述

相關文章