5.函数(Python)

目录

一、封装

二、函数

1.概念

2.实现

三、作用域

1.局部变量

2.全局变量

3.global关键字

四、技巧 

1.map()函数

 2.匿名函数

六、参数 

1.概念

2.形式参数

3.实际参数

4.形参种类

a.写明参数名key的参数,固定了顺序和数量的固定参数

b.定义时位置有多少参数的可变参数

5.实参种类

a.位置参数

b.关键字参数

七、上机练习

第一个:水仙花数判断

第二个:输出水仙花数

第三个:字符集合的并集


一、封装

容器是对数据的封装

函数是对语句的封装

类是对方法和属性的封装

二、函数

1.概念

程序中实现明确功能的代码段可以封装成一个函数,以便复用

2.实现

定义:

def <函数名>(<参数表>):

        <缩进的代码段>

        return <函数返回值>

调用:

<函数名>(<参数>)

注意括号!

无返回值:<函数名>(<参数表>)

返回值复制:v=<函数名>(<参数表>)

三、作用域

1.局部变量

在函数内部定义的参数以及变量

只在该函数定义范围内有效,函数外无法访问到

2.全局变量

在函数外部定义,作用域是整个代码段

 

3.global关键字

在函数内部使用与全局变量同名的变量时,若未在函数内进行定义,则使用全局变量的值

一旦函数在内部进行定义,Python会在函数内部创建一个局部变量,与全局变量就不相关了

使用global关键字可以在函数中改变全局变量的值

四、技巧 

1.map()函数

用于对列表中每一个元素做同一个处理,得到新列表

map(func,list1,list2,.......)

函数func有几个参数,后面就有几个列表

 2.匿名函数

有的函数仅用一次,不需要专门明命名

lambda表达式:

lambda <参数表>:<表达式>

六、参数 

1.概念

传入到函数的值

当调用含参数的函数时,这些参数的值会被复制给函数中的对应参数

2.形式参数

函数创建和定义过程中,函数名后面括号里的参数

只代表一个位置、一个变量名

3.实际参数

函数在调用过程中传入的参数

是一个具体内容,赋值到变量的值

4.形参种类

a.写明参数名key的参数,固定了顺序和数量的固定参数

def  func(key1,key2,key3....):

def  func(key1.key2=value2...):

b.定义时位置有多少参数的可变参数

def  func(*args):#不带key的多个参数

def  func(**kwargs):#key=value形式的多个参数

5.实参种类

a.位置参数

一种没有名字的参数

func(arg1,arg2,arg3...)

会按照前后顺序对应到函数参数传入

b.关键字参数

func=(key1=arg1,key2=arg2...)

由于指定了key,可以不按照顺序对应

若混用,位置参数在前,关键字参数在后 

七、上机练习

第一个:水仙花数判断

n=int(input())
def shuixianhua(a):
    b=[]
    c=0
    d=a
    while a>0:
        b.append(a%10)
        a//=10
        c+=1
    sum=0
    for i in b:
        sum+=i**c
        print(sum)
    if sum==d:
        print('Yes')
    else:
        print('No')
shuixianhua(n)

 

第二个:输出水仙花数

def shuixianhua(a):
    b=[]
    c=0
    d=a
    while a>0:
        b.append(a%10)
        a//=10
        c+=1
    sum=0
    for i in b:
        sum+=i**c
    if sum==d:
        print(d)
max=int(input())
for i in range(100,max):
    shuixianhua(i)

第三个:字符集合的并集

 

 

a=input()
b=input()
def str_bing(a,b):
    c=set(a)
    d=set(b)
    e=c|d
    print(list(e))
str_bing(a,b)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值