zoukankan      html  css  js  c++  java
  • 函数

    函数

    下水道 --》 通下水道 --》 找一个工具(买一个工具 --》 方便,拿来就用,不需要关心内部构造)
    函数就相当于这个工具 --》 干一件特定的事的(需要用的时候才用,提前造/买)

    需要用函数的时候,拿来用就行了,提前写/复制粘贴

    def caculator():
        num1 = input('请输入一个数字')
        num1 = int(num1)
        sig = input('请输入一个符号')
        num2 = input('请输入另一个数字')
        num2 = int(num2)
    
        if sig == '-':
            print(num1 - num2)
        elif sig == '+':
            print(num1 + num2)
        elif sig == '*':
            print(num1 * num2)
        elif sig == '/':
            print(num1 / num2)
        else:
            print('对不起,我不认识')
    
    caculator()
    

    函数的定义

    先定义函数,后调用

    • 定义函数:
    '''
    # 创建一个工具,不会使用(工具名 -->与变量名的规范一模一样)
    def 函数名(等同于变量名)():
    	"""对函数(工具)的描述信息"""
        
        :param1:描述
        :param2:描述
        :return:返回值
    
    函数名()
    
    '''
    
    
    
    def 函数名(param1、param2……):
     
        code 1
        code 2
        code 3
        ...
    
        return 返回值
    
    # 函数定义的特性: 函数定义过程,只检测语法,不执行代码
    
    • 调用函数
    函数名(param1、param2……)
    
    #猜大小的案例
    def guess():
        '''给定两个数,打印较大的数'''
        # 猜大小的代码
        x = 30
        y = 20
        if x > y:
            print(x)
        else:
            print(y)
    
    
    guess()
    print(guess._doc_) # 给定两个数,打印较大的数 
    #_doc_解释说明函数方法
    
    # 调用阶段,会执行代码
    

    定义函数的三种方法

    空函数

    def register():
        # TODO:注册功能,暂时不会写
        pass  # 写个空函数,占个位置
    

    有参函数(有参数()的函数)

    def guess1(x,y):
        """给定两个数,打印较大的数"""
    
    
        if x > y:
            print(x)
        else:
            print(y)
    
    # 当你使用手电筒,在使用的时候调一下(输入一个参数)
    guess1(50,20)  # 使用函数的得传参
    

    无参函数

    def guess2():
        """给定两个数,打印较大的数"""
        x = 30
        y = 20
    
        if x > y:
            print(x)
        else:
            print(y)
    

    函数的调用

    def guess1():
        """给定两个数,打印较大的数"""
    
        x = 20
        y = 30
        if x > y:
            print(x)
        else:
            print(y)
    
    
    # 函数的调用--》使用函数
    print(guess1)  # 函数的地址
    guess1() # 没有为什么,加括号就能调用(执行内存中的代码)
    

    函数的返回值

    没有return,默认返回None

    None就是返回值(使用函数后拿到的一个结果)
    
    

    return返回一个返回值,如果没有返回值,返回None

    def compare():
        x = 10
        y = 20
        if x > y:
            return x
        else:
            return y
    
    
    res = compare()
    print(res)
    
    

    return 可以终止函数

    假设有多个return的时候,运行到第一个就会结束,不会运行第二个
    
    
    def print_1_10():
        for i in range(10):
            if i == 5:
                return  # 终止函数
            print(i)
    
    print_1_10()
    
    

    return 可以返回多个值,返回值以元组的形式接收

    def return_nums():
        return 10, 100, 1000
    
    
    res = return_nums()
    print(res[1])
    
    

    可变长函数

    # *形参
    def f1(*args):  # 调用函数时,有多少个位置实参,我就接收多少个参数
        print(args)
    
    # *args(约定俗称的),用 元组 接收多余的 位置实参
    
    
    # **形参
    def f1(**kwargs):
        print(kwargs)
    
    # **kwargs,用 字典 接收多余的 关键字实参
    
    
    #了解
    
    # *实参
    def f1(a, b, c, e, d, f, g):
        print(a, b, c, e, d, f, g)
    lt = [1, 2, 3, 4, 5, 6, 7]
    f1(*lt)  
    # *lt把列表中的元素打散成 位置实参 依次传给位置形参
    
    
    # **实参
    def f1(z, b):
        print(z, b)
    dic = {'z': 1, 'b': 2}  # a=1,b=2
    f1(**dic)  # **dic把字典打散成 关键字实参 然后传给函数f1
    
    
  • 相关阅读:
    As3支持的Html标签一览
    SharpPcap 3.4使用范例
    十六章:构建自定义集合(Part 2)
    十七章:反射、特性和动态编程(Part 1)
    十六章:构建自定义集合(Part 1)
    Implementing Finalize and Dispose to Clean Up Unmanaged Resources
    HDU1711Number Sequence(KMP)
    HDU2087剪花布条(KMP)
    HDU1671Phone List (trie树)
    HDU 1075 What are you talking about(trie树)
  • 原文地址:https://www.cnblogs.com/jzm1201/p/12594904.html
Copyright © 2011-2022 走看看