栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python 类/函数 调用不带括号; 嵌套函数

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python 类/函数 调用不带括号; 嵌套函数

类调用不带括号

 加括号的是类的实例化 不加括号就不是启动实例 这个应该和设置一个别名是同样的。

比如 不实例化时可直接调用内部初始变量 实例化后 变量可能被init处理 改变了初始值

class clsTest():
 y you 
 def __init__(self):
 self.y me 
print(clsTest)
x clsTest
print(x)
print(x.y)
x clsTest()
print(x.y)

class __main__.clsTest
class __main__.clsTest
you
me

Python类的实例化时 类名后不加括号是什么意思 -CSDN论坛Python类的实例化时 类名后不加括号是什么意思 https://bbs.csdn.net/topics/392156189

函数不加括号

一、不带括号时 调用的是这个函数本身 是整个函数体 是一个函数对象 不须等该函数执行完成
二、带括号 参数或者无参 调用的是函数的执行结果 须等该函数执行完成的结果

def bracket(data):
 return data
def lls():
 # 不带括号调用的结果 function bracket at 0x0000000004DD0B38 ,a是整个函数体 是一个函数对象 不须等该函数执行完成
 a bracket
 print(a) # function bracket at 0x0000000002803268 
 print(a(67)) # 67 可直接返回函数本身 并在需要的时候传值
 # 带括号调用的结果 6 ,b是函数执行后返回的值6,须等该函数执行完成的结果
 b bracket(6)
 print(b) # 6
lls()
嵌套函数
def outer():
 name python 
 def inner():#outer函数内部定义的函数
 print (name)
 return inner()#返回该内部函数
def outer1():
 name python 
 def inner():#outer函数内部定义的函数
 return name
 return inner #返回该内部函数
def out():
 print(outer()) # python None 第一个是内部打印 第二个是outer的返回
 print(outer1()) # function outer1. locals .inner at 0x0000000002513378 函数不叫括号 仅返回对象地址
 print(outer1()()) # python 调用函数

python中函数嵌套、函数作为变量以及闭包的原理 - 夏晓旭 - 博客园嵌套函数 python允许创建嵌套函数。也就是说我们可以在函数里面定义函数 而且现有的作用域和变量生存周期依旧不变。 例子 #encoding utf-8def outer(): name quhttps://www.cnblogs.com/xiaxiaoxu/p/9785687.html

函数作为变量
def add(x,y):
 return x y
def sub(x,y):
 return x-y
def apply(func,x,y):
 return func(x,y)
def ien():
 print( apply(add,2,1): ,apply(add,2,1))
 print( apply(sub,2,1): ,apply(sub,2,1))
ien()

apply函数准备接收一个函数的变量 它也只是一个普通的变量而已 和其他变量一样。然后我们调用传进来的函数 “()代表着调用的操作 并且调用变量包含的值”。

在函数外 我们也能看到传递函数并没有什么特殊的语法 函数的名称只是和其他变量一样的表标识符而已。

python------函数嵌套及作用域链 - 海燕。 - 博客园1.三元运算if条件成立的结果 if 条件 else 条件不成立的结果例如 a 20 b 10 c a if a b else b print(c) 2.命名空间 全局命名空间 创建的存储“变https://www.cnblogs.com/haiyan123/p/7240665.html

函数不加括号互相调用

使用 contextlib装饰器 可以自动实现 enter 和 exit的初始函数

def lj():
 with LooingGlass() as what:
 print( alice and kitty )
 print(what)
 print(what)
 import sys
 sys.stdout.write( hello )
 print( hello )
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/267801.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号