美文网首页
python中的函数

python中的函数

作者: 伟大的洪立 | 来源:发表于2017-11-20 16:43 被阅读0次

函数是什么

表示的就是显示生活中的行为
函数当定义的的时候不会立即执行
而是调用函数的时候, 函数才会执行。

函数的意义

  1. 函数表示的就是一种行为操作,就是封装了一段代码,如果我们需要使用这段代码就可以通过函数名称直接调用函数,来执行封装的代码。
  2. 降低了代码的重复量,提高了代码的重复使用性能。
  3. 函数的定义: 封装了一段代码的代码块,可以通过名称调用这段代码块。
  • 函数语法
    def 函数名称([参数]):
    函数中要执行的代码
    【return 返回值】

  • 函数的返回值

  1. 不需要参数, 不需要返回值的参数
 # 关窗户的函数: 不需要参数, 不需要返回值
def closeWindow():
          print("关窗户")
  1. 需要参数, 不需要返回值的函数
# 买气球的函数: 需要参数, 但不需要返回值
def buyBubble(money):
      print("买了%s块钱的气球" %money)
  1. 不需要参数, 需要返回值的函数[return 返回结果]
# 去快递的函数:不需要参数, 需要返回值的函数
def getBox():
        print("开始过去去快递")
        return  "拿到快递"
  1. 需要参数, 需要返回值的参数
# 货到付款取快递
def getBoxes(money):
        print("开始过去去快递, 付款%s" % money)
        return "获取到的快递"
  • 函数的调用
  1. 调用没有参数没有返回值的函数
closeWindows()

2.调用有参数没有返回值的函数

buyBubble(50)
  1. 调用没有参数,但是有返回值的函数,返回值要在函数执行完赋值给变量。
box = getBox()
print(">>>%s" % box)
  1. 调用有参数有返回值的函数
boxes = getBoxes(100)
print(">>>>>%s" % boxes)
  • 函数调用的流程图

    image.png
    声明函数的时候,我们需要分析函数是否需要某些资源才能正常执行,否则会出现错误;
  • 形式参数
    就是形式上/名义上需要的这个资源才能执行,这个参数简称 形参

  • 实际参数
    调用函数,发现函数需要提供资源数据才能执行, 此时调用函数时就需要传递一个具体的数据。实际存在的具体数据
    这个具体的数据,简称 实参

  • 变量
    程序中临时存储数据的容器[程序运行过程中,可以存储数据,一旦程序停止运行, 程序中的变量中的数据就会丢失]

  • 全局变量
    声明在函数外部的变量,在任何地方都可以使用访问
    函数中可以直接访问全局变量,但不能直接全局变量就行修改。
    可以使用global关键字,将全局变量分配到函数中进行使用。

  • 局部变量
    声明在函数内部的变量, 在函数内部可以访问。
    通常情况在函数中用于临时存储数据,用于惊醒数据运算。当函数执行完成,这个变量就可以丢弃了。

函数参数默认值

正常情况下,函数中定义了需要几个参数,在调用的时候,就必须传递几个数据。

我们可以给函数的参数设置默认值,如果这个参数没有被传递,就可以是用默认值

def test(arg1, arg2="帅帅"):
                print("打印函数接受的数据: %s, %s " %(arg1, arg2))


test("zhuzhu", "hahah")
test("zhuzhu")

结果是: 
“zhuzhu”, "hahah"
"zhuzhu", "帅帅"
传递数据是以传递的数据为主
不传递时以默认值为主

注意: 没有默认值参数,不能跟在有默认值参数的后面。

函数的可变参数

  • 基本语法
    参数前面加个*。 表示这个变量可以接受0-多个数据。
    可变参数接收到的数据,封装在一个元组中,可以通过下标获取数据
    同时传固定参数和可变参数: 固定参数在前,可变参数在后。
def test(*info):
        print("函数接受到的参数数据" )
        print(info)
        print("~~~~~~~~~~~~~~~~~~~")

test() # 没有参数
test("hello")  # 有两个参数
test("hello", "python") # 有两个参数
test("jerry", 48, "tom and jerry") # 传递不同的参数
image.png

关键字参数(高级的可变参数)

需要在传递数据的时候,给每个参数添加一个变量名称。
可变参数,在参数的前面添加:**

关键字参数,同样也是可变参数,必须放在参数列表的最后
和普通的可变参数不同的是:关键字参数,传递数据时必须添加K=V的形式
接收到的数据,会封装成字典在函数中使用。

def test(**msg):
        print("接受到的数据: ")
        print(msg)
test(name = "jerry")
test(name = "jerry", age= 48)
test(name = "tom", age= 50, sex="man")
image.png

函数中的万能参数

可以接受任何数据当成参数

def test2(*args, **keys):
        print("这个函数,可以接受任何参数")
        print(args, keys)
test2()
test2("tom", "jerry")
test2(name= "tom", name1="jerry")
test2(48, name="shuke")
image.png

返回值操作

  • 这是数据一致的情况下。
# 定义一个计算缩放的函数 矩形
def zoom(width, height, scale):
  w = width * scale
  h = height * scale
  return [w, h]
  
squ = [10, 20]
s = zoom(squ[0], squ[1], 0.5) 
print(s)
image.png
  • 如果数据不一致
    可以同时返回多个结果
def zoom(width, height, scale):
        w = width * scale
        h = height * scale
        return w, h
  
squ = [10, 20]
s = zoom(squ[0], squ[1], 0.5) 
# x, y =  zoom(squ[0], squ[1], 0.5)  也可以用两个数据接受。
print("计算结果: %s, %s" %(x, y))

相关文章

网友评论

      本文标题:python中的函数

      本文链接:https://www.haomeiwen.com/subject/xhsvvxtx.html