有没有办法在python中使用名称以下划线开头的方法

问题描述

参考代码 datetime python module

"""Concrete date/time and related types.
See http://www.iana.org/time-zones/repository/tz-link.html for
time zone and DST data sources.
"""

__all__ = ("date","datetime","time","timedelta","timezone","tzinfo","MINYEAR","MAXYEAR")


import time as _time
import math as _math
import sys

def _cmp(x,y):
    return 0 if x == y else 1 if x > y else -1

如果我想使用“_cmp(x,y)。我该怎么做??

示例

考虑 Python class_file.py

def public_api():
    print ("public api")
  
def _private_api():
    print ("private API")

提示调用文件

>>> from class_file import *
>>> public_api()
public api
  
>>> _private_api()
Traceback (most recent call last):
File "<stdin>",line 1,in <module>
NameError: name '_private_api' is not defined
  
>>> import class_file
>>> class_file.public_api()
public api
>>> class_file._private_api()
private API

在上述情况下,如果我使用

print(datetime._cmp(1,2))

它说AttributeError:模块'datetime'没有属性'_cmp'

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...