day18 函数定义、参数;名称空间;全局变量及局部变量。

Python之路,Day6 = Python基础6

函数的定义

def func1():                # 定义一个函数,名字叫func1,括号中没有传入参数
    print(‘hello word‘)     # 这里是 func1 的内容,可以定义为任意代码
    return 1                # return 是返回的意思,后面是返回值,调用时可以用参数接收,返回值的内容可以为任意形式
# python执行的时候只会检查函数里面是否有语法问题,没有的话,过。。。
# 函数中可以有多个return, 但是执行到return时,函数停止执行,并返回结果,也就是说,每个函数只会有一个返回值
# 每个函数都有返回值,如果不写,默认为 None 。

函数的参数

#   第一种情况
def func1(x, y, z):         # 这个函数需要你在使用它的时候传入三个参数
    print(x, y, z)

func1(1,2,3)                # 这种调用时传入的参数需要与上面值为一一对应。
结果:1, 2, 3
func1(z = 3, y = 2, x = 1)  # 这种调用方式已经指定了各个参数分别对应给谁,所以可以不必一一对应位置。
结果:1, 2, 3
#   第二种情况
def func2(x=1, y=2, z=3):   # 这个函数在你使用的时候,不是必需传入参数,如果不传入参数的话,那么默认为后面所赋值的内容。
    print(x, y, z)          

func2()
结果:1, 2, 3
func2(5, 6, 7)
结果:5, 6, 7

#   第三种情况
def func2(x,y,z=3):         # 两种方式可以合并使用,但是由默认赋值的参数,必需放在最后
    pass
#   第四种情况
def func3(*args):           # 当我们不知道需要传入多少个参数(1,2,3,4,5)的时候,可以一用 *args 作为参数,这个意思是,把所有的传入的值(所有只传值)作为一个元组保存在 args 中;
    pass
#   第五种情况
def func3(**args):          # 当我们不知道需要传入多少个参数(x=1,y=2)的时候,可以一用 **kwargs 作为参数,这个意思是,把所有的传入的值(所有只传值)作为一个字典保存在 **kwargs 中;
    pass 

名称空间
  内置名称空间
    系统自带:如,系统定义好的变量名、函数名、类名等。
  全局名称空间
    自定义的全局的:如,自定义好的变量名、函数名、类名等但他们所定义的位置不应该属于其他的类或方法中。
  局部名称空间
    自定义的局部的:如,自定义好的变量名、函数名、类名
注:三者的加载顺序,内置名称空间、全局名称空间、局部名称空间

全局变量及局部变量
全局变量:内置名称 + 全局名称
  作用域:作用与整个文件
局部变量:局部名称
  作用域:作用与当前的位置(类或方法等)及包含的子程序(位置或方法等)

时间: 2024-10-23 02:58:59

day18 函数定义、参数;名称空间;全局变量及局部变量。的相关文章

js函数定义 参数只要写名称就可以了

js函数定义  参数只要写名称就可以了 以下为标准: function add(type)  { } 不要写成下面这个样子 function add(var type)  { } 哎 妹的  老何java混淆

函数对象、函数嵌套、名称空间与作用域、装饰器

一 函数对象 1.函数是第一类对象,即函数可以当作数据传递 #1 可以被引用 #2 可以当作参数传递 #3 返回值可以是函数 #3 可以当作容器类型的元素 2.利用该特性,优雅的取代多分支的if def foo(): print('foo') def bar(): print('bar') dic={ 'foo':foo, 'bar':bar, } while True: choice=input('>>: ').strip() if choice in dic: dic[choice]()

python基础之====函数对象、函数嵌套、名称空间与作用域、装饰器

阅读目录 一 函数对象 二 函数嵌套 三 名称空间与作用域 四 闭包函数 五 装饰器 六 练习题 一 函数对象 一 函数是第一类对象,即函数可以当作数据传递 #1 可以被引用 #2 可以当作参数传递 #3 返回值可以是函数 #3 可以当作容器类型的元素 二 利用该特性,优雅的取代多分支的if def foo(): print('foo') def bar(): print('bar') dic={ 'foo':foo, 'bar':bar, } while True: choice=input(

python基础(3):函数对象、函数嵌套、名称空间与作用域、装饰器

函数对象 函数嵌套 名称空间与作用域 闭包函数 装饰器 练习 一 函数对象 #1 可以被引用 def max(x, y): return x if x > y else y func = max print(func(1, 2)) #2 可以当作参数传递 def max(x, y): return x if x > y else y def max_1(x, func): return func(x, 1) print(max_1(2, max)) #3 返回值可以是函数 #4 可以当作容器类

20181128(闭包函数,函数嵌套,名称空间,作用域,装饰器待补充)

一.函数对象 在面向对象的编程中 一切皆对象 具体的体现: 1.函数可以被引用 def bar():    print('from bar')?f=barf()输出结果为:from bar 2.函数可以作为函数的参数 def bar():    print('from bar')?def wrapper(func): #func=bar    func() #bar()?wrapper(bar)输出结果为:from bar 3.函数可以作为函数的返回值 def bar():    print('

函数对象,函数的嵌套,名称空间与作用域,闭包,装饰器,迭代器,内置函数

一,函数对象 函数对象:函数是第一类对象,即函数可以当做数据传递 1,可以被引用 2,可以做参数的传递 3,返回值可以是函数 4,可以当作容器类型的元素 二,函数嵌套 1,函数的嵌套调用 2,函数的嵌套定义 三,名称空间与作用域 名称空间:存放名字的地方叫名称空间,存放这些值与名字的绑定关系 查看内置名称的两种方法: 三种名称空间 1,内置名称空间:随着python解释器的启动而产生 2,全局名称空间:文件的执行会产生全局名称空间,指的是文件级别定义的名字都会放入该空间 3,局部名称空间:调用函

函数对象、函数嵌套、名称空间与作用域

 一. 函数是第一类对象,即函数可以当作数据传递 #1 可以被引用 #2 可以当作参数传递 #3 返回值可以是函数 #3 可以当作容器类型的元素 二. 利用该特性,优雅的取代多分支的if def foo(): print('foo') def bar(): print('bar') dic={ 'foo':foo, 'bar':bar, } while True: choice=input('>>: ').strip() if choice in dic: dic[choice]() 三. 函

0510Python基础-动态参数-名称空间

1.昨日内容回顾 函数:避免重复代码,增强可读性. 特点:以功能为导向. def 函数名(): 函数体 函数的返回值:return 1,函数中遇到return结束函数. 2,return将函数内部的值返回给函数的执行者. return    None return None     None return 单个值 return 多个值  返回的是元组. 函数的参数. 实参: 位置参数.按顺序一一对应. 关键字参数.可以不按照顺序但是也必须一一对应. 混合传参:关键字参数永远在位置参数后面. 形参

函数嵌套,名称空间,作用域,函数对象,闭包函数

函数嵌套 嵌套调用是在函数内又调用其他函数 def max(x,y): return x if x > y else y def max4(a,b,c,d): res1=max(a,b) res2=max(res1,c) res3=max(res2,d) return res3 print(max4(1,2,3,4)) 嵌套定义是在函数内又定义其他函数 # def f1(): # print('f1') # def f2(): # print('f2') # def f3(): # print(