二、函数
2.1、重新认识函数
Python 中所谓的使用函数,就是把你要处理的对象放到一个名字后面的括号里。简单来说,函数就是这么使用的,往里面塞东西就可以得到处理结果。
- Python 的 内建函数(Built-in Functions)
以 Python 3.60 版本为例,一共存在 68 个这样的函数,它们被统称为 内建函数(Built-in Functions)。
之所以被称为内建函数,并不是因为还有“外建函数”这个概念,“内建”的意思是在 Python 3.60 版本安装完成后,你无须创建就可以直接使用这些函数,即 表示这些函数是“自带”的而已。
Python 3.60 的 68个 内建函数(Built-in Functions):
| | Built-in Functions | | |
| ||||
|
2.2、创建函数
- Python 创建函数的格式如下:
★
def(即 define ,定义)的含义是创建函数,也就是定义一个函数。
:)必不可少。
「缩进」后面的语句被称作 语句块(block),缩进是为了表明语句和逻辑的从属关系,是 Python 最显著的特征之一。(大部分语言会用大括号 { } 来表明这样从属关系)
return即返回结果。 在 Python 中 return 是可选的,如果没有 return 即函数的返回值为 ‘None’。
☆ 注意:
def 和 return
return 是可选的(optional),这意味着你在创建函数时不写 return
调用”(call)。即 调用函数
# 例子,温度的单位有 摄氏度 和 华氏度 ,已知 摄氏度 与 华氏度 的转化公式为:F = 9/5*C+32 。
# 现在我们创建一个能实现 摄氏度 转化为 华氏度 的函数,并调用该函数实现转化:
def temp_converter(c) :
return
c_in = input('请输入摄氏温度:')
c_in = int(c_in)
f = temp_converter(c_in)
print('华氏温度为:' + f)
2.3、传递参数与参数类型
- 位置参数 与 关键词参数
位置参数 (positional argument) 与 关键词参数 (keyword argument)。
位置参数
关键词参数
# 例子,我们已知 梯形面积的计算公式为:S = (a+b)*h/2
# 创建一个函数,计算梯形面积:
def tra_area(a,b,h) :
return
#-成功,输出:4.5
#-失败!原因:「位置参数」不能在「关键词参数」之后出现!
# -失败!原因:「位置参数」不能在「关键词参数」之后出现!
#-成功,输出:4.5
#-失败!原因:同一个参数不能被重复赋值!
☆ 注意:
①「关键词参数」可以不考虑位置顺序。
②「位置参数」不能在「关键词参数」之后出现!
③ 同一个参数不能被重复赋值!
# 我们现在给一组变量赋值,然后再调用函数,大家来看结果会有什么变化:
a = 1
b = 2
h = 3
#输出:2.5
#输出:4.5
☆ 注意:
在 创建函数 时 设定的参数是「形参」,在 调用函数 时 填入的参数是「实参」,大家要搞清楚这两个概念。
- 默 认 参 数
默认参数 就是 函数中某个有默认值的参数。调用函数时就算不给予填入参数,该函数仍然能照常运行。
参数的默认值可以被更改,即 默认参数可以被重新赋值。
给一个参数设定默认值(创建默认参数)非常简单,我们只需要在定义参数的时候给参数赋值即可。如下:
def tra_area(a,b, h=3) :
return
#输出:4.5
6)) #给默认参数重新赋值 6,输出:9.0
h=6)) #给默认参数重新赋值 6,输出:9.0
☆ print()函数的默认参数 sep(用于设定多个打印结果之间的分隔符号)的默认值为‘ ’空格,但是我们可以将其重新设定为‘/n’ 即 换行 。也就是说将每个打印结果以换行符号进行分割。如下:
print(' *',' ***','*****',' |',sep='\n')
'''''''''''''''''''''''''''''''''''
以上代码输出:
*
***
*****
|
'''''''''''''''''''''''''''''''''''
2.4、设计自己的函数
*
# 创建 file_create() 函数,作用:创建文件(尤其是.py文件)
# 该函数共有4个参数:
#namn -文件名
#content -文件内容
#extension -文件扩展名,即 后缀
#path -文件坐在的目录路径
def file_create(name,content,extension='py',path='E:/PY_Test/New/'):
full_path = path + name + '.' + extension
file = open(full_path,'w')
file.write(content)
file.close()
print('文件 ' + name + '.' + extension + ' 已被创建在 ' + path + ' 中。')
# 调用函数
# 创建 word_filter() 函数,作用:单词过滤器
# 该函数共有3个参数:
#content -内容
#target_word -要被过滤的单词
#new_word - 替换的单词
# 执行成功 返回 被过滤后的内容(str类型)。
def word_filter(content,target_word='lame',new_word='Awesome'):
return
# 调用函数
print(new_content)
# 输出:Python is Awesome! is very Awesome!! is very very Awesome!!!