码迷,mamicode.com
首页 > 其他好文 > 详细

函数学习总结

时间:2019-04-27 09:24:13      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:def   字典   自定义   and   python   要求   foo   else   描述   

定义

自己总结:就相当于现实中各种用途的工具,有着对数据进行各种处理的功能(实质就是比较复杂的变量?!)

分类 

自定义函数和Python语言已经定义过的常用的内置函数

自定义函数的组成部分

def 函数名(参数1,参数2...):
‘‘‘
函数的描述及功能
‘‘‘
    语句1
    语句2
return 返回值

自己理解:

    ①def:是内置函数名(保留标识符),用于自定义一个自定义函数,实现需要内置函数没有的功能

    ②函数名:就是标识符(?!),相当于工具的名字,方便调用和区分

    ③参数:根据功能要求可有可无,分为形式参数和实际参数,形参本质就是变量名,有位置形参、默认形参;实参就是变量值,有位置实参、关键字实参,两者可以混用,规则是所有位置实参必须都在关键字实参左边,一个形参有且只能对应一个实参。如果形参为:“*args”,表示用来接收溢出的位置实参,相当于把位置实参作为一个元组,遍历元组取元素的值分别作为实参运行函数,相对应的实参就为:“*(实参)”,表示;*后面的分别取出溢出实参如果形参为**wdargs表示用来接收溢出关键字实参,相当于把关键字实参作为一个字典,遍历字典取键值对作为关键字参运行函数。如果实参

使用**{key1:value,key2:value},这是把**后面的参数遍历取出当做关键字参数应用

    ④语句就是实现函数功能的过程代码,定义函数阶段只检测语法,是把函数语句当做字符串存储在内存中,不执行

    ⑤return:标识符,函数结束的标志;返回值可以是任意个数的任意数据类型,0个:None,1个:值本身,多个:依元组形式返回

使用

调用函数格式:函数名(参数),调用之后才会执行语句

例子

1、

def far():
    ‘‘‘
    打印“from far”
    ‘‘‘
    print(from far)
    return
def foo():
    ‘‘‘
    打印“from foo”
    ‘‘‘
    print(from foo)
    return

far()
foo()

‘‘‘
结果:
from far
from foo
‘‘‘

2、

def func():
    ‘‘‘实验毫无意义‘‘‘
    name = Jim
    age = 18
    hobby_list = [read, write]
    return name, age, hobby_list

name, age, hobby_list = func()
print(fname,age,hobby_list: {name, age, hobby_list})
‘‘‘
结果:
name,age,hobby_list: (‘Jim‘, ‘18‘, [‘read‘, ‘write‘])
‘‘‘

3、

def register(name, hobby, hobby_list=[]):
    hobby_list.append(hobby)
    print(f {name} like {hobby})
    print(f{name} like {hobby_list})

register(Jim, reading,)
register(Gru, bedthings,)
register(Dru, money,)

‘‘‘
结果:
 Jim like reading
Jim like [‘reading‘]
 Gru like bedthings
Gru like [‘reading‘, ‘bedthings‘]
 Dru like money
Dru like [‘reading‘, ‘bedthings‘, ‘money‘]
‘‘‘

4、

def register(name, hobby, hobby_list=None):
    if hobby_list == None:
        hobby_list = []
    hobby_list.append(hobby)
    print(f{name} like {hobby})
    print(f{name} like {hobby_list})

register(Jim, reading,)
register(Gru, bedthings,)
register(Dru, money,)

‘‘‘ 结果: Jim like reading Jim like [‘reading‘] Gru like bedthings Gru like [‘bedthings‘] Dru like money Dru like [‘money‘] ‘‘‘

5、

def func(x, y, *args, **kwargs):
    print(x, y, args, kwargs)
    print(x, y, *args, kwargs)

func(1, 2, 3, *(4, 5),)
func(1, 2, c=8, **{a: 6, b: 7})

‘‘‘
结果:
1 2 (3, 4, 5) {}
1 2 3 4 5 {}
1 2 () {‘c‘: 8, ‘a‘: 6, ‘b‘: 7}
1 2 {‘c‘: 8, ‘a‘: 6, ‘b‘: 7}
‘‘‘

6、

def index(l, name, age, sex):
    print(f"{l}, name: {name}, age: {age}, sex: {sex}")

def wrapper(*args, **kwargs):
    print(f"args: {args}")
    print(f"kwargs: {kwargs}")
    index(*args, **kwargs)

wrapper(1, name=nick, sex=male, age=19)

‘‘‘
结果:
args: (1,)
kwargs: {‘name‘: ‘nick‘, ‘sex‘: ‘male‘, ‘age‘: 19}
1, name: nick, age: 19, sex: male
‘‘‘

实现注册、登录功能函数

def register():
    """注册功能"""
    username = input(username: ).strip()
    pwd = input(password: ).strip()

    with open(38a.txt, a, encoding=utf8) as fa:
        fa.write(f"{username}: {pwd}\n")
        fa.flush()

register()


def login():
    """登录功能"""
    while True:
        inp_username = input(username: ).strip()
        inp_pwd = input(password: ).strip()

        if inp_username == Jim and inp_pwd == 123:
            print(欢迎你,Jim)
            break

        else:
            print(用户名或者密码错误)

login()

 

函数学习总结

标签:def   字典   自定义   and   python   要求   foo   else   描述   

原文地址:https://www.cnblogs.com/HGJBKY/p/10777351.html

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