Python基础---------函数

一、函数的定义

函数就是功能的封装,里面就是代码块
语法:
def 函数名(形参):
函数体 【代码块】
函数名(实参)

示例:
def abc(haha):
print("打开手机")
print("打开%s" % haha)
abc(微信)
结果:打开手机
打开微信

函数名:命名规则和变量一样

二、return返回值

return返回值:
return,函数执行完毕,不会执行后面逻辑
1.如果函数不写return返回None
2.只写return,返回None
3.return返回值,返回一个值
4.return值1,值2,... 返回多个值。调用方接收的是元组

三、参数

参数:在函数执行的时候给函数传递的信息。函数的参数个数没要求,但是,在运行的时候,形参和实参要匹配,按照位置把实参赋值给形参

1.形参:在函数声明的位置,声明出来变量
1.位置参数。
2.默认值参数。当调用的时候不给传值使用默认值
3.混合使用。顺序:1.位置参数。2默认值参数
2.实参:在函数调用的时候,实际你给函数传递的值
1.位置参数。按照位置给形参赋值
2.关键字参数。按照名称给形参赋值
3.混合参数。先用位置参数,再用关键字参数

四、示例:

2. 写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
# def func(lst):
#     ll = []
#     for i in range(len(lst)):
#         if i % 2 == 1:
#             ll.append(lst[i])
#     return ll
#
# a = [1, 5, 7, 9, 12]
# ret = func(a)
# print(ret)

# 3, 写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
# def func(a):
#     # if len(a) > 5:
#     #     return True
#     # else:
#     #     return False
#     return len(a) > 5

# 4.
# def func(lst):
#     if len(lst) > 2:
#         return lst[0], lst[1]


# 5.写函数,计算传入函数的字符串中, 数字、字母、空格 以及 其他内容的个数,并返回结果。
# def func(s=""): # function
#     shuzi = 0
#     zimu = 0
#     kongge = 0
#     qita = 0
#     for c in s: # 循环字符串.拿到每个字符
#         if c.isdigit(): # 数字
#             shuzi += 1
#         elif c.isalpha():
#             zimu+=1
#         elif c == ' ':
#             kongge += 1
#         else:
#             qita += 1
#     return shuzi, zimu, kongge, qita

# 6.写函数,接收两个数字参数,返回比较大的那个数字。
# def func(a, b):
#     # if a > b:
#     #     return a
#     # else:
#     #     return b
#     c = a if a > b else b
#     return c
# print(func(3, 5))

# 7. 写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
#
# 	dic = {"k1":"v1", "k2":[11,22]}
# 	PS:字典中的value只能是字符串或列表
#
# def func(dic):
#     new_dic = {}
#     for k, v in dic.items():
#         if len(v) > 2:
#             new_dic[k] = v[0:2]
#         else:
#             new_dic[k] = v
#     return new_dic
# dic = {"k1": "v1v1", "k2": [11,22,33,44]}
# print(func(dic))

# 8.
# def func(lst):
#     dic = {}
#     for i in range(len(lst)):
#         dic[i] = lst[i]
#     return dic


# 9.
# def func(name, age,edu,sex ="男"):
#     f = open("student.msg", mode="a", encoding="utf-8")
#     f.write(name+"_"+str(age)+"_"+sex+"_"+edu+"\n")
#     f.flush()
#     f.close()
#
#
# while 1:
#     content = input("请问. 是否要录入学生信息, 输入q退出:")
#     if content.upper() == "Q":
#         break
#     n = input("请输入名字:")
#     a = input("请输入年龄:")
#     s = input("请输入性别:")
#     e = input("请输入学历:")
#     if s == "":
#         func(n,a,e)
#     else:
#         func(n,a,e,s)

# 10
# import os
# def func(filename, old, new):
#     with open(filename, mode="r", encoding="utf-8") as f1,\
#         open(filename+"_副本", mode="w", encoding="utf-8") as f2:
#
#         for line in f1:
#             s = line.replace(old, new)
#             f2.write(s)
#
#     os.remove(filename)
#     os.rename(filename+"_副本", filename)
#
# func("student.msg", "本", "学")
posted @ 2020-05-27 13:10  A学无止境A  阅读(145)  评论(0编辑  收藏  举报