关于C++:Python调用类函数不重命名类名

Python call class function without reffering class name

本问题已经有最佳答案,请猛点这里访问。

C++中的代码波纹是可行的,它可以用Python来实现,而不使用EDCOX1〔0〕,但类似于C++ EDCOX1〔1〕参见我的代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#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;
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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
2
3
4
5
6
7
8
9
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"

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