《古月居ROS入门21讲》笔记——第四课 Python和C++极简基础(内附逐行讲解,方便小白入门)

1.两种语言的安装

2. 两种编程语言常见的几种情况对比与逐行讲解

(1)for循环

c++代码

#include <iostream>

using namespace std;

int main()
{
    int a = 5;

    for(a; a<10; a++)
    {
        cout << "a = " << a << endl;
    }
    return 0;
}

Python代码

for a in range(5,10):
    if a < 10:
        print ('a = ',a)
    else:
        break

注意,在ubantu中使用编译器打开.cpp文件,要先用代码(g++ <文件名> -o <编译后的文件名>)编译后再运行

c++代码逐行讲解

//这行代码是预处理指令,用于包含标准输入输出流库iostream。这个库提供了输入输出功能,例如cin和cout,它们分别用于从标准输入读取和向标准输出写入数据。
#include <iostream>

//这行代码表明,在接下来的代码中,可以直接使用std命名空间中的名字(如cout和endl),而不需要在它们前面加上std::前缀。这样做可以简化代码,但在大型项目中,为了避免命名冲突,通常不建议使用。
using namespace std;

//这是主函数的开始,每个C++程序都必须有一个名为main的函数,程序从这里开始执行。
int main()
{
    //这行代码声明了一个整型变量a并初始化为5。这是循环的起始值。
    int a = 5;
    
    /*这是一个for循环,用于重复执行括号内的代码块,直到某个条件不再满足。
循环的第一部分(a)实际上没有进行任何操作,因为a已经在之前被初始化了。
第二部分是循环条件a<10,意味着只要a小于10,循环就继续执行。
第三部分是迭代表达式a++,它在每次循环结束时执行,将a的值增加1。*/
    for(a; a<10; a++)
    {
        //这行代码使用cout来输出字符串"a = ",后面紧跟变量a的当前值,然后是endl,它在输出后会添加一个新行并刷新输出缓冲区,这样用户可以立即看到输出。
        cout << "a = " << a << endl;
    }
    //这行代码表示main函数的结束,并向操作系统返回0,通常表示程序成功执行结束。这行代码表示main函数的结束,并向操作系统返回0,通常表示程序成功执行结束。
    return 0;
}

pyhton逐行讲解

# 这是一个for循环,range(5,10)生成一个从5到9的整数序列(包括5,不包括10)。a依次取这些值。
for a in range(5,10):
    if a < 10:
        print ('a = ',a)   #这行代码使用print函数输出当前循环变量a的值,前面有一个标签'a ='。在每个循环迭代中,都会输出a的当前值。
        a += 1
    else:
        break

(2)while循环

c++代码

#include <iostream>

using namespace std;

int main()
{
    int a = 5;

    while(a<10)
    {
        cout << "a = " << a << endl;
        a++;
    }
    return 0;
}

python 代码

a = 5

while a < 10:
    print ('a =' , a)
    a += 1

c++逐行讲解

#include <iostream>

using namespace std;

int main()
{
    int a = 5;

    //while是一个循环控制语句,这里的条件是a<10。这意味着只要a的值小于10,循环内的代码块就会不断重复执行。
    while(a<10)
    {
        cout << "a = " << a << endl;
        a++;
    }
    return 0;
}

python 代码逐行讲解

a = 5 #5被赋值给a

#while循环:当a<10时,程序一直运行,每次输出a的值
while a < 10:
    print ('a =' , a)
    a += 1

(3)面向对象

 c++代码

#include <iostream>

class A
{
public:
    int i;
    void test()
    {
        std::cout << i << std::endl;
    }
};

int main()
{
    A a;

    a.i = 10;
    a.test();

    return 0;
}

python 代码

class A:
    i = 10
    def test(self):
        print self.i

a = A()
a.test()

c++代码逐行解析

//这行代码包含了iostream库,它允许程序使用输入输出功能,如std::cout用于输出到控制台。
#include <iostream>

//这行声明了一个名为A的类。类是C++中用于数据封装和抽象的基本结构。
class A
//这个大括号开启了类A的定义。
{
//这一行标识接下来的成员(数据和函数)是公开的,意味着它们可以被类的对象在类的外部访问。
public:
    //这是类A的一个公共数据成员i,它是一个整型变量
    int i;
    //这是类A的一个公共成员函数,名为test。这个函数没有参数,也不返回任何值(void类型)。
    void test()
    //这个大括号开启了函数test的定义。
    {
        //在这行中,test函数输出成员变量i的值到标准输出。std::endl用于插入换行符,并刷新输出缓冲区,使得输出立即出现在屏幕上。
        std::cout << i << std::endl;
    //这个大括号标记了函数test的结束。
    }
//
这个大括号标记了类A的定义结束。
};

//这个大括号标记了函数main的开始。
int main()
{
    //这行代码创建了类A的一个实例,名为a。
    A a;
    //这行代码给实例a的成员变量i赋值为10。
    a.i = 10;
    //这行代码调用实例a的成员函数test。由于i已经被赋值为10,所以test函数会输出10。
    a.test();
    //这行代码表示main函数执行完毕,并向操作系统返回0,通常表示程序执行成功结束。
    return 0;
//这个大括号标记了函数main的结束。
}

python代码逐行解析

class A: #这行声明了一个名为A的类。在Python中,类是一种用于数据封装和功能抽象的结构。
    i = 10 #在类A的定义中,i是一个类变量,初始化为整数10。这个变量是类级别的,意味着它被所有这个类的实例共享。也就是说,除非在实例级别覆盖,否则类的所有实例都将看到这个相同的值。
    def test(self): #这是类A中的一个方法的定义。test是这个方法的名称,它带有一个参数self,在类的方法中,self代表类的当前实例。
        print self.i #在这个方法中,使用print函数输出当前实例中的i属性的值。这里的self.i引用的是类变量i的值,因为没有在实例中特别定义i。

a = A() #这行代码创建了类A的一个新实例,并将这个实例赋值给变量
a.test() #这行代码调用对象a的test方法。由于test方法中的print(self.i)会打印出实例a中i的值,输出将是10。

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值