第四章 函数

知识点:

        (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)
原文地址:https://www.cnblogs.com/yijierui/p/12815245.html