26、python基础学习-函数
1 #!/usr/bin/env python
2 #__author: hlc
3 #date: 2019/6/1
4
5 # 函数 != function()
6 # 计算机函数 == subroutine 子程序,procedures 过程
7 # 函数定义:函数是指将一组语句的集合通过一个名字(函数名)封装起来,想要执行这个函数,只需调用函数名即可
8 """作用:
9 1、减少重复代码
10 2、方便修改,更易扩展
11 3、保持代码一致性
12 """
13 # 定义一个函数,通过关键字def创建
14 # def f() :
15 # print("ok")
16 # 调用函数
17 # f() # 调用一定记得加括号
18
19 """函数名的命名规则:
20 函数名必须以下划线或字母开头,可以包含任意数字、字母、下划线的组合,不能使用任何标点符号;
21 函数名区分大小写;
22 函数名不能是保留字;
23 """
24 # def add(a,b) : # 形参
25 # print(a+b)
26 # add(3,5) # 实参
27
28 # def add(b,a) : # 形参和实参一一对应
29 # print(a) # 5
30 # print(b) # 3
31 # add(3,5) # 形参和实参一一对应
32
33 # def add(a) :
34 # print(a)
35 # add(3,5) # TypeError: add() takes 1 positional argument but 2 were given
36
37 # 日志调用时间
38 # import time
39 # time_format = "%Y-%m-%d %X"
40 # time_current = time.strftime(time_format)
41 # print(time_current) # 2019-06-01 18:33:18
42
43 # 必须参数
44 # def print_info(name,age) :
45 # print("Name: %s" %name)
46 # print("Age: %s" %age)
47 # print_info("ads",15)
48 # ads
49 # 15
50
51 # 关键字参数
52 # def print_info(name,age) :
53 # print("Name: %s" %name)
54 # print("Age: %s" %age)
55 # print_info(age=15,name="ads") # 设定关键
56 # ads
57 # 15
58
59
60 # def print_info(name,age,sex) :
61 # print("Name: %s" %name)
62 # print("Age: %s" %age)
63 # print("Sex: %s" %sex )
64 # print_info("asd",18,"male")
65 # Name: asd
66 # Age: 18
67 # Sex: male
68 # 默认参数
69 # def print_info(name,age,sex="male") : # 在形参里面设定默认参数,默认参数一定要跟在其他参数后面
70 # print("Name: %s" %name)
71 # print("Age: %s" %age)
72 # print("Sex: %s" %sex )
73 # print_info("asd",18) # 需要的时候添加到后面
74 # Name: asd
75 # Age: 18
76 # Sex: male
77
78 # 不定长参数
79 # def add(*args) :
80 # num = 0
81 # for i in args :
82 # num += i
83 # print(num) # 21
84 # add(1,2,3,4,5,6) # 如果此处是列表,add(*[1,2,3,4,5,6])
85 # 关于不定长参数的位置,*args 放在前面,**kwargs,放在后面
86 # def add(*args,**kwargs) :
87 # for i in kwargs :
88 # print("%s>>>%s"%(i,kwargs[i]))
89 # print(args)
90 # add("dfgsd",a=1,b=2,c=3,d=4,e=5,f=6)
91 #
92 # a>>>1
93 # b>>>2
94 # c>>>3
95 # d>>>4
96 # e>>>5
97 # f>>>6
98 # ('dfgsd',)
99
100 # def add(asd="male",*args,**kwargs) :
101 # for i in kwargs :
102 # print("%s>>>%s"%(i,kwargs[i]))
103 # print(args,asd)
104 # add("sdfasfdgfsdfg","lsdfk",a=1,b=2,c=3,d=4,e=5,f=6)
105 # a>>>1
106 # b>>>2
107 # c>>>3
108 # d>>>4
109 # e>>>5
110 # f>>>6
111 # ('lsdfk',) sdfasfdgfsdfg
112
113 # def add(asd="male",*args,**kwargs) :
114 # for i in kwargs :
115 # print("%s>>>%s"%(i,kwargs[i]))
116 # print(args,asd)
117 # add(a=1,b=2,c=3,d=4,e=5,f=6)
118 # a>>>1
119 # b>>>2
120 # c>>>3
121 # d>>>4
122 # e>>>5
123 # f>>>6
124 # () male
125
126 # def asd(name,age=22,*args,**kwargs) : # 优先级顺序
# def add(*args) :
# print(args) # (1, 2, 3, 4, 5, 6)
# add(1,2,3,4,5,6)
# def add(*args) :
# print(args) # ([1, 2, 3, 4, 5, 6],)
# add([1,2,3,4,5,6])
# def add(*args) :
# print(args) # (1, 2, 3, 4, 5, 6)
# add(*[1,2,3,4,5,6])
# def add(**kwargs) :
# print(kwargs) # {'adf': 'wetr', 'kasdf': 'lvkm'}
# add(adf="wetr",kasdf="lvkm")
# def add(**kwargs) :
# print(kwargs) # TypeError: add() takes 0 positional arguments but 1 was given
# add({"lsdf":"wetr","ksjf":"oglds"})
# def add(**kwargs) :
# print(kwargs) # {'kasjfd': {'dss': 'wetr', 'slkfa': 'dfggsd'}}
# add(kasjfd={"dss":"wetr","slkfa":"dfggsd"})
# def add(**kwargs) :
# print(kwargs) # {'dss': 'wetr', 'slkfa': 'dfggsd'}
# add(**{"dss":"wetr","slkfa":"dfggsd"})