定义一个类
class ZApi:
def __init__(self, symbol, access_key=None ,secret_key=None, passphrase=None ,host=None):
self._host = host
def request(self, uri):
..........
使用类
host="http://localhost:8083"
zApi = ZApi( host)
结果
url = urljoin(self._host, uri)
print(self._host)
打印值为 None
到底是哪里出错了?
from urllib.parse import urljoin
class ZApi:
def __init__(self, symbol, access_key=None, secret_key=None, passphrase=None, host=None):
self._host = host
def request(self, uri):
url = urljoin(self._host, uri)
print(url)
# 使用类
symbol = "BTC"
access_key = "your_access_key"
secret_key = "your_secret_key"
passphrase = "your_passphrase"
host = "http://localhost:8083"
zApi = ZApi(symbol, access_key, secret_key, passphrase, host)
zApi.request("/endpoint")
用户通过控制台将数据传递给程序的过程
问题标题: Python类在接收参数时为什么会返回None? 问题内容:我创建了一个类,并在实例化时传递了参数,但在打印参数时却返回了None值。请问这个问题出现的原因是什么?
问题解答: 出现参数返回None的情况有以下几种可能性: 1. 类中的构造函数没有正确初始化参数的属性。
在Python中,类的构造函数是__init__()
方法,用于初始化类的实例。如果没有正确给参数属性赋值,那么在打印参数时就会返回None。
示例代码:
class MyClass:
def __init__(self, param):
# 没有正确给参数属性赋值
self.param = None
obj = MyClass(10)
print(obj.param) # 输出:None
解决方案:在构造函数中正确地初始化参数属性。
class MyClass:
def __init__(self, param):
self.param = param
obj = MyClass(10)
print(obj.param) # 输出:10
如果在实例化类时将参数值设置为None,则在打印参数时就会返回None。
示例代码:
class MyClass:
def __init__(self, param):
self.param = param
obj = MyClass(None)
print(obj.param) # 输出:None
解决方案:确保在实例化类时传递的参数值不为None。
如果在类的方法中没有使用return
语句来返回参数的值,那么在使用该方法时就会返回None。
示例代码:
class MyClass:
def __init__(self, param):
self.param = param
def get_param(self):
# 没有正确返回参数的值
print(self.param) # 此处没有返回参数的值
obj = MyClass(10)
obj.get_param() # 输出:None
解决方案:在类的方法中使用return
语句将参数的值返回。
class MyClass:
def __init__(self, param):
self.param = param
def get_param(self):
return self.param
obj = MyClass(10)
print(obj.get_param()) # 输出:10