九. Python基础(9)--命名空间, 作用域 1 ● !a 与 not a 注意, C/C++可以用if !a表示if a == 0, 但是Python中只能用if not a来表示同样的意义. >>> a = [] >>> if a: ...     print("Hello") ... >>> if not a: ...     print("Hello") ... Hello   2 ● 函数对字典的…
1,参数陷阱 如果默认参数的只是一个可变数据类型,那么每一次调用的时候,如果不传值就共用这个数据类型的资源. 2,三元运算 c=a if a>b else b#如果a>b返回a,否则,返回b 变量 =条件返回True的结果 if 条件 else 条件返回False的结果 必须要有结果 必须要有if和else 只能是简单的情况 def func(a,b):     a if a>b else b print(func(5,1)) 3,命名空间与作用域 3.1命名空间的种类     命名空间…
1,参数陷阱 如果默认参数的只是一个可变数据类型,那么每一次调用的时候,如果不传值就共用这个数据类型的资源. 2,三元运算 c=a if a>b else b#如果a>b返回a,否则,返回b 变量 =条件返回True的结果 if 条件 else 条件返回False的结果 必须要有结果 必须要有if和else 只能是简单的情况 def func(a,b):     a if a>b else b print(func(5,1)) 3,命名空间与作用域 3.1命名空间的种类     命名空间…
函数对象 函数是第一对象: # 函数名指向的值可以被当做参数传递 函数对象的特性(*****灵活运用,后面讲装饰器会用到) 函数名可以像变量一样被传递 # 变量可以被传递 name = 'jason' x = name print(x) # jason print(id(name), id(x)) # 3085464224688 3085464224688 # 尝试函数像变量一样被传递 def func(): print('from func') print(func) # <function…
1.三元运算 #1.三元运算 利用已下方法就可以实现一步运算返回a b中大的值 def my_max(a,b): c=0 a=int(input('请输入')) b=int(input('请输入')) # if a>b: # c=a # else: # c=b #或者这样 c = a if a > b else b return c ret=my_max(1,3) print(ret) 2.补充上节差的知识点 形参: #位置参数 #默认参数(关键字参数) #动态参数 *args:接收说有按照位…
楔子 假如有一个函数,实现返回两个数中的较大值: def my_max(x,y): m = x if x>y else y return mbigger = my_max(10,20)print(bigger) 之前是不是我告诉你们要把结果return回来你们就照做了?可是你们有没有想过,我们为什么要把结果返回?如果我们不返回m,直接在程序中打印,行不行? 来看结果: >>> def my_max(x,y): ... m = x if x>y else y ... >&…
目录 一 函数对象 二 函数的嵌套 三 名称空间和作用域 四 闭合函数 五 装饰器 一.函数对象 1.函数是第一类对象 #第一类对象的特性:# 可以被引用 # 可以当做参数传递 # 返回值是函数 # 可以当做容器类型的元素 # def func(): # print('from func') #可以被引用 # f=func() #可以被当做参数 # def bar(x): # print(x)#func内存地址 # x() # bar(func) #当做返回值 # def bar(x):#x=f…
一.三元表达式 if条件成功的值    if  条件   else else条件成功的值 #if条件成立的结果 if 条件 else else条件成立的结果 # a = 20 # b = 10 # c = 5 if a>b else 10 # print(c) 二.函数的命名空间 命名空间一共分为三种: 全局命名空间 局部命名空间 内置命名空间 *内置命名空间中存放了python解释器为我们提供的名字:input,print,str,list,tuple...它们都是我们熟悉的,拿过来就可以用的…
假设我们要设计一个包含以下操作的 Sales_data 类: 1.一个 isbn 成员函数,用于返回对象的 book_no 成员变量 2.一个 combine 成员函数,用于将一个 Sales_data 对象加到另一个 Sales_data 对象上 3.一个名为 add 的函数,执行两个 Sales_data 对象的加法 4.一个 read 函数,将数据从 istream 都入到 Sales_data 对象中 5.一个 print 函数,将 Sales_data 对象的值输出到 ostream…
首先必须要提一下python程序执行过程中变量的查找规则 较官方的查找机制是: 局部作用域--外部函数作用域--全局作用域--内建函数作用域 其实一般内建函数中的作用域很少会涉及到,因为内建函数其实是一个封装好的实例函数, 它的内部变量一般在函数外部无法获取到 什么是局部作用域,外部函数作用域和全局作用域? 1. 局部作用域 指的是函数内部的作用域 例如: def  fn(a,b,c): d=1 process 函数内的变量d位处的作用域就是函数的内部作用域,另外给fn()传入的参数a,b,c也…