首页 > 编程语言 > 详细

python函数

时间:2019-10-11 18:29:24      阅读:75      评论:0      收藏:0      [点我收藏+]

(1)函数的特点:可以重复使用

(2)函数的规范

# 函数语法:def 关键字
# 函数名命名规范:小写字母分开,不能以数字开头,不同的字母之前用下划线隔开
# def 函数名(参数1,参数2,参数3...):
    # 函数体:要实现的功能

# 调用:函数名()

 

(3)常见的python内置函数:

# print ,input,len,range,int,float,str,list,dict,
# pop,append,insert,keys,split,replace,strip
# remove,clear
例如:
# 自定义函数
def boss(name = fox): # 默认参数,不赋值时输出默认参数
    print("{0}是大佬".format(name)) # 形参
    print("{0}是大佬".format(shiguang)) #实参

# 调用函数
boss(kite)
boss()

# work1:1-100的整数相加的功能,写成一个函数

def add(m,n,k=1):
    i = 1 # i 记录循环次数
    sum = 0 # 求和
    max = m - k # 记录最后一个值(第一次执行前)
    for i in range(m,n,k):
        sum += i
        i += 1
        max += k
    print({0}+{1}+{2}...+{3}={4}.format(m,m+k,m+2*k,max,sum))

add(100,10000,8)

总结:实现函数3步走

# 1.先用代码实现功能
# 2.变成函数 加def
# 3.提高复用性

注意:
# 1.默认参数必须放在位置参数(形参)后面 【def 函数名[参数]中的参数】
# 2.调用函数中的参数赋值,若部分赋值,add(100,k=3)【前提:未赋值的参数,必须有默认参数】

(4)return函数

 

return:调用函数时,返回一个值。return后面的表达式
在函数中,return相当于结束符,表示函数到此为止
例如:
def add_two(a,b):
    #print(a+b)
    return(a+b)
    #print("你猜猜我会打印出来吗") 不能打印
print("你猜猜我会打印出来吗") #可以打印

#add_two(1,3)+10 返回add_two(1,3)的结果是:None,+10会报错
res = add_two(1,3)+10 #return a+b 的结果是4,可以+10

work2:检查传入列表的长度,如果大于2,仅仅保留前2个长度的内容,并将新内容返回

def len_two(list1):
    print(输入的内容为:, list1)
    if len(list1) > 2:
        list2 = list1[:2:]
    else:
        list2 = list1
    print(输出的内容为:, list2)


len_two([1])
len_two([1,[1,2],3])

(5)定长参数

def make_sandwich(a,b):
    print("你的三明治包含了{0}{1}".format(a,b))

make_sandwich(生菜,鸡蛋)

(6)动态参数

# 动态参数:不定长参数 *args=argument
# 在函数内部,作为元组传递
# 必需以*传参数

def make_sandswich1(*args):
    print("你的三明治包含了{}".format(args))
make_sandswich1(生菜,鸡蛋,培根,蟹棒) # 你的三明治包含了(‘生菜‘, ‘鸡蛋‘, ‘培根‘, ‘蟹棒‘)


def make_sandswich2(*args):
    all = ‘‘
    for item in args:
        all += item
        all += 
    print("你的三明治包含了{}".format(all))
make_sandswich2(生菜,鸡蛋,培根,蟹棒) # 你的三明治包含了生菜、鸡蛋、培根、蟹棒、

(7)关键字参数

# 关键字参数:key-value **kwargs (key word)
# 必需以**传参数
# 在函数中体现为字典

def kw_function(**kwargs):
    print("{}".format(kwargs))

kw_function(x=1,y=2)

def add_all_num(b=7,*L,a):
    sum = 0
    for item in L:
        sum += item
    print(b的值, b)
    print(和为,sum)
    print(a的值,a)

add_all_num(1,5,10,79,a=7)

(8)全局变量与局部变量

# 1.作用范围不一样 全局变量:模块里面都能用 局部变量:函数的局部变量只能用于函数
# 2.当全局和局部变量同名且同时存在时,函数优先调用局部变量
# 3.当局部变量没有时,用全局
# 4.global 声明一个全局变量

例如:区分全局变量与局部变量

a = 1 #全局变量
def add(b):
    a = 5 # 局部变量
    print(a+b)
add(10) #10+a=5
print(a) #1

例如:global声明全局变量

a = 1 #全局变量
def add(b):
    global a #声明这是一个全局变量
    a = 10
    print(a+b)
add(10) #10+a=5
print(a) #10,相当于给a=1再次赋值a=10

 

 

 

 


 

python函数

原文:https://www.cnblogs.com/kite123/p/11655874.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!