python import函數,python類中函數_如何在Python類中使用模塊函數

 2023-12-06 阅读 28 评论 0

摘要:參見英文答案 >How do you call a private module function from inside a class?????????????????????????????????????1個我用谷歌搜索了一堆,似乎無法弄清楚如何實際做到這一點:鑒于我有一個通用的實用方法,如下所示:def __square(n):python import函數。

參見英文答案 >

How do you call a private module function from inside a class?????????????????????????????????????1個

我用谷歌搜索了一堆,似乎無法弄清楚如何實際做到這一點:

鑒于我有一個通用的實用方法,如下所示:

def __square(n):

python import函數。return n*n

然后我有一些類我可能想在內部使用這個方法:

def __square(n):

return n*n

class Foo:

def __init__(self):

python的類怎么調用?self.baz = 2

def bar(self):

return self.baz + __square(self.baz)

嗯,這不起作用.我得到NameError’_Foo__square’沒有定義

為什么?

作為一種解決方法,我最終做了這樣的事情:

python內置模塊。class Foo:

def __init__(self):

self.baz = 2

def bar(self):

return baz + self.square(self.baz)

def square(self,n):

python類中的方法、return n*n

但這對我來說很愚蠢,因為square函數與Foo實例無關,我也不期望或希望它成為Foo實例上的方法.

什么是處理這種事情的“pythonic”方式?

編輯

我想出了至少一部分:我得到了這種行為,因為我認為這些實用程序方法是私有的,我一直在命名它們像def __square(n):.

我沒有意識到這是特別的,當鍵入上面的例子時,我最初沒有這樣輸入.我現在編輯了這個問題,以反映它實際輸入的方式.

python中調用什么模塊的什么函數、所以現在我的問題是:為什么將__置于頂級方法之前打破它,或者似乎?我理解這是在Python中命名“私有事物”的慣例,因為它在這種情況下不起作用,你會推薦什么呢?

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/187150.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息