目录
一、封装
容器是对数据的封装
函数是对语句的封装
类是对方法和属性的封装
二、函数
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)