3.15笔记

3.15学习笔记

复习

#1.格式字符串

1)格式占位符的字符串%(数据1,数据2,…)

%s、%d、%.Nf

2)f-string

f’{数据}’

f’{数据:参数}’

参数1::字符>N、:字符<N

参数2::

num = 23.34

str 1 = f’abc:{num},\{\}

str2 = ’abc:%s{}’ % num

print(str2)

print(f’abc:{23.34:<*7}’)

print(f’abc:{num:.2%}’)

print(f’abc:{10000191020:,}’)

#2.函数

1)概念

函数是实现某一特定功能的代码段

2)定义函数(造机器)

def 函数名(形参列表)

​ 说明文档

​ 函数体

特别重要:定义函数时不会执行函数体,调用时才执行

3)调用函数

函数名(实参列表)

调用过程

新的知识

一、

重点:位置参数和关键字参数,参数默认值

一般:参数类型说明和带*的不定长

1.位置参数和关键字参数—根据函数调用的时候实参的传递方式分类

1)位置参数—让实参和形参在位置上一一对应

2)关键字参数—调用的时候在实参前加‘形参名=’的结构

3)位置参数和关键参数可以一起用:位置参数必须在关键参数之前

def func1(a,b,c):

​ print(f ‘a:{a},b:{b},c{c}’)

#位置参数

func1(10,20,30) #a:10,b:20,c:30

#关键参数

func1(a=100,b=200,c=300) #a:100,b:200,c:300

#一起用的情况

func1(100,c=300,b=200 )

#func1(a=100,b=200,300)

#func1(100,a=200,c=200 ) 传参必须保证每个参数都有值;

2.参数默认值—形参

定义函数的时候可以直接给形参赋值,这样的参数就是有默认值的参数

再调用有默认值参数的函数时候,有默认值的参数可以不用传参

注意:如果有的参数有默认值,有的参数没有默认值,那么没有默认值的参数必须在有默认值参数的前面

def func2(a=1,b=2,c=3 ):

#a=10

​ print(print(f ‘a:{a},b:{b},c{c}’)

func2(10,20,30)

func2(10,20)

func2()

def func3(a,b,c=3 ):

​ print(print(f ‘a:{a},b:{b},c{c}’)

3.参数类型说明

方法一:在没有默认值的形参后面加:‘:类型名’

def func4(a:list,b,c ):

​ print(print(f ‘a:{a},b:{b},c{c}’)

def func4(a:list,b:int,c):

print(print(f ‘a:{a},b:{b},c{c}’)

方法二:形参默认值的类型就是对应的参数类型

def func4(a:list,b:int,c=‘ ’):

print(print(f ‘a:{a},b:{b},c{c}’)

4.不定长参数—定义函数时参数个数不确定

1)带*的不定长参数—在形参前加 *,那么形参就是一个不定长参数,可以同时接受多个实参

不定长参数本质就是元组,多对应的多个参数

注意:

a.不定长参数对应的形参调用的时候不许用位置参数赋值

#定义一个函数求多个数的和

def sum1(*nums):

​ print(sum(nums))

sum() #()

sum(1) #(1,)

sum(10,20) #(10,20)

情况一:定长在前,*的不定长在后,调用时候必须全部使用位置参数

def student_info(name,*score):

print(name,score)

student_info(‘小明’,200)

student_info(‘小花’,200,23,89)

情况二:*的不定长在前,定长在后,调用时候定长必须使用关键字参数,不定长参数必须使用位置参数

def student_info(*score,name):

print(name,score)

student_info(200,23,89,name=‘小花’)

情况三:*后面的其他参数必须使用关键字参数

二、返回值

1.返回值—将函数内部的数据传递到函数外部

什么时候需要返回值:如果实现函数的功能会产生新的数 ,那么新的数据就需要返回

def sum1(num1:int,num2:int):

​ s =num1 + num2

print(‘函数:’,s)

sum1(10,20)

print(s)

#函数:30

2.怎么返回数据

1)return关键字后面的值就是函数的返回值—怎么确定函数返回值

2)函数调用表达式的值就是函数的返回值—怎么在函数外面获得函数返回值

3.return关键字

1)return只能在函数体中使用

2)return用来将数据从函数的内部传递到函数的外部,return后面的值就是函数的返回

return可以直接结束函数—在执行函数体时,如果遇到return函数直接结束

4.返回值的使用

使用函数表达式的值就是使用函数的返回值

1)可以直接打印

2)可以使用函数调用表达式

三、函数变量

根据变量作用域的不同,将变量分为全局变量和局部变量

1.全局变量

没有定义在函数和类中的变量都是全局变量,全局变量从定义开始到整个程序结束(文件结束)的任何地方都可以用

#a是全局变量

a =10

2.局部变量

python中定义在函数中的变量就是局部,局部变量的定义域是从定义开始到函数结束。

def func3():

m = 10

n = ‘abc’

print(f ‘函数中m、n:{m},{n}’)

形参也是局部变量

总结:当调用函数的时候系统会自动为调用的函数开辟一个临时的栈区间,用来保存在函数中定义变量

​ 当函数调用结束,这个函数对应的栈区键会自动释放,里面的数据会全部销毁,销毁之前会先将返回值返回

3.global

作用:

1)在函数中修改全局变量的值

2)在函数中定义全局变量

age = 18

name =‘小明’

def update():

age = 20 #不会修改全局变量的值,而是定义一个新的局部变量age

print(f ‘函数里面-年龄:{age}’) #20

update()

print(f ‘函数外面-年龄:{age}’) #18

global name

name =‘小花’

print(‘里面:’,name)

global sex

sex = ‘男’

四、匿名函数

1.什么是匿名函数

匿名函数的本质是函数(匿名函数只能用来定义功能用一句代码就能实现功能的函数)

语法:

函数名 = lambda 形参列表:返回值

相当于:

def 函数名(形参列表):

​ return 返回值

#写一个匿名函数求两个数的和

sum1 = lambda num1,num2: num1 + num2

print(sum1(10,20))

print(sum1(num1=100,num2=200))

练习:写一个匿名函数,判断指定的年是否为闰年。结果为Ture或者False

is_leap_year = lambda num3: num3%4 ==0 and num3 %100 != 0 or num3%400 ==0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值