码迷,mamicode.com
首页 > 编程语言 > 详细

Python全栈__函数的初识、函数的返回值、函数的参数

时间:2018-09-04 19:50:44      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:rip   bre   with open   功能   return   pen   print   角度   三元   

1、函数的初识

  def关键字 空格 函数名(与变量名命名规则相同):英文冒号

  函数体

  执行函数:函数名+()

  函数是以功能为导向的。

 

def login():
    pass

 

def register():
    pass

 

1 def my_len():
2     l1 = [1, 2, 3, 1, 6, 9, 10]
3     count = 0
4     for i in l1:
5         count += 1
6 my_len()

  

2、函数的返回值

   return:

    1、函数中遇到 return 结束函数,下面代码不执行。

def login():
    print(111)
    print(222)
    return
    print(333)
login()

 技术分享图片

 

 

    2、将函数里面的值返回给函数的执行者(调用者)。

      第一种情况:

        只有return,返回None。

def login():
    a = 2
    b = 3
    print(111)
    print(a, b)
    return
print(login())

 技术分享图片

 

      第二种情况:

        return None

      第三种情况:

        return 单个值(返回的值与单个值的类型相同)

def login():
    a = 2
    b = 3
    return a
print(login(), type(login()))

 技术分享图片

 

def login():
    a = 2
    b = 3
    return [1, 2]
print(login(), type(login()))

 技术分享图片

 

def login():
    a = 2
    b = 3
    return [1, 2]
ret = login()
a, b = ret
print(a, b)

 技术分享图片

 

      第四种情况:

        return 多个值(以元组的形式返回给函数的调用者)

 

def login():
    a = 2
    b = 3
    return 1, ‘alex‘, [1, 2], {‘name‘: ‘老男孩‘}
ret = login()
print(ret)

 技术分享图片

 

  什么是None?

  所有空集合、空列表、空字典...... ----------> None

 

def my_len():
    l1 = [1, 2, 3, 1, 6, 9, 100]
    count = 0
    for i in l1:
        count += 1
    return count
print(my_len())

 技术分享图片

 

3、函数的参数

  1、实参角度

    1、位置参数

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

def my_len(a):  # a 形式参数,形参
    count = 0
    for i in a:
        count += 1
    return count
l1 = [1, 2, 3, 1, 6, 9, 100]
print(my_len(l1))

 技术分享图片

 

def my_len(a):  # a 形式参数,形参
    count = 0
    for i in a:
        count += 1
    return count
l1 = [1, 2, 3, 1, 6, 9, 100]
my_len(l1)
ret = my_len(l1)
print(ret)
print(my_len(l1))   # 实际参数,实参

技术分享图片 

 

def my_len(a):  # a 形式参数,形参
    count = 0
    for i in a:
        count += 1
    return count
s1 = ‘fhdsjfdsfsadfgsd‘
my_len(s1)
ret = my_len(s1)
print(ret)
print(my_len(s1))   # 实际参数,实参

 技术分享图片

 

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

 技术分享图片

 

  三元运算:

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

 技术分享图片

 

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

 技术分享图片

 

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

 技术分享图片

 

 

    2、关键字参数

      一一对应,实参形参数量相等,实参顺序可变。

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

 技术分享图片

 

    3、混合参数

      关键字参数必须在位置参数的后边。

def func(x, y, z):
    print(x, y, z)
func(111, 222, z=555)  # 混合传参 位置参数必须在前边

 技术分享图片

 

def func(x, y, z):
    print(x, y, z)
func(111, z=555, 222)

技术分享图片 

 

  2、形参角度

    1、位置参数

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

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

 技术分享图片

 

    2、默认字参数

      默认参数必须在形参的位置参数后面。

      默认参数不传值则为默认值,传值则覆盖默认值。

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

 技术分享图片

 

def input_information(name, sex=‘男‘):
    with open(‘information‘, encoding=‘utf-8‘, mode=‘a‘) as f1:
        f1.write(‘{}\t{}\n‘.format(name,sex))


while True:
    msg = input(‘请输入用户的姓名,性别\Q或者q退出‘).strip()
    if msg.upper() == ‘Q‘:
        break
    if ‘,‘ in msg:
        name1, sex1 = msg.split(‘,‘)
        input_information(name1, sex1)
    else:
        input_information(msg)

 技术分享图片

技术分享图片

 

    3、动态参数

 

Python全栈__函数的初识、函数的返回值、函数的参数

标签:rip   bre   with open   功能   return   pen   print   角度   三元   

原文地址:https://www.cnblogs.com/ZN-225/p/9587948.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!