6.11练--函数

 

# 函数:定义函数(函数名,参数,函数体(返回值)),调用函数
# 参数:普通参数,默认参数(name=lili),可变参数(*args)--参数值可任意个返回元组形式,
# 命名关键字参数,关键字参数(**kw)--参数值可任意个返回字典形式

# 可变数据类型:list列表,dict字典,set()集合
# 不可变数据类型:number,string,tuple元组

# 变量作用域:局部local,闭包内函数外,全局global,内建bulid-in

# 小结
# 默认参数一定要用不可变对象,如果是可变对象,程序运行时会有逻辑错误!
# 要注意定义可变参数和关键字参数的语法:
# *args是可变参数,args接收的是一个tuple;
# **kw是关键字参数,kw接收的是一个dict。
# ------------------------演示-------------------------------
# 关键字:
# # def person(name,age,**kw):
# #     print('name:',name,'age:',age,'other:',kw)
# # person('Frank','37')
# # person('Frank','37',city='Shanghai')
# # person('Frank','37',gender='M',job='Engineer')
# # 也可以写成下面的简约形式:
# # extra = {'city': 'Beijing', 'job': 'Engineer'}
# # person('Jack', 24, **extra)
# # 注意kw获得的dict是extra的一份拷贝,对kw的改动不会影响到函数外的extra。

# 不定长参数:
# def calc(*numbers):
#  sum = 0
#  for n in numbers:
#  sum = sum + n * n
#  return sum
# 调用时: nums = [1, 2, 3]
#          calc(nums[0], nums[1], nums[2])
#          或
#          nums = [1, 2, 3]
#          calc(*nums)
# *nums表示把nums这个list的所有元素作为可变参数传进去



# ----------------------练习---------------------------
# def subtraction(a,b):
#     print(a - b)
# def mul(a,b):
#     print(a * b)
# def division(a,b):
#     return a / b
#
# subtraction(2,1)
# mul(4,6)
# print(division(34,2))


# 求一个数的阶乘
# def jiecheng(n):
#     m = n - 1
#     mul = n
#     while m > 0:
#         mul *= m
#         n -= 1
#         m -= 1
#     return mul
# num = int(input('Please enter a number:'))
# print(jiecheng(num))

# def jiecheng2(n):
#     result = 1
#     for i in range(n):
#         result *= (i+1)
#     return result
# num = int(input('Please enter a number:'))
# print(jiecheng2(num))



# 求两个相同长度列表的相应位置的和,并组成一个新的列表,将新列表返回
# def sum(list1,list2):
#     list3 = []
#     for i in range(len(list1)):
#         add = list1[i] + list2[i]
#         list3.append(add)
#     return list3
# lista = [1,2,3,4,5]
# listb = [7,8,9,0,6]
# print(sum(lista,listb))

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值