Python----函数的初识与传参

'''
03,函数的初识
def关键字 空格 函数名(与变量设置相同): 英文的冒号
函数体
执行函数 :函数名+()
函数是以功能为导向的,
def login():
pass
def register():
pass
04,函数的返回值

return: 1,函数中遇到return 结束函数,下面代码不执行。
2,将函数里面的值返回给函数的执行者(调用者)。
第一种情况:
只有return,返回None
第二种情况:
return None
第三种情况:
return 单个值(返回的值与单个值的类型相同)
第四种情况:
return 多个值 以元组的形式返回给函数的调用者。
05,函数的参数。

# 实参角度

位置参数
一一对应,实参形参数量相等

关键字参数
一一对应,实参形参数量相等,实参顺序可变

混合参数 (位置参数,关键字参数)
关键字参数必须在位置参数后面

# 形参角度

位置参数
一一对应,实参形参数量相等

默认参数
默认参数必须放在形参的位置参数后面
默认参数不传值则为默认值,传值则覆盖默认值。
动态参数
'''
# s1='hdhdhcnchdcduj'
# count=0
# for i in s1:
# count+=1
# print(count)
#
# l1=[1,2,3,4,5,6,8,52,58]
# count=0
# for i in l1:
# count += 1
# print(count)
# 重复代码较多。
# 可读性差。
# def my_len():
# l1=[1,2,3,4,5,68,59]
# count=0
# for i in l1:
# count+=1
# my_len()
# def关键字 空格 函数名(与变量设置相同): 英文的冒号
# 函数体
# 执行函数 :函数名+()
# 函数是以功能为导向的,
# def login():
# pass
# def register():
# pass
#函数的返回值
'''
return: 1,函数中遇到return 结束函数,下面代码不执行。
2,将函数里面的值返回给函数的执行者(调用者)。
第一种情况:
只有return,返回None
第二种情况:
return None
第三种情况:
return 单个值(返回的值与单个值的类型相同)
第四种情况:
return 多个值 以元组的形式返回给函数的调用者。
'''
# def login():
# print(111)
# print(222)
# return
# print(333)

#login()
# def login():
# a=2
# b=3
# print(111)
# print(a,b)
# return
# print(login())
#
# def login():
# a=2
# b=3
# return[1,2]
# print(login(),type(login()))
# ret=login()
# a,b=ret
# print(a,b)
#
# def login():
# a=2
# b=3
# return 1,'alex',[1,2],{'name':'老男孩'}
# ret=login()
# print(ret)
'''
什么是None?
所有的空集合,空列表,空字典....---->
'''
# l1=[1,2,3,4,6,8,6,5,58]
# print(len(l1))
#
# def my_len():
# l1=[1,2,3,4,5,67,97]
# count=0
# for i in l1:
# count+=1
# return count
# print(my_len())


#函数的传参
def my_len(a): #形式参数,形参
count=0
for i in a :
count+=1
return count

l1=[1,2,3,4,56,78,6,]
print(my_len(l1))

s1='hcmchxklflclsld'
my_len(l1)
ret = my_len(l1)
print(ret)
print(my_len(l1)) #实际参数,实参
print(my_len(s1)) #实际参数,实参

s1='jdjsuyskdyhsdodusyekud'
print(len(s1))

def max(x,y):return x if x > y else y
print(max(30000,200))

#三元运算:

x = 100
y = 99
if x > y:
print(x)
else:
print(y)

c=x if x>y else y
print(c)

def test(a,b,c):
print(111)
print(a,b,c)
test(22,'alex',[11,22,33])

def func(x,y):
print(x,y)
func(y=3333, x=4)
def funcl(x,y,z):
print(x,y,z)

funcl(111,222,z=555) #混合传参 位置参数必须再前面
#错误展示:funcl(111,y=555,222) #混合传参 位置参数必须在前面

def func2(y, x):
print(x, y)
func2(1, 2)

def func2(y, x, z=100):
print(x, y, z)
func2(1, 2, 3000)













































































posted @ 2018-05-09 19:53  weilai小超人  阅读(252)  评论(0编辑  收藏  举报