c/c++与Python的语法差异

时间:2023-03-09 06:10:41
c/c++与Python的语法差异

1、程序块语法方面:

c/c++中用一对“{}”将多段语句括起来,表示一个程序块,并以右大括号表明程序块结束

for(i=;i<n;i++)
{
cout<<a[i];
j+=;
}

Python中用缩进方式表明某几句语句为同一程序段

 for i in n:
print(a)
j+=1

2、对for循环的使用

c/c++中用如下形式:for(i=0;i<n;i++){语句},主要是以某一可控值(如:n)控制循环的进行

Python中采用如下形式:for i in range:,采用序列的方式控制循环的进行

3、python的随机数产生

python的随机数产生函数random.randrange()如果传入两个参数,就会产生从低端点(包含)到高端点(不包含)之间的随机数

4、Python的不变性

python中的字符串中的元素不能通过直接赋值修改

如:

 word="game"
word[0]="l"

这段代码就是错的

而在c/c++中则可以直接通过这种方式对字符串进行修改

***需要理解的是,在python中对字符串变量重新赋值并不是改变了字符串,而是重新构造了字符串:test=“keyword”

***这种不变性同样适用于元组(c/c++中的数组):test=("keyword1","keyword2",...)

***如果需要对组合元素序列进行修改,可以使用列表或字典,这两种存储方式可以对其中的元素成员进行修改操作:test=["keyword1","keyword2",...]

5、python不需要对变量的类型进行申明,直接定义,且初始化只需要对变量赋空值即可,如:cout=“”;

6、python可以用负值进行位置编号:

正值的编号是从左向右依次从0开始编号

负值的编号是从右向左一次从-1开始编号

7、python引入了字符串切片的概念:

采用a[start:finish]表示在字符串a中从编号start开始到编号finish之间的片段

***切片概念同样适用于元组、列表和字典

8、Python中的列表和c/c++中的数组

Python中的列表可以利用切片的概念对列表进行整体赋值,如:inventory[4:6]=["orb of future telling"],每个元素间只需空格隔开;

Python编译器自带数据访问的越界检查

Python的列表可以进行整体输入输出

python可以单个删除某个列表元素,也可以利用切片删除连续的多个元素

 >>> test=["word","letter","honest","yes"]
>>> print(test)
['word', 'letter', 'honest', 'yes']
>>> del test[2]
>>> print(test)
['word', 'letter', 'yes']
>>>

c/c++中的数组任何情况下都不允许进行整体赋值(除非重新定义数组),且不会对数组进行越界检查

c/c++的数组不能整体输入输出,删除元素时也只能进行覆盖操作

9、Python中支持嵌套序列

如:可以再列表中包含其他列表或元组

对嵌套元素访问时,可以先把列表中的元组赋给另一个值,从另一个值访问被包含元组的成员值

>>> scores=[("a",100),("b",200)]
>>> score=scores[0]
>>> print(score)
('a', 100)
>>> print(score[0])
a
>>>

也可以直接用类似c/c++中二维数组的形式进行访问:先获得第一层序列的值,然后再获取该值第二层序列值(专业名词叫多重索引)

 >>> score=[("a",100),("b",200)]
>>> print(score[0][0])
a
>>> print(score[0][1])
100
>>>

10、任何类型的序列都可以解包,分别把序列中的各个元素赋值给其他变量,这个是c/c++不具有的性质,使得Python有了更大的灵活性

***元组、列表、字典都是序列

 >>> test=[("a",100),("b",400)]
>>> test1,test2=test
>>> print(test1)
('a', 100)
>>> print(test2)
('b', 400)
>>>

11、Python中对值得存储采用引用的方式,变量本身并不存储值,如:test="python",只是在内存中存储这个字符串,用test作为名字指向这个字符串,对test的任何操作实际上都是对字符串本身的操作,这一点与c/c++不同,实例如下:

 >>> test=["python","java"]
>>> print(test)
['python', 'java']
>>> test1=test
>>> print(test1)
['python', 'java']
>>> test1[0]="c/c++"
>>> print(test1)
['c/c++', 'java']
>>> print(test)
['c/c++', 'java']
>>>

以上例子说明,所谓的变量其实就是一个引用时使用的名字,对这个名字的任何操作,其实都是对他指向的实体内容的操作

但可以通过切片取得原来一个实体的副本,这样对副本的修改就不会影响到原来的实体,因为切片取得的永远都是一个副本

 >>> test=["python","java"]
>>> print(test)
['python', 'java']
>>> test1=test[:]
>>> test1[]="c/c++"
>>> print(test1)
['c/c++', 'java']
>>> print(test)
['python', 'java']
>>>

如以上结果,对test1的修改并没有影响到test所指的值,因为test1是从test切片过来的“副本”

12、python中的静态方法(方法前加入“@stasticmethod”修饰符)尽量不要和其他方法在命名上相同,因为python中在调用时,会优先调用静态方法,如果静态方法和其他方法名称相同,则在运行时会自动忽略对其他方法的调用

这一点上与c++的函数重载有所不同

13、c++中,外部函数对类私有成员的访问是绝对禁止的

但Python中对私有特性的访问却不是绝对禁止的,在私有特性前加入“—类名”,即可实现对其的访问,如:

aaarticlea/png;base64,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*s79y5MyEhoaKi4siRIw4ODtju7e194MCBS5cuVVZW5ubm4vzT9vb2xcXFzs7O2dnZarX6k08+wYk76ezz5s3Ddlymvb39sWPHli9fPgnhAQAAAICpxNFDhaZ//kO2f/rpp8uXL8fGxt65c0etVmN7Zmbmp59+GhERERER0draijNL4reGNTQ0nDp1Kjs7+1//+hdOakln5/F4XV1dycnJuMw1a9aMjIy89tprkxAeAAAAAJhKHD1UiEzg9s3vDWW7tbUVZ+IKDQ0dHh62srIyKDomJqauro54Ls8KhQLb//znPw8NDdnY2NDZCYKQSqXV1dXYnp+ff+XKlXGPBAAAAABMebBsd9/v6uy4165t+5+f7t5taW5ubGi4U1dXq6n94fYPN7+/Wf1PCtnOzMzEy8uXL0cITZ8+Ha86OzsnJycfPnz4+vXrbW1txHPZ3rBhA97Azc0NIfTHP/6Rzk4QxMqVK//973/PmzePIIiffvopNjZ2AmMCAAAAAFMU7rIdHR2Nl728vBBCM2bMIAgiLCysv7//wIED77//vlQq1Wq1xHPZ9vPzw9u/9tprCCEvLy86O15ta2uLjo52c3Mj9RsAAAAAXnK4yzY5k1xfttva2rZu3YrtIpFIX7bJbJKLFi1CCLm4uNDZ8WpWVpZarY6Pj//nP/85QcEAAAAAgKmNvmxTTkNjIdvW1tYjIyPLli3D9rKyMn3ZxtPNCIKIiYnR6XTkvW1jO1nsr7/+evv27fj4+ImKBgAAAABMafRlm3IyGruz7du3b5eUlKxevTo7O/vevXv6st3V1ZWRkREXFzc4OFhQUMBgJ2lqakIILVy4cCIjAgAAAABTFo5n23K5fM2aNXjZ2dlZpVJNmzaNIAg3N7fy8vLGxkaZTObv7y+Xy4nn8rx+/foLFy40NTUVFRXhjensJPn5+bdv357QeAAAAADAFIbj2TYrsDz7+PiYaCepqan5+OOPOdQIAAAAAC8kHM+2WcFNtl1dXRFCixYt4lAjAAAAALyQTN2z7ZSUlDt37nCoDgAAAABeVCbibJvH4/n5+c2cOdNEO2bx4sVvvPEGh+oAAAAA4EVlIs62AQAAAAAYEybibJs152k+AAAAAPByMyXPtkG2AQAAAIAKji83HV9AtgEAAACACpBtAAAAALAYQLYBAAAAwGI4eqjw9s3vTfn8h2wLhUIej2dcHFs7NSDbAAAAAEAF5exxus//ynZ1dXVVVZWHh4dBcWzt1IBsAwAAAAAV589/bvrnf2XbxsYmPj6+v79/7969dnZ2ZHFs7TROgWwDAAAAAAXnz39O+dyXAfX1tf8h2xgnJ6cvv/yyvr7e4AWlbO1GToFsAwAAAAAFWLafPHny+PEvQ0OD//f/Purv7334sKen5/79+x0dHdr29p/+539aqWUbExIS0tvbO2/ePDPtek6BbAMAAAAABebKtoODw5kzZxobG/l8vjn2/3QKZBsAAAAAKOAu2zweb/fu3Q8fPkxPT7e3t+dsp3IKZBsAAAAAKOAo20uXLq2qqrp586anp6d+cWztNE6BbAMAAAAABfqy/dXfLmUdzND/lF44Ty3b3d3d8fHx1tbWBsWxtdM4BbINAAAAABToy/bg4MD5L86Smv3FhfP//ve/h4YGKGTbycmJsji2dhqnQLYBAAAAgAKDi+S9vQ/lp05kHcw49fnJX3/99fHjx6PPJB8Hp0C2AQAAAIAC43vb9+93njv/119++eXXX4c7O9tBtgEAAABgqkA5Ja2v7+Hw8JOff+4y6bntcXAKZBsAAAAAKBiD162Mg1Mg2wAAAABAAcg2AAAAAFgM589/Xl9fa8pnAmUbAAAAAAAqWGcA6+/vhQ984AMf+MAHPlP/A7INH/jABz7wgY/FfIj/I1jf09M96X7ABz7wgQ984AMf5k9PT/f/A53D9EpeckE4AAAAAElFTkSuQmCC" alt="" />

同理,私有方法也是这样的

***同时,Python中提出了一种对特性进行控制的概念,即,对特定的特性修改时做部分限制,只需要在能访问该特性的方法前加入“@property”修饰符,将它设置为属性即可,

并且Python中可以为特性单独设置属性值,格式为:“@+属性的名称+“.”+setter”

14、python中可以直接在变量后携带两个字符串,用来创建新的字符串:

>>> foo="hello""world"
>>> foo
'helloworld'

15、python中引入了原始字符串操作符r/R,用来把常用字符串按照字面意思来使用,而不考虑其转义特性:

>>> f=open("e:\readme.txt","r")

Traceback (most recent call last):
File "<pyshell#14>", line 1, in <module>
f=open("e:\readme.txt","r")
IOError: [Errno 22] invalid mode ('r') or filename: 'e:\readme.txt'
>>> f=open("e:\\readme.txt","r")
>>> f=open(r"e:\readme.txt","r")

以上的例子可以看到使用原始字符串操作符可以用直面语义使用字符串,相对原始的语法规定(包括c/c++)使用起来更为方便

16、python中,字符串不是以"NULL"或“\0”结束的,在对字符串赋值时,不需要考虑字符串结束符的问题,这一点与c/c++有所不同,避免了c/c++由此造成的内存越界。