蜗牛爬行日记——记Python语法基础与C语言的异同(二)
Python的语言特色:
Python是一种解释型语言,与C语言相比,没有了编译这个环节。所以我第一眼看到Python时,觉得这是一种非常简单直观、适合初学者学习的语言。
Python的变量类型:
一、与C语言不同,Python的变量赋值不需要类型声明;
二、Python的五个标准数据类型:包括Numbers(数字)、String(字符串)、List(列表)、Tuple(元组)、Dictionary(字典);
1、Python数字型数据:数字和字符串
C语言的数据类型则包括整型(short、int、long)、字符型(char)和浮点型(float、double),在Python里均涵盖在数字和字符串里了。
2、Python非数字型数据:列表、元组和字典
而C语言里的数组与Python里的列表在定义和操作上都有所不同。列表可以完成大多数集合类的数据结构实现。列表用方括号[ ]标识。创建了一个列表后,可以添加、删除甚至嵌套列表。加号+是列表连接运算符,星号*是重复操作。列表例子见下:
list=['runoob',786,2.23,'john',70.2]
C语言里没有类似元组和字典的定义。在Python里,元组不能进行二次赋值,相当于只读模式的列表,用圆括号()标识。元组例子见下:
tuple=('runoob',786,2.23,'john',70.2)
而字典则类似于通过联系人名称查找地址和联系人详细情况的地址簿,即我们把键(名字)和值(详细情况)联系在一起,用中括号{ }标识。注意,键必须是唯一的。字典例子见下:
dict= {'name':'john','code':6734,'dept':'sales'}
Python运算符
1、算术运算符
C语言中用于基本算术运算的运算符有:+,-,*,%,/。Python的算术运算符中也有:+,-,*,%,/ 这几种运算符,并另有幂运算符**和取整除运算符//。
2、比较运算符
Python的比较运算符中有:等于==,不等于!=,不等于<>,大于>,小于<,大于等于>=,小于等于<=。而C语言中虽也有上述运算符,但表达名称不同,分别有关系运算符>,<,>=,<=
3、逻辑运算符
C语言中逻辑运算符有三种:与&&,或||,非!。而Python中的逻辑运算符也同为这三种,但表达稍有不同,分别是:与and,或or,非not。
4、位运算符
C语言中位运算符有:取反~,左移<<, 右移>>,按位与 &,按位或 |,按位异或^。而Python中的位运算符与C语言中的完全一样,此处不再赘述。
5、赋值运算符(可与算术运算符对比记忆)
C语言中的赋值运算符主要是在赋值符“=”之前加上其他双目运算符,除了“=”之外,还有:+=,-=,*=,%=,/=,<<=,>>=,&=,^=,|=。Python的算术运算符中也有:+=,-=,*=,%=,/ = 这几种运算符,并另有幂赋值运算符**=和取整除赋值运算符//=。
6、成员运算符和身份运算符
这两种运算符是C语言里没有的,成员运算符有in和not in,实例如下:
a = 1
b = 20
list = [1, 2, 3, 4, 5 ]
if(a in list):
print"1 - 变量 a 在给定的列表中 list 中"
else:
print"1 - 变量 a 不在给定的列表中 list 中"
if(b not in list):
print"2 - 变量 b 不在给定的列表中 list 中"
else:
print"2 - 变量 b 在给定的列表中 list 中"
以上实例输出结果:
1 - 变量a 在给定的列表中list中
2 - 变量b不在给定的列表中list中
身份运算符则用于比较两个对象的存储单元。包括is 和 is not 。实例如下:
a=20
b=20
if(a is b):
print"1 - a 和 b 有相同的标识"
else:
print"1 - a 和 b 没有相同的标识"
if(a is not b):
print"2 - a 和 b 没有相同的标识"
else:
print"2 - a 和 b 有相同的标识"
以上实例输出结果:
1 - a和b有相同的标识
2 - a和b有相同的标识
备注:is 与 == 的区别:
is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。