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,username,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)