Preparatory Class-Day8------函数

一、函数

1. 定义: 

    可以重复使用,用来实现单一或多个“功能”的代码段,以功能为单位

2. 意义: 

    提高程序的模块化管理,提高代码的重复使用率

3. 分类: 

(1) 内置函数(内建函数)

print()、 sorted()、 abs()-求绝对值、 

(2) 自定义函数



二、 自定义函数

1. 定义:

def 参数名([参数1, 参数2, 参数3]):
    函数体
    [return 返回值]

2. 详细说明:

(1) 名字---

    > 大小写字母,数字(不能开头),下划线

        (关键字不能给标识符命名)模块,函数名 也不要

    >  形式: 驼峰式或者下划线式

(2) 参数,及个数

(3) 返回值

(4) pass 占位符

    --- 保持程序完整性,可以用于开发调试或者(for,if,function)


eg1.
	line = input('你想打印几行的三角形')
	num = input('你想打印几个三角形')
	def printStar(n, l = 5):
		for i in range(1, num+1):
			print(n*'*')
	printStar(nun, line)

三、 自定义函数参数的分类

1. 位置参数

    > 定义的参数位置要指定,在调用时必须保持 位置一致
    > 位置参数 必须写 ,除默认值

    > 可以通过名字传入,与命名关键字参数类似


2. 默认参数

(1) 注意:

    > 当定义时指定了函数的名字和默认值
    > 用于调用不输入参数时,使用默认值
    > 用法如: 参数名 = 默认值

(2) 默认参数的特点

    > 如果不传入参数值,使用默认值
    > 定义函数时,位置参数,必须放在默认参数之前(后面会视为默认参数)
    > 使用默认值参数,一定不能是 不可变类型(如果可变类型在重复调用时会累加进行)
    > 如果全部是默认参数,那么按顺序传入参数


3. 命名关键字参数

(1) 定义:

      函数名(*,命名关键字参数)   --- (后面的都是)

(2) 注意:

    > 形参必须通过关键字来传入参数
    > 只要定义了命名关键字参数, 必须传入,除非给了默认值
    > 参数传入 顺序可以任意,只要指定名字就可以
    > 命名关键字参数,在调用时,必须使用已经定义过的关键字,否则报错

(3) 好处:

    > 可读性强、
    > 参数顺序可以忽略、
    > 如果有默认值,更加简化
eg2.
		# 其中day参数使用关键字参数
		def display(context = 'Python',*, day = 8):
			return '我正在学习{},已经学习了{}天了'.format(context,day)
		program_language = input('你在学什么课程:')
		duration = int(input('你了几天了:'))
		print(display(program_language, day=duration))

eg3.
		li = [1,2,-5, -3]
		li.sort(key = abs)  # 次数不调用(使用返回值),不能加括号,只函数名

4. 可变参数 (收集参数) --- python特有

    ---  接收任意数量的位置参数,把参数 以元组的形式存在

(1) 定义 

    def 函数(* args)

(2)  注意

    > args是约定可变参数
    > *代表打包操作,即定义时会把位置参数转成一个元组
    > 调用函数时,如果传入的是位置参数序列(列表、元组),应该使用*代表拆包
    > a = [1,2,3,] 其中a是命名对象,b是匿名对象
eg4. 求平方和
    def sum(*args):
	sum = 0
	for i in args:
	    sum += i ** 2
	return sum

5. 关键字参数(收集参数)

(1) 格式

def 函数(**kwargs)
#将命名关键字参数打包成字典

#如果以 名 = 值 形式传入,那么把键值对传入kwagrs

	eg5.
	def register(name, age, **kwargs):
		pass
	register('张珊', 20)	

> 收集参数(可变参数,关键字参数)用来扩展函数的功能

> 调用函数时,如果传入的是字典,应该使用**代表拆包


(2)注意:

        >   命名关键字参数可变类型参数不能同时使用
        > 位置参数最靠前

三、 返回值

> 任何函数都有返回值
> 返回值使用return定义
> return可以是数也可以是表达式
> return = return None = ‘不写’
> return代表函数结束,之后代码不在执行
> 函数的返回值如果有多个,以元组的形式返回
> 如果多个返回值,可以使用 多个参数来接收,但必须一一对应

四、函数注释

1. 定义方法:

def fun():
	'''
	传入值
	函数基本功能介绍
	:return: 返回值
	'''

2.访问

方法1: print(fun.__doc__)
方法2: help(fun)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值