Python数据分析实战6.2 自定义函数【python】

【课程6.2】 自定义函数

如何创建函数?def语句

1.定义函数

def f(x):
    if x < 5:
        print('输入值小于5')
    else:
        print('输入值大于等于5')  # 定义函数,其中x是参数(局部变量)
f(10)  # 运行函数
----------------------------------------------------------------------
输入值大于等于5

2.关于return

def f1(x):
    y = 2**x  # 没有return
    
def f2(x):
    y = 2**x
    return y # 含有return

print(f1(2),f2(2))
# return语句退出函数,并返回一个表达式。不带参数值的return语句返回None
----------------------------------------------------------------------

3.默认参数

def f(x,n = 2):
    return(x**n)
print(f(10))
print(f(10,3))
# n = 2,这里n的默认值为2,如果不输入则以默认值为主
----------------------------------------------------------------------
100
1000

4.可变参数

def f(*x):
    print(x)
    return x
f(1)
f('a','b')
f(1,2,3,[44,33])
print(type(f('a','b')))
# 通过*来定义可变参数
# 默认会把可变参数传入一个元祖!
----------------------------------------------------------------------
(1,)
('a', 'b')
(1, 2, 3, [44, 33])
('a', 'b')
<class 'tuple'>

小作业
① 函数f(x),输入一个字符串,分别print出每个字母

def f(st):
    for s in st:
        print(s)
str_input = input('请输入一个字符串')
f(str_input)

② f(x,y,z),函数内部算法:生成 ((x+y)(x-y))*z

def f(x,y,z):
    a = (x+y)*(x-y)*z
    return(a)
print(f(5,4,2))

③ 编写一个求平均值的函数 f(*m)

def f(*m):
    s = 0
    lst = []
    for i in m:
        while str(i).isnumeric():#当i不是数字是不计算
            s+=i
            lst.append(i)
            break
        else:
            print("输入列表中存在非数字%s"%i)
        print(lst)
    return(s/len(lst))
print(f(1,2,'a',3))

④ 定义一个函数,用于求矩形面积、圆形面积
⑤ 定义一个函数,函数的作用是把输入的列表变成一连串字典的key,并生成字典,需要用input输**入

list = eval(input('请输入一个列表'))#eval直接执行你输出的列表,结果就是一个列表
def f(lst):
    return(dict.fromkeys(lst,0))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值