Python作为一门脚本语言与C#相比具有十分简易的语法,从数据类型这里就可见一斑:
数据类型
C#:
1 | int a=5; |
Python:
1 | a=5 |
通过对比可以看出Python声明变量时不需要声明变量类型,直接赋值即可,语句结尾甚至不用添加分号。 并且可以直接输入“0x…”代表16进制数,如0x0a28d。科学记数法可写为xey的形式,如1.6e3=1.6*10^3。 直接将变量输入False或者True即可将变量初始化为布尔类型。逻辑运算符为and(&&),or(),not(!)括号内代表C#的逻辑运算符。 空值用None表示。
输出
1 | print(a+b) |
没错,有时连括号都可以省略。 用逗号连接各字符串,相当于C#的”+”,但是连接处会有一个空格 Python中的“+”连接虽无空格但只用于连接字符串 另外,Python不支持自加运算符++或—,若要使用请改为x+=1
注释
1 | print(a+b) #打印a+b的值 |
井号注释掉一行,相当于C#的双斜线
变量的声名
特别注意的是,Python声明的变量是动态的,也就是说变量并不固定于某一个类型,这点与C系列语言均不同,如
1 | a=5 |
这是可以编译通过的,其中需要注意的是: 1.字符串初始化用双引号“”或单引号’’均可 2.变量名规则,这点倒是与C系列相同
转义字符
既然双引号用作字符串的声明,那么字符串里要用双引号怎么办? 学过C#的同学都只知道,用反斜线呗(\\),对了,这里python也可以这么用。但是,在python里你也可以用单引号声明字符串,这样字符串里就可以有双引号了!惊不惊喜?意不意外? 但是,要是我一行代码里反斜线、单引号、双引号都有怎么办?角度刁钻,但是python也可以解决,那就是用r加一对单引号:
r’…’
这里r代表raw,单反发烧友都知道,原始数据。 那我要是还想换行怎么办?你这一原始我\\n也不能用了啊?别急,这还有:r加三对单引号,里面你可以任意换行!
r’’’…’’’
C、C++、C#、Java跪
1 | print "Hello!\nPython is so great!" |
上面这俩输出结果相同。 由于某些Python版本差异,个别输出中文、日文等非英语字符时无法正常显示,这时就要在字符串前加u,代表其中是Unicode码。 那么,如果像C#这样:
1 | string time="10:00",nexttime="11:00"; |
该如何实现呢?可以这样: time=10:00 nexttime=11:00 printf ‘Now time is %s,Next time is %s’ %(time,nexttime) 与C语言一样,%s代表string数据类型。