Python 函数 1

测验1: 执行这两个函数的时候分别做了几次乘法运算?

print square(5)
print square(2*5)

其中 square 函数就是个求方的函数

def square(x)
     return x*x

这里重点测试的是对python函数的参数的理解。第二个print语句的参数25被传入的时候要不要取值?如果是直接以表达式的形式传入的话肯定会执行2525共三次乘法运算。但若是求值后进入,则只做两次,25 和1010。

正确答案:

测验2: 以下代码的输出是什么?

x = 1
def f():
return x
print x
print f()

这里函数内部的x是局部变量,还未被初始化,函数被调用时会不会报错?

正确答案

不会, python 在局部作用域中找不到某变量时会从全局作用域中去找,因此输出是: 1、 1
但要知道函数中无法改变全局变量的值

测验3: 以下代码的输出是什么?

x = 1
def f():
x = 2
return x
print x
print f()
print x

正确答案

1、2、1

测验4: 以下代码的输出是?

x = 1
def f():
y = x
x = 2
return x + y
print x
print f()
print x

正确答案: 1、3、1

测验5: 一下代码的输出是?

x = 2
def f(a):
x = a * a
return x
y = f(3)
print x, y

正确答案: 2,9

方法

方法是在某些特殊的对象上面起作用的函数
比如字符串的upper()函数

x = "hello"
print x.upper()
HELLO

你可能感兴趣的:(Python 函数 1)