c ++中的代码波纹管正在工作,有可能使它在不使用Users().Users(23, "bell")
的情况下与python一起工作,但像c ++ Users(23, "bell")
一样,请参见我的代码波纹管
#include <iostream>
using namespace std;
class Users
{
public:
int age;
string name;
public:
Users()
{
// init default
age = 90;
name = "john";
}
Users(int iage, string iname)
{
age = iage;
name = iname;
}
};
int main()
{
Users User;
User.age = 2;
User.name = "l";
Users(23, "bell");
return 0;
}
''
class Users:
age = None
name = None
def __init__(self):
self.age = 90
self.name = "john"
def Users(age, name):
self.age = age
self.name = name
User = Users()
User.age = 2
User.name = "l"
答案 0 :(得分:2)
当您不想显式传递默认值时,请使用默认参数来提供值。
class User: # singular noun
def __init__(self, age=90, name="john"):
self.age = age
self.name = name
user1 = User() # user.age == 90, user.name == "john"
user2 = User(2, "l") # user.age == 2, user.name == "l"
user3 = User(40) # user.age == 40, user.name == "john"
user4 = User(name="bob") # user.age == 90, user.name == "john"
由于未指定的参数按严格的从左到右顺序替换为默认值,因此最后一个示例显示了使用关键字参数来在使用默认年龄时显式设置名称。