不带类名的Python调用类函数

时间:2018-07-11 12:04:21

标签: python c++ class

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"

1 个答案:

答案 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"

由于未指定的参数按严格的从左到右顺序替换为默认值,因此最后一个示例显示了使用关键字参数来在使用默认年龄时显式设置名称。