1. 程式人生 > 程式設計 >Python定義一個函式的方法

Python定義一個函式的方法

Python函式的定義

定義函式,也就是建立一個函式,可以理解為建立一個具有某些用途的工具。定義函式需要用 def 關鍵字實現,具體的語法格式如下:

def 函式名(形參列表):
  //由零條到多條可執行語句組成的程式碼塊
  [return [返回值]]

其中,用 [] 括起來的為可選擇部分,即可以使用,也可以省略。

此格式中,各部分引數的含義如下:

函式名:從語法角度來看,函式名只要是一個合法的識別符號即可;從程式的可讀性角度來看,函式名應該由一個或多個有意義的單詞連綴而成,每個單詞的字母全部小寫,單詞與單詞之間使用下畫線分隔。

形參列表:用於定義該函式可以接收的引數。形參列表由多個形參名組成,多個形參名之間以英文逗號(,)隔開。一旦在定義函式時指定了形參列表,呼叫該函式時就必須傳入相應的引數值,也就是說,誰呼叫函式誰負責為形參賦值。

注意,在建立函式時,即使函式不需要引數,也必須保留一對空的“()”,否則 Python 直譯器將提示“invaild syntax”錯誤。另外,如果想定義一個沒有任何功能的空函式,可以使用 pass 語句作為佔位符。

下面程式定義了兩個函式:

def my_max(x,y) :
  # 定義一個變數z,該變數等於x、y中較大的值
  z = x if x > y else y
  # 返回變數z的值
  return z
# 定義一個函式,宣告一個形參
def say_hi(name) :
  print("===正在執行say_hi()函式===")
  return name + ",您好!"

例項擴充套件:

操作資料庫的函式。傳參沒有按順序,採用了port = '3306'這種方式,很適合多引數的函式。

def op_mysql(host,port,username,password,db,sql):
  print('連線資料庫:%s,host:%s,埠為:%s'%(db,host,port))
  print("%s where username='%s and pwd = '%s'"%(sql,password))

op_mysql(sql='select * from user',host='192.158.11.1',username='sdfdsfs',password='sdf123',db='test_data',port='3306'
     )

例:寫一個函式,實現檔案讀寫的功能。

# 操作檔案的函式,如果傳內容引數,則將對應內容寫入檔案。沒有傳內容,就讀取檔案原來的內容。
def op_file(file_name,content=None):
  f = open(file_name,'a+',encoding='utf-8')
  f.seek(0)
  if content:#不為空代表寫
    f.write(content)
    f.flush()
  else:
    res = f.read()
    return res
  f.close()

# 不傳content,讀檔案
stu_info = op_file('username')
print(stu_info)
# 傳content,將content寫入檔案
infos = 'xiaohei,123456,beijing,188888888888'
op_file('new_info',infos)

到此這篇關於Python定義一個函式的方法的文章就介紹到這了,更多相關Python如何定義一個函式內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!