1. 什么是动态语言(wikipedia)

在运行时,可以进行一些操作(静态语言在编译时执行),比如扩展对象的定义、修改类型等

2. 定义类和创建对象

C++ python
 class A{
public:
A(){
cout << "A 构造函数";
a = "a";
common = "common_a";
}
//private:
string a;
string common;
};
A a = A();
A* a_pointer = new A();
 class A():
def __init__(self):
print("init 函数")
self.a = 'a'
self.common = 'common_a'
a = A() # 在执行时动态地修改对象,创建属性
class ADynamic:
def __init__(self):
print("ADynamicinit 函数") adynamic = ADynamic()
adynamic.a = 'a'
adynamic.common = 'common_a'

3. 属性的访问限制

  C++ python
公有

public:

  int a;

self.a=1
保护

protected:

  int a;

self._a=1

//可通过obj._a访问

私有

private:

  int a;

self.__a=1

//可通过obj._类名__a访问

4. 多继承

C++ python
class AParentParent{
public:
AParentParent(){
cout << "AParentParent 构造函数" << endl;
this->common = "common_aparentparent";
}
string common;
}; class AParent1 : AParentParent{
public:
AParent1(){
cout << "AParent1 构造函数" << endl;
this->common = "common_aparent1";
}
string common;
};
class AParent2 : AParentParent{
public:
AParent2(){
cout << "AParent2 构造函数"<<endl;
this->common = "common_aparent2";
}
string common;
}; class A : AParent1, AParent2{
public:
A(){
cout << "A 构造函数" << endl;
a = "a";
common = "common_a";
}
//private:
string a;
string common;
};
A a = A();
// 输出内容
/*
AParentParent构造函数
AParent1构造函数
AParentParent构造函数
AParent2构造函数
A构造函数
*/
 class AParentParent:
def __init__(self):
print("AParentParent init 函数")
self.common = "common_aparentparent" class AParent1(AParentParent):
def __init__(self):
super(AParent1, self).__init__()
print("AParent1 init 函数")
self.common = "common_aparent1" class AParent2(AParentParent):
def __init__(self):
super(AParent2, self).__init__()
print("AParent2 init 函数")
self.common = "common_aparent2" class A(AParent1, AParent2):
def __init__(self):
super(A, self).__init__()
print("A init 函数")
self.a = 'a'
self.common = 'common_a' ## 输出
# AParentParent init 函数
# AParent2 init 函数
# AParent1 init 函数
# A init 函数
##

//待续...

//static,类方法,__slots__,多态...

python vs C++ 类的更多相关文章

  1. Python中的类、对象、继承

    类 Python中,类的命名使用帕斯卡命名方式,即首字母大写. Python中定义类的方式如下: class 类名([父类名[,父类名[,...]]]): pass 省略父类名表示该类直接继承自obj ...

  2. python pickle 序列化类

    python pickle 序列化类 # coding:utf-8 try: import cPickle as pickle except ImportError: import pickle cl ...

  3. python基础——枚举类

    python基础——枚举类 当我们需要定义常量时,一个办法是用大写变量通过整数来定义,例如月份: JAN = 1 FEB = 2 MAR = 3 ... NOV = 11 DEC = 12 好处是简单 ...

  4. python基础——定制类

    python基础——定制类 看到类似__slots__这种形如__xxx__的变量或者函数名就要注意,这些在Python中是有特殊用途的. __slots__我们已经知道怎么用了,__len__()方 ...

  5. python中的类和实例

    今天花了两个多小时后搜索相关博客看了看python中有关类和实例的介绍,差不多大概明白了. python中的类和c++中的类是一样的,不同之处就是c++的类,如果含有成员变量,并且成员变量发生变化后, ...

  6. Python基础-类的探讨(class)

    Python基础-类的探讨(class) 我们下面的探讨基于Python3,我实际测试使用的是Python3.2,Python3与Python2在类函数的类型上做了改变 1,类定义语法  Python ...

  7. python中的类属性和实例属性

    属性就是属于一个对象的数据或者函数,我们可以通过句点(.)来访问属性,同时 Python 还支持在运作中添加和修改属性. 我们先来看看类里面的普通字段: class Test(object): nam ...

  8. Python之Metaclass详解,Python之元类

    本人Java程序员一枚,这几天闲来无事就自学了下Python,学到Metaclass感觉有点迷惑,就在网上查相关资料,在栈溢出(stackoverflow)网站上看到一个关于metaclass的回答, ...

  9. Python进阶_类与实例

    上一节将到面对对象必须先抽象模型,之后直接利用模型.这一节我们来具体理解一下这句话的意思. 面对对象最重要的概念就是类(class)和实例(instance),必须牢记类是抽象的模板,比如studen ...

  10. python之定义类创建实例

    https://www.cnblogs.com/evablogs/p/6688938.html 类的定义 在Python中,类通过class关键字定义,类名以大写字母开头 1 2 >>&g ...

随机推荐

  1. SpringCloud-Ribbon服务调用(三)

    SpringCloud-Ribbon服务调用(三) https://www.cnblogs.com/qdhxhz/p/9568481.html 一.商品中心服务端 创建商品中心服务端:服务提供方(被调 ...

  2. Node.js Error: Cannot find module express的解决办法

    1.全局安装express框架,cmd打开命令行,输入如下命令: npm install -g express express 4.x版本中将命令工具分出来,安装一个命令工具,执行命令: npm in ...

  3. mysql-笔记 隔离级别、事务

    1 隔离级别:低级别的隔离通常可以执行更高的并发,系统 开销也更低 2 Read uncommitted:事务可以读取未提交的数据,脏读,应少用 3 read committed:不可重复读,事务只能 ...

  4. Spring 事务传播特性

    Spring 事务属性一共有四种:传播行为.隔离级别.只读和事务超时 a)   传播行为定义了被调用方法的事务边界. 传播行为 意义 PROPERGATION_MANDATORY 表示方法必须运行在一 ...

  5. bugku web 矛盾

    $num=$_GET['num'];if(!is_numeric($num)){echo $num;if($num==1)echo 'flag{**********}';} 首先要判断get得到的数据 ...

  6. Luogu4495 [HAOI2018] 奇怪的背包 【扩展欧几里得算法】

    题目分析: 首先打个暴力求一下$10^9$以内因子最多的数的因子个数,发现只有$1344$个. 由于有$ax+by=k*(a,b)$和2017年noip的结论,所以我们可以发现对于任意多个数$a_1, ...

  7. 「FHQ Treap」学习笔记

    话说天下大事,就像fhq treap —— 分久必合,合久必分 简单讲一讲.非旋treap主要依靠分裂和合并来实现操作.(递归,不维护fa不维护cnt) 合并的前提是两棵树的权值满足一边的最大的比另一 ...

  8. CentOS安装python3.6

    下载Python安装包 cd /usr/local/src 编译时要提前装好gcc编译器和zlib zlib-devel 1.下载文件 wget https://www.python.org/ftp/ ...

  9. 一文入门C3

    2.CSS3 官方文档:http://www.w3school.com.cn/cssref/index.asp 2.1.CSS基础 基础简单过下,事先说明下:诸如引入.注释.案例就不一一演示了,有个工 ...

  10. Educational Codeforces Round 56 (Rated for Div. 2) D

    给你一个无向图 以及点的个数和边  每个节点只能用1 2 3 三个数字 求相邻 两个节点和为奇数   能否构成以及有多少种构成方法 #include<bits/stdc++.h> usin ...