zoukankan      html  css  js  c++  java
  • 第四章 函数

    知识点:

            (1)函数(function):可接受输入、执行指令、返回输出的复合语句。调用函数,意味着提供输入。每一个输入就是一个参数,为函数提供参数称之为“传参”。

             (2) 调用函数的语句:函数名(逗号分隔的参数);f (x) = x+2  语句左侧定义一个函数 f ,接受一个参数  x;右侧是函数具体定义,利用(x)中传递的参数进行计算并返回输                         出。

              (3)在python中创建一个函数,需要选择函数名,并定义其参数、行为和返回值。def定义函数,return指定返回值。函数可以接受一个或多个参数,也可以不接受参数,括号                      内置为空就行。

    1 def 函数名(参数):
    2       函数定义
    3 
    4 def f(x):
    5     return x+2

               (4)必选参数与可选参数。定义可选参数:函数名(参数名=参数值)

    1 #既有必选参数x,又有可选参数y
    2 def f(x,y=2):
    3     return x+y
    4 print(f(5))

            (4)作用域:变量的一个重要属性,指的是哪部分的程序可对变量进行读写。读意味着获取该变量的值,写意味着可以修改变量的值。变量的作用域由其在程序中所处的位置来                   决定。在函数以外定义一个变量,则该变量拥有全局作用域,在本程序任何地方可对其读写;在函数内部定义一个变量,则该变量只有局部作用域,只能在该函数内部进行                   读写。

            (5)在局部作用域对全局变量进行改写,需要使用关键字 global 来调用全局变量。

    1 x = 100
    2 def f():
    3     global x #调用全局变量x
    4     x = x+1
    5     print(x)
    6 f()

             (6)异常处理;使用 try except 关键字。try从句包含可能会发生的错误,except从句包含仅在错误发生时执行的代码。

    a = input("type a number:")
    b = input("type another number:")
    a = int(a)
    b = int(b)
    try:
        print(a / b)
    except ZeroDivisionError:
        print("b cannot be zero.")

    课后习题:

             1、编写一个函数,接受数字作为输入,并返回该数字的平方。

    def f(x):
        return x**2
    try:
        x = input("type a number:")
        x = float(x)
    except ValueError:
        print("无效输入")
    print(f(x))

    2、编写一个以字符串为参数并将其打印的函数。

    def f(x):
        return x
    x = input("type a string:")
    x = str(x)
    print(f(x))

    3、编写一个接受3个必选参数,两个可选参数的函数。

    def f(x,y,z,m=10,n=10):
        return x+y+z+m+n
    
    x = input("type a number:")
    x = float(x)
    y = input("type another number:")
    y = float(y)
    z = input("type a number again:")
    z = float(z)
    
    print(f(x,y,z))

    4、编写一个带两个函数的程序。第一个函数接受一个整数为参数,并返回该整数除以2的值。第二个函数应接受一个整数作为参数,并返回该整数乘以4的值。调用第一个函数,将结        果保存值变量,并将变量作为参数传递给第二个函数。

    def f(x):
        return x/2
    x = input("type a number:")
    x = int(x)
    print(f(x))
    
    
    y = f(x)
    y = int(y)
    def g( ): global y return y*4 print (g())

    5、可变参数:输入的一个或多个参数自动组装成元组。计算:a*b*c*d.....

    def f(*number):#*nums表示把nums这个元组的所有元素作为可变参数传进去
        product = 1
        for n in number:
            product = product*n
        return product
    
    print(f(1,2,3,4))
    
    

    6、关键字参数。

    """关键字参数允许传入0个或任意参数,这些关键字参数自动组装成一个dict.
        可以用于扩展函数功能。例如正在做一个用户注册功能,除了用户名和年龄必填
        外,其余可选项。"""
    def person(name, age, **kw):
        print('name:',name, 'age:', age, 'other:',kw)
    
    person('jack',15,city='bejing',job='teacher')
    
    
    """可以先组装一个字典,然后作为参数传入"""
    extra = {"city":"shanghai","job":"engineer"}
    person("jack",20,**extra)
  • 相关阅读:
    Mysql_常规操作
    三剑客
    Nginx_安全2
    shell_常规小脚本
    redis数据库持久化
    redis数据库操作
    keepalived高可用lvs集群
    ansible的roles角色
    keepalived高可用
    keepalived概念
  • 原文地址:https://www.cnblogs.com/yijierui/p/12815245.html
Copyright © 2011-2022 走看看