函数的学习总结

简介: 函数的学习总结

实参(实际参数): 实际函数执行的时候的参数 当调用函数的时候给定的参数值 100 1

形参(形式参数): 作用是用来接受实参 定义在函数小括号中  a b

缺省参数: 当我们不给定的参数时默认的参数  QQ邮箱 默认的邮箱名称  qq号@qq.com

"""

定义一个加法函数 数字1 数字2 结果

def add(a,b):

result = a + b;
print(result)

add(1,100) #结果 101

定义参数的缺省值

def personInfo(name,age=18):

print("%s的年龄是%d岁"%(name,age))

给定年龄 按照给定的走

personInfo("柴志杰",6)

不给定年龄 使用的缺省值 也就是默认值18

personInfo("柴志杰")

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
可变参数: 我们不确定参数的个数

    一:元组类型 
    二:字典类型

"""

定义一个不管多少个数字都可以进行相加的函数 param表示入参的一个元组

第一种:元组类型

def addCount(*param):

print(type(param))
sum = 0
for num in param:
    sum+=num
print("计算的和为%d"%sum)

addCount(7,8)
print("==========")
addCount(1,2,3,4,5,6)

第二种:字典类型

def distPrint(**args):

print(args)

distPrint(name="admin",age=18,address="北京")
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
求: 定义一个函数,定义一个字符串,计算子串出现的次数,并打印出来

 分析:
    1.函数的参数:两个字符串
    2.计算子字符串在父字符串中出现的次数 并打印

"""

strPar = "abcdefabcdefaaa"
strSon = "aaa"

def countStr(strPar,strSon):

# 计算次数
count = strPar.count(strSon)
print(count)

countStr(strPar,strSon)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
需求:定义一个函数,要求能够获取字符串中后10个字符,并打印出来

分析:
    1.函数的入参 一个字符串
    2.要截取字符串的后10位
    3.打印截取内容

"""

def subStrF(strN):

# 判断 如果字符串大于10位
if len(strN)>10:
    print(strN[len(strN)-10:])
# 不到10位 直接打印
else:
    print(strN)

subStrF("1234567890abc")
subStrF("abc")
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

中断循环有两个关键字:break continue

"""
while True :

strH = input("请输入信息")
if strH == "quit":  # quit exit单词都是退出的意思
    break

"""

"""

循环嵌套下的中断

while True:

for i in range(0,5):
    print("内循环")
    break  # break 只中断当前所在的循环 也就是内循环for
break
print("外循环执行")

"""
flag = False
while True:

for i in range(0,5):
    strH = input("请输入指示")
    if strH == "quit":
        flag = True
        break  # break 只中断当前所在的循环 也就是内循环for
if flag:
    break

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

问题 列表中存在用户 但是删除的时候一直提示该用户不存在

userList = [{"username":"admin","password":"123456"},{"username":"root","password":"123456"},{"username":"teacherLiu","password":"123456"}]
username = input("请输入用户名")

flag = True

for user in userList:

判断用户名是否存在 如果存在则删除

if user["username"] == username:
    userList.remove(user)
    print("该用户已被删除")
    flag = False

if flag :

print("该用户不存在")

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

函数:
    1.python内置函数  print()  len() str()...
    2.自定义函数
函数又叫方法

"""
list = ["a","b","c"]

for c in list :

print(c)

list1 = ["d","e","f"]

for c in list1 :

print(c)

通过函数解决 定义一个函数 :遍历列表

def forList(paramList): #param 参数

for c in paramList :
    print(c) 

调用函数

forList(list)
forList(list1)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
函数格式: def 函数名称(参数):

            函数体
注意:函数不被调用 则不会执行

"""

eat表示函数名称 无参数

def eat():

# 函数体:输出 大家去吃肉
print("中午 大家去吃肉!")

调用函数

eat()

1
2
3
4
5
6
7
8
9
10
11
12
主函数可以调用其他函数

其他函数不可以调用主函数

问题:两个自定义函数 可不可以相互调用?
结论:
    1.方法可以调用其他方法
    2.函数不可以相互调用 

"""
def A():

print("这是A方法")
B()

def B():

print("这是B方法")


if __name__=="__main__":

A()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
阶乘: 求10的阶乘 1098....*1

需求: 定义一个函数可以求出指定数字的阶乘
分析:
    1.入参:是一个指定数字
    2.有返回值 就是该数字的阶乘

"""

def getMultipy(num):

result = 1;
for i in range(1,num+1):
    result *= i
return result

print(getMultipy(5))

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
主函数(main): 程序的入口 内置

特点:
    1.主函数中的程序会被运行
    2.名称是固定的
    3.主函数可以调用其他函数  但是其他函数不能调用主函数
格式:
    if __name__ == "__main__":  注意:下划线为两个横线

"""

def add(a,b):

return a+b

if __name__=="__main__":

print("我是主函数")
# 主函数中调用加法函数
sum = add(100,200)
print("和为%d"%sum)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
需求:计算1-某个参数累加的和,将值返回
分析:

1.给定一个入参 入参是一个数字
2.有返回值 返回值是一个求和的结果 1- 入参之间所有的数字 100 1-100的和

"""

def countSum(endNum):

sum = 0
for i in range(1,endNum+1):
    sum+=i
return sum

print(countSum(10))
1
2
3
4
5
6
7
8
9
10
11
12
13
递归函数(难点): 了解

特点: 1.函数自己调用自己  2.一定要有终结点
需求: 定义一个函数可以求出指定数字的阶乘
分析:
    1.入参:是一个指定数字
    2.有返回值 就是该数字的阶乘

"""

def getMulity(n):

result =1
if n > 0: 
    result=n*getMulity(n-1)
else: # 终结点
    result =1
return result

print(getMulity(5))
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

局部变量: 定义在函数内部的变量
作用:为了临时保护数据 比如函数中的变量 只有在函数执行的时候才会有效.
特点:
    1.不同的函数之间可以有相同的名称的局部变量 但是互不干扰.
    2.了临时保护数据

全局变量: 既能在多个函数中使用,又可以在非函数中使用.
    定义在函数外部的变量.


NameError: name 'name' is not defined

"""

address = "三国" # 全局变量

def add():

name = "曹操"  # 局部变量
print(address)

def delete():

name = "孙权"
print(address)

add()
delete()

相关文章
|
编译器 C语言
你的函数使用对了吗?-------C语言函数学习(3)详解
你的函数使用对了吗?-------C语言函数学习(3)详解
76 1
|
4月前
|
存储 容器
函数的学习与使用
函数的学习与使用
|
5月前
|
存储 编译器 文件存储
|
7月前
|
Java Python
编程中的函数与方法
编程中的函数与方法
70 4
|
程序员 编译器 C语言
学C的第九天(深入学习函数:库函数、自定义函数、函数的参数、函数调用、练习、补充知识点)-1
1.函数是什么: 维基百科中对函数的定义:子程序 * 在计算机科学中,子程序(英语:
|
程序员
学C的第九天(深入学习函数:库函数、自定义函数、函数的参数、函数调用、练习、补充知识点)-2
5.5:练习(部分上一期做过,换成函数做法): (1).写一个函数可以判断一个数是不是素数:
|
编译器
学习函数
学习函数
85 0
|
程序员
【学习笔记之我要C】函数
【学习笔记之我要C】函数
189 0