Python语法基础以及其与C、VB以及JS等语法的对比

定义变量

Python 和 JS 均为弱类型语言,即在定义一个变量时,只需声明其名字,而无需显式声明其类型。而C和VB则于此不同。例如:

int i = 1;    // C         

Dim i As Integer = 1   ' VB       

var i = 1; (全局变量) 或直接 i = 1; (局部变量)    // JS         

i = 1    # Python 

再例如声明一个字符串类型:

Char[] str = "1adcfeee";    // C 在C++和C#中可直接使用 String 定义         

Dim str As String = "1adcfeee"  ' VB       

var str = "1adcfeee"; (全局变量) 或直接 str = "1adcfeee"; (局部变量)    // JS         

str = "1adcfeee"    # Python 

定义列表(在Python中类似的结构还有元组、字典等,js中亦有字典)

在 Python 和 js 中, 不同类型可以储存在同一个列表中,但如果C类语言或VB需要在一个列表中储存不同类型的数据,就需要结构体或者共用体或者泛型或者地址指针或者反射等一系列骚操作。

int[] l = [1, 2, 3, 4, 5];  // C
Dim l as List<Integer>   ' VB
var l = [1, 2, 3, 4, 5]; 或直接 i = [1, 2, 3, 4, 5];  // JS
l = [1, 2, 3, 4, 5]   # Python
l = [1, 'a', 'abs', 4.22, 5]   # Python 可以储存不同类型的数据在同一列表中
A = (1, 2, 4, 'm')  # Python 元组,其中的值自定义起便无法被修改。
D = {'a':1, 'c':3, 'd':4}  # Python 字典,可通过键值Key取得对应的Value

循环与判断

在整体结构上,Python 和 VB比较相近,都是靠缩进来定义作用域。以For循环为例:

// C 类语言
for(int i = 0; i < l.length; i++){
    ......;
}

// VB
For i In l
    i.....
Next

// JS
for(int i = 0; i < l.length; i++){
    ......;
}

# Python
for i in l:
    i......

判断以If为例:

// C 类语言
if(true){
    ......;
}else if(true){
    ......;
}else{
    ......;
}

// VB
If True Then
    .....
Elif True Then
    .....
Else
    .....    
End If

// JS
if(true){
    ......;
}else if(true){
    ......;
}else{
    ......;
}

# Python
If True:
    ......
Elif True:
    ......
Else:
    ......


Python 是表达型语言,具有丰富的类库和基础库,其中有很多在底层都是由C写成的,因此Python在运行效率上其实是不如C语言的。但它精简的结构、易于理解的代码方式和强大的机器学习支持得到了很多人的青睐。也希望以后计算机的发展,可以弥补高层次语言在运行效率和内存占用上的不足。

关于其它的一些细节:

例如 Pyhon 中对于类的定义:

class ListNode:
    Value = ''    # 属性 1
    Next = None   # 属性 2
 
    def __init__(self, value):  # 初始化函数,self是默认的参数,剩下的需要传入
        self.Value = value
        self.Next = None
 
    def set_next(self, next):  # 其它方法 1 ,self是默认的参数无需传入
        self.Next = next
 
    def get_value(self):       # 其它方法 2 ,self是默认的参数无需传入
        return self.Value
 
    def get_next(self):        # 其它方法 3 ,self是默认的参数无需传入
        return self.Next

Pyhon 中的 main 函数:

if __name__ == '__main__':  # 主函数开始
    my_list = List() 
    for i in range(0, 10):
        my_list.add(i)  
    my_list.print_list()  
    my_list.reverse() 
    my_list.print_list()  

对于 Python 文件来说,如果有主函数就从主函数开始执行。如果在文件中有无缩进,直接顶格写的、不属于任何类或函数代码,则默认也为主要代码,会顺序执行。

在 Python 中还有一点需要注意,无论是类还是方法,都需要先定义结束,才能调用使用。因此当类别非常多且方法非常复杂时,会使代码非常臃肿,建议将方法封装为类,再将每个类放在单独的文件中,再引用到主代码里,这便于理解和维护,也是比较好的习惯。

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值