函数基础

函数也叫做方法,是实现特定功能的一坨代码。
可以把这坨代码封装成一个函数,然后去调用就可以了,这样可以提高代码的复用性。
函数必须调用才会执行。

定义函数

import json

def get_file_content(filename):
	"""
	这里是 docstring,函数的说明文档
	:param filename:文件名(参数的说明)
	:return:返回文件内容(返回值的说明)
	"""
	with open(filename, encoding='utf-8') as f:
		res = json.load(f)  # 转成字典
		return res  # 返回值

定义函数时,要注意的地方:

  • 以关键字 def 开头
  • 参数放在圆括号里
  • 可以选择性的使用 docstring 存放函数说明
  • 使用 return 结束函数,默认返回 None
return语句

一旦函数执行过程遇到return语句,那么之后函数体内的所有代码都会被忽略,直接跳出函数体。

return 可以返回什么?

  • 什么都不返回,只 return: return
  • 数字/字符串/任意类型:return 'hello'
  • 表达式:return 1+2
  • 判断语句:return 1>2
  • 变量:return a
  • 函数: return function()
  • 返回自己: return self
  • 返回多个值:return 1+2, a, 'hello'

调用函数

  • 要调用一个函数,必须使用函数名后跟圆括号的方式才能调用函数
  • 提供相应个数和类型的参数,每个参数之间用逗号分隔
get_file_content('product.json')

上面这段代码中:
在定义函数的时候,filename 是个形参。
在调用函数的时候,传的参数是个实参,把 product.json 传给了形参 filename。

如何接受函数的返回值?
  • 在调用函数时,可以将函数的返回值保存在变量中,如 a=get_file_content('product.json')
  • 如果返回多个值,那么使用对应数量的变量进行接受,如age, name = get_age_name()

局部变量:在函数里面定义的变量,就是局部变量。 局部变量只能在函数里面使用,在函数外不能使用。

一个函数只做一件事情,一个函数不要写太长。

def write_file(filename, content):
    with open(filename, 'w', encoding='utf-8') as f:
        json.dump(content, f, indent=4, ensure_ascii=False) # content 写进 f
        #f.wrtie(json.dumps(content))


d = {'name':'test', 'sex':'nan'}
write_file('test.json', d) #将字典 d 的内容写进 test.json 文件
posted @ 2018-09-23 15:05  biubiubiu83  Views(97)  Comments(0Edit  收藏  举报