1.函数

#函数语法:#函数名规范:小谢字母开头,不同字母下划线隔开(字母数字下划线)#def 函数名():    #函数体:希望函数做的事情

1.1.无参函数

#无参函数def music():    print("唱着又没动听的歌声...")#调用函数music()

1.2.有参函数

#有参函数def zgl_music(name): #形参    print("{0}唱着又没动听的歌声...".format(name))zgl_music("诸葛亮")#传参:实参#有参函数-默认参数def speak(name,yy="中文"):    print("{0}说着{1}".format(name,yy))speak(name="刘备")#刘备说着中文speak("关于","阿拉伯语")#关于说着阿拉伯语

1.2.1.请把1-100的整数相加和的功能,写成一个函数

#请把1-100的整数相加和的功能,写成一个函数def jia(sum1,sum2):    #判断sum1<sum2    if sum1<sum2:        sum = 0        for item in range(sum1,sum2+1):            sum = sum+item        print("{0}到{1}之间数字相加的结果为:{2}".format(sum1,sum2,sum))    else:        print("输入错误!")jia(1,100)

1.3.return

reruen #返回函数结果
#返回a与b的和def sum(a,b):    return a+b #将结果返回sum = sum(1,2)#返回的结果赋值给另一个变量print(sum)# 3

1.3.1.无参无返

#无参无返def sum1():    print("这是个无参无返的函数")#调用函数sum1()

1.3.2.有参无返

#有参无返def sum2(a,b):    print(a+b)#调用函数sum2(2,3)

1.3.3.无参有返

#无参有返def sum3():    return 10#调用函数sum3()

1.3.4.有参有返

#有参有返def sum4(a,b):    return a+b#调用函数sum4(5,5)

1.3.5.写一个函数,检查传入列表的长度,如果大于2,那么保留前两个长度的内容,并将新内容返回

def new_list(lists):    if len(lists)>2:        return lists[0:2]a=[1,2,3,4]print(new_list(a))

1.4.动态参数/不定长参数 *args☆ ☆ ☆

#动态参数/不定长参数def sum(*args): #*args  arguments    print(args)#('张三', '李四', '王五', '麻六')  元组    print("张三:{0}".format(args[0]))    print("李四:{0}".format(args[1]))    print("王五:{0}".format(args[2]))    print("麻六:{0}".format(args[3]))sum("张三","李四","王五","麻六")

1.4.1.动态参数练习

#动态参数求两个数的和#第一种def sum1(*a):    return a[0]+a[1]print(sum1(8,9))#第二种def sum2(*args):    sum = 0    for item in args:        sum += item    return sumprint(sum2(2,3))

1.4.1.1.补充1

#第一种def sum2(*args,a):    sum = 0    for item in args:        sum += item    print("a = {0}".format(a))    return sumprint(sum2(2,3,a=1))
输出:

a = 1
5

1.4.1.2.补充2

#第二种def sum2(a,*args):    sum = 0    for item in args:        sum += item    print("a = {0}".format(a))    return sumprint(sum2(2,3,4,5,6))
输出:

a = 2
18

1.5.关键字参数 key-value **kwargs ☆☆☆

#关键字参数  key-value  **kwargsdef kw_sum(**kwargs):# key=value    print(kwargs)a={"name":"张三"}kw_sum(k=1,y=2,m=3) #{'k': 1, 'y': 2, 'm': 3}

1.6.变量作用域

#全局变量:在模块里面都能调用
#局部变量:只能用于函数
#当全局和局部变量同名且同时存在的时候,函数有限调用局部变量
a=1#全局变量def add(b):    a=5#局部变量    print(a+b)add(10)#15

1.6.1.全局变量 global

global a#全局变量/声明这是一个全局变量def add(b):    a=5#局部变量    print(a+b)add(10)#15