今天开始新的征程——Python系统化学习。从入门开始,借助这个机会也想比较一下Python、C、C#语言之间的异同。
从最基础的开始,认识编程世界里面的基石——变量、运算符、数据类型及位运算。
注释
语言类别 | Python | C | C# |
---|
单行注释 | # | // | // |
多行注释 | “”“ ”“” 或者 ‘’‘ ’‘’ | /* */ | /* */ |
运算符
算术运算符
名称 | Python | C | C# |
---|
加 | + | + | + |
减 | - | - | - |
乘 | * | * | * |
除 | / | / | / |
整除 | // | 与变量类型有关 | 与变量类型有关 |
取余 | % | % | % |
幂 | ** | 无 | 无 |
自增 | 无 | ++ | ++ |
自减 | 无 | -- | -- |
比较运算符
名称 | Python | C | C# |
---|
大于 | > | > | > |
大于等于 | >= | >= | >= |
小于 | < | < | < |
小于等于 | <= | <= | <= |
等于 | == | == | == |
不等于 | != | != | != |
逻辑运算符
名称 | Python | C | C# |
---|
与 | and | && | && |
或 | or | || | || |
非 | not | ! | ! |
位运算符
名称 | Python | C | C# |
---|
按位取反 | ~ | ~ | ~ |
按位与 | & | & | & |
按位或 | | | | | | |
按位异或 | ^ | ^ | ^ |
左移 | << | << | << |
右移 | >> | >> | >> |
三元运算符
Python | C | C# |
---|
x if condtion else y | condtion?x:y | condtion?x:y |
其他运算符
Python
操作符 | 名称 |
---|
in | 存在 |
not in | 不存在 |
is | 是 |
is not | 不是 |
C#
操作符 | 名称 |
---|
sizeof() | 数据类型大小 |
typeof() | class类型 |
& | 取址 |
* | 指针 |
is | 判断类型 |
as | 强制转换 |
C
操作符 | 名称 |
---|
sizeof() | 数据类型大小 |
& | 取址 |
* | 指针 |
赋值运算符
名称 | Python | C | C# |
---|
赋值 | = | = | = |
加法赋值 | += | += | += |
减法赋值 | -= | -= | -= |
乘法赋值 | *= | *= | *= |
除法赋值 | /= | /= | /= |
取模赋值 | %= | %= | %= |
幂赋值 | **= | 无 | 无 |
取整除赋值 | //= | 无 | 无 |
左移且赋值 | 无 | <<= | <<= |
右移且赋值 | 无 | >>= | >>= |
按位与且赋值 | 无 | &= | &= |
按位异或且赋值 | 无 | ^= | ^= |
按位或且赋值 | 无 | |= | |= |
数据类型
名称 | Python | C | C# |
---|
整型 | int | int | int |
浮点型 | float | float | float |
bool型 | bool | | bool |
双精度浮点 | | double | double |
字节 | | char | sbyte |
无符号字节 | | unsigned char | byte |
短整型 | | short | short |
无符号短整型 | | unsigned short | ushort |
无符号整型 | | unsigned int | uint |
长整型 | | long | long |
无符号长整形 | | unsigned long | ulong |
无类型 | | void | void |
字符 | | | char |
无符号字符 | | | unsigned char |
字符串 | | | string |
高精度浮点型 | | | decimal |
习题思考
- 怎样对python中的代码进行注释?
#
单行注释,‘’‘ ’‘’
“”“ ”“”
多行注释。
- python有哪些运算符,这些运算符的优先级是怎样的?
- 一元运算符优于二元运算符。例如
3 ** -2
等价于3 ** (-2)
。 - 先算术运算,后移位运算,最后位运算。例如
1 << 3 + 2 & 7
等价于 (1 << (3 + 2)) & 7
。 - 逻辑运算最后结合。例如
3 < 4 and 4 < 5
等价于(3 < 4) and (4 < 5)
。
- python 中
is
, is not
与 ==
, !=
的区别是什么?
is
, is not
对比的是两个变量的内存地址==
, !=
对比的是两个变量的值- 比较的两个变量,指向的都是地址不可变的类型(str等),那么
is
,is not
和 ==
,!=
是完全等价的。 - 对比的两个变量,指向的是地址可变的类型(list,dict,tuple等),则两者是有区别的。
- python 中包含哪些数据类型?这些数据类型之间如何转换?
- 整型、浮点型、bool型
- 转换为整型
int(x, base=10)
- 转换为字符串
str(object='')
- 转换为浮点型
float(x)
引用
- https://www.runoob.com/csharp/csharp-tutorial.html
- https://www.runoob.com/cprogramming/c-tutorial.html
- https://www.runoob.com/python3/python3-tutorial.html
- https://github.com/datawhalechina/team-learning-program/blob/master/Python-Language/01.%20%E5%8F%98%E9%87%8F%E3%80%81%E8%BF%90%E7%AE%97%E7%AC%A6%E4%B8%8E%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B.md