def函数
现有以下的脚本
a=1
b=2
c=a+b
print(c)
如果想把它系统的展现成为一个函数的话,用def函数定义,并且在使用的时候 其具体内容要用tab键括住。
def function():
print('this is a function')
a = 1
b = 2
c = a + b
print(c)
运行这样的一个脚本,并不会用任何的输出,因为只是定义了这个函数,但是没有调用这个函数
直接使用`function()就可以调用啦 还可以在控制台使用这个语句
参数
def func(a,b):
c=a*b
print(c)
func(1,2)
输出结果为2
默认参数
当没有默认的情况下:
def fun(name,price,brand,category):
print(
'name is:',name,
'price is:',price,
'brand is:',brand,
'category is:',category
)
fun('冰箱',3000,'格力','电器')
`` 输出结果: 如果要有默认的参数,当有些变量的值基本上确定的时候,我们可以如下编写:
def fun(name,price,brand='格力',category='电器'):
print(
'name is:',name,
'price is:',price,
'brand is:',brand,
'category is:',category
)
fun('冰箱',3000)
如果想改brand的值 直接在调用的时候赋值就可以了
fun('冰箱',3000,'海尔')
另外 不能这样定义: 要把所有确定的值都移到后面,要不然会报错
全局和局部变量
def fun():
a=10
print(a)
return a+100
fun()
结果是输出10
如果最后一行替换成print(fun()) 结果变成了10(回车)110
全局变量一般是以大写字母命名 A是全局变量 可以打印出来 ;a是局部变量 在范围之外不能打印 也可以使用全局变量赋值局部变量 如a=A 如果一定要在一个小范围定义一个全局变量 可以global A A=20来定义 不可以直接连等 如global A=20(X) 正确的如下:
def fun():
global a
a=20
print(a)
return a+100
print(fun())
有的版本这样是错误的 原因是没有在全局定义一遍并赋值
A=100
a=None
def fun():
global a
a=20
print(a)
return a+100
print(fun())
如此便解决了这个问题
|