Python 函数与函参

函数的含义

  • 功能 (包裹一部分代码 实现某一个功能 达成某一个目的)
  • 特点 : 可以反复调用,提高代码的复用性,提高开发效率,便于维护管理

函数的基本格式

定义函数
def func():                            # def 函数名():
	print("我是函数func ... ")          # code ... 
调用函数	
func()                                # 函数名()

函数的命名

字母数字下划线,首字符不能为数字
严格区分大小写,且不能使用关键字
函数命名有意义,且不能使用中文哦
驼峰命名法:(推荐)
	(1) 大驼峰命名法 : mycar => MyCar  xian => XiAn 一般用在面向对象,定义类的时候使用
	(2) 小驼峰命名法 : mycar => myCar  xian => xiAn 一般用在面向过程,定义函数的时候使用
	(3) 下划线命名法 : symmetric_difference my_car	

定义函数

def nine_table():
	for i in range(1,10):
		for j in range(1,i+1):
			print(  "{:d}*{:d}={:2d} ".format(i,j,i*j) , end="")
		print()

调用函数 不调用不会被执行

  1. 调用时要给出实际的参数

  2. 实际参数替换定义中的参数

  3. 函数调用后得到返回值

for i in range(10):
	nine_table()

函数的定义

  • 函数定义时,参数时输入,函数体是处理,结果是输出

  • 计算n!

    def fact(n) :
       s = 1
       for i in range(1, n+1):
          s *= i
       return s
    #fact 函数名 n 参数
    

函数的参数

  • 参数:配合函数运算所需要的值

  • 参数的种类:

    • 形参 : 形式上的参数 (在函数的定义处)

    • 形参种类: 普通形参(位置形参) 默认形参 普通收集形参 命名关键字形参 关键字收集形参

    • 实参 : 实际上的参数 (在函数的调用处)

    • 实参种类: 普通实参(位置实参) 关键字实参

  • 原则: 形参和实参要一一的对应

普通形参(位置形参)

在函数的定义处 [hang ,lie普通形参]
def func(hang,lie):
	i = 0
	while i < hang :
		j = 0 
		while j < lie:
			print("*",end="")
			j += 1
		print()
		i += 1
在函数的调用处 [10,10是实际参数,普通实参]
func(10,10)

默认形参

hang,lie叫做默认形参 , 身上带有默认值
def func(hang=10,lie=10):
	i = 0
	while i < hang :
		j = 0 
		while j < lie:
			print("*",end="")
			j += 1
		print()
		i += 1
func()
func(3,5)                      # 有实参则使用实参,无实参则使用默认值
func(2)

普通形参 + 默认形参

hang普通形参(位置)  lie 默认形参  
注意点 : 普通形参必须写在默认形参的前面
def func(hang,lie=10):
	i = 0
	while i < hang :
		j = 0 
		while j < lie:
			print("*",end="")
			j += 1
		print()
		i += 1
func(3)
func(3,5)

关键字实参

关键字实参赋值调用函数时,可以任意颠倒顺序
def func(hang,a,b,c,lie=10):
	i = 0
	while i < hang :
		j = 0 
		while j < lie:
			print("*",end="")
			j += 1
		print()
		i += 1
func(1,2,3,4,8)

在函数的调用处
hang=1,a=2 ... 属于关键字实参,指名道姓传值
func(hang=1,a=2,b=3,c=4,lie=7)
func(lie=7,a=2,b=3,c=4,hang=1)

普通实参 + 关键字实参

  • 注意: 普通实参 必须写在 关键字实参的前面

    func(2,3,b=4,c=5,lie=6)                    # success
    func(lie=6,2,3,b=4,c=5)                    # error
    
    区分默认形参 和 关键字实参
    def king_team( top="雷亮",middle="goldv",bottom="西林",support="王文",jungle="郭凯猛"  )默认形参
    	print(  "上单选手:{}".format(top)   )
    	print(  "中单选手:{}".format(middle)   )
    	print(  "下单选手:{}".format(bottom)   )
    	print(  "辅助选手:{}".format(support)   )
    	print(  "打野选手:{}".format(jungle)   )
    默认调用,使用默认值
    king_team()
    换人
    king_team(top="和激东",middle="刘红辉",bottom="卢媛媛",jungle="许恩川")   # 关键字实参
    

    可选参数传递

    def fact(n, m = 1) :
    	s = 1
    	for i in range(1, n+1):
    		s *= i
    	return s//m
    fact(10)       #  10886400
    fact(10, 5)    #  435456000  位置传递
    fact(m = 5,n = 10) # 725760  名称传递 
    print(fact)
    
    def fact(n, *b) :
    	s = 1
    	for i in range(1, n+1):
    		s *= i
    	for item in b:
    		s *=item
    	return s
    fact(10,3)      #  10886400
    fact(10,3,5,8)  #  435456000
    print(fact)
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值