09_Python函数

一、定义函数

函数:把功能封装起来
执行顺序:逐行扫描代码
如果不主动调用函数,函数不会执行
变量在本质上就是一个占位符。变量可以用x,也可以用别的符号,比如y,z,k,i,j…,甚至用alpha,beta这样的字母组合也可以。
1、空函数
定义一个什么事也不做的空函数,可以用 pass 语句;
pass 可以用来作为占位符,还没想好怎么写函数的代码,就可以先放一个 pass ,让代码能运行起来
2、函数返回值
所谓“返回值”,就是程序中函数完成一件事情后,最后给调用者的结果.
没有返回值,默认返回None
3、定义函数的格式

def 函数名(参数1,参数2,...,参数n):

    函数体(语句块)

(1)函数名的命名规则要符合python中的命名要求。一般用小写字母和单下划线、数字等组合
匈牙利命名法(sUserName), 驼峰式大小写(userName), 帕斯卡命名法(UserName)
(2)def是定义函数的关键词,这个简写来自英文单词define
(3)函数名后面是圆括号,括号里面,可以有参数列表,也可以没有参数
(4)千万不要忘记了括号后面的冒号
(5)函数体(语句块),相对于def缩进,按照python习惯,缩进四个空格

##定义函数
def say_hello():
    print('hello1')
    print('hello2')

##函数的调用

say_hello()



def sum_2_sum():
    num1 = 10
    num2 = 20
    result = num1 + num2
    print('%d + %d = %d' % (num1, num2, result))

sum_2_sum()


在这里插入图片描述
4、函数的优势
从理论上说,不用函数,也能够编程,我们在前面已经写了程序,就没有写函数,当然,用python的内建函数姑且不算了。现在之所以使用函数,主要是:

  1. 降低编程的难度(分而治之的思想)
  2. 代码重用。避免了重复劳动,提供了工作效率。

二、参数

1、局部变量
局部变量,就是在函数内部定义的变量
不同的函数,可以定义相同的名字的局部变量,但是各用个的不会产生影响
局部变量的作用,为了临时保存数据需要在函数中定义变量来进行存储,这就是它的作用

2、全局变量
如果一个变量,既能在一个函数中使用,也能在其他的函数中使用,这样的变量就是全局变量。
在函数外边定义的变量叫做全局变量
全局变量能够在所有的函数中进行访问
如果在函数中修改全局变量,那么就需要使用global进行声明,否则出错
如果全局变量的名字和局部变量的名字相同,那么使用的是局部变量的
小技巧: 强龙不压地头蛇(就近原则)
3、形参与实参
定义时小括号中的参数,用来接收参数用的,称为 “形参”
调用时小括号中的参数,用来传递给函数用的,称为 “实参”

1)位置参数:形参和实参个数必须保持一致

def getInfo(name,age):  ##按照位置传参
    print(name,age)
 
getInfo('westos',11)
getInfo(11,'westos')
getInfo(age=11,name='westos')

在这里插入图片描述
2)默认参数:形参和实参个数可以不一致

def mypow(x,y=2):
    print(x ** y)
 
mypow(4)   #没有传参时,用默认的参数
mypow(2,3)
mypow(2,5)

在这里插入图片描述

3)可变参数:可以接受多个参数

def mysum(*a):   
    sum  = 0
    for item in a:
        sum += item
    print(sum)
 
mysum(1,2,3,4,5,6)

在这里插入图片描述
4)关键子参数

def getStuInfo(name,age,**kwargs):
    """
    **kwargs是一个字典,可以传递任意多的key-value
    :param name:
    :param age:
    :param kwargs:
    :return:
    """
    print(name,age)
    print(kwargs)
 
getStuInfo('westos','19',hobbies=['coding','devops'],gender='female',eat='apple')

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值