大一数据科学与大数据技术专业新生在校学习记录(二)

python

上一章完成了对字符串操作的结尾,这一章将继续向下学习,函数的相关知识点

函数的定义与调用

函数的定义使用def加函数定义式(形式参数);调用时,输入函数定义式(实际参数)即可,下面将以求累加和为例

def get_sum(n):#n为形式参数
    s=0
    for i in range(1,n+1):
        s+=i
    print(f'1到{n}之间的累加和为:{s}')

#函数的调用
get_sum(10)#10为实际参数
get_sum(100)
get_sum(eval(input('请输入从零到所想要的那个数:')))

位置传参和关键字传参

位置传参即输入的实际参数与定义函数时的形式参数位置次序相同;关键字传参即要输入形式参数=加实际参数。

位置传参

def happy_birth(name,age):
    print("祝"+name+'生日快乐')
    print(str(age)+'岁生日快乐')
#调用
happy_birth('wxb',18)

 关键字传参

def happy_birth(name,age):
    print("祝"+name+'生日快乐')
    print(str(age)+'岁生日快乐')

#关键字传参
happy_birth(age=18,name='wxb')

#位置传参
happy_birth(name='wmn',age=18)
#位置传参在前,关键字传参在后

默认值参数的使用

默认值参数的使用即在定义函数时对形式参数进行赋值,但此赋值不会影响后续调用函数时的实际参数的使用,此外当默认值参数有多个时,输入一个实际参数后面的会自动输出定义函数时的默认参数,且要严格遵循位置传参在前,关键字传参在后。

def happy_birth(name='wxb',age=18):
    print("祝"+name+'生日快乐')
    print(str(age)+'岁生日快乐')
happy_birth()
happy_birth('wmn')
happy_birth(age=18)


def fun(a,b):
    pass
#def fun(a=20,b):#当位置参数和参数同时存在时,位置参数在后会报错
    pass
#当位置参数和关键字参数同时存在时,应该遵循位置参数在前,默认参数在后

可变参数的使用

可变参数分为个数可变的位置传参,和个数可变的关键字传参,位置传参在形式参数前加*,关键字传参在形式参数前加**且位置传参为列表类型,关键传参为字典类型

#个数可变的位置参数
def fun(*para):
    print(type(para))
    for item in para:
        print(item)

fun(10,20,30,40)
fun(10)
fun([10,20,30,40])
#在调用的时候参数前加上一颗星,将列表进行解包
fun(*[11,22,33,44])

#个数可变的关键字参数
def fun2(**kwpara):
    print(type(kwpara))
    for key,value in kwpara.items():
        print(key,"-----",value)



#调用
fun2(name='wxb',age=18,heigigh=180)
d={'name':'wxb','age':'18','height':'180'}
fun2(**d)

函数返回值的使用

函数返回值使用return,使用可以减少print的使用,且对于后续的递归操作具有重要意义,返回值可以为多个

#函数的返回值
def calc(a,b):
    print(a-b)

calc(1,2)
print(calc(1,2))

def calc2(a,b):
    s=a+b
    return s

print('-'*10)
get_s=calc2(1,2)
print(get_s)
get_s2=calc2(calc2(1,2),3)#先执行calc2(1,2)返回值为3,在执行calc2(2,3)
print(get_s2)

#返回值可以为多个
def get_sum(num):
    s=0
    odd_sum=0
    even_sum=0
    for i in range(1,num+1):
        if i%2!=0:
            odd_sum+=i
        else:
            even_sum+=i
        s+=i
    return odd_sum,even_sum,s
result=get_sum(10)
print(type(result))
print(result)

#解包赋值
a,b,c=get_sum(10)#返还三个值
print(a,b,c)

Linux部分

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值