python中的函数

2017-11-20  本文已影响0人  伟大的洪立

函数是什么

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

函数的意义

  1. 函数表示的就是一种行为操作,就是封装了一段代码,如果我们需要使用这段代码就可以通过函数名称直接调用函数,来执行封装的代码。
  2. 降低了代码的重复量,提高了代码的重复使用性能。
  3. 函数的定义: 封装了一段代码的代码块,可以通过名称调用这段代码块。
  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)

函数参数默认值

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

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

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


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

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

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

函数的可变参数

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))
上一篇下一篇

猜你喜欢

热点阅读