1、在Java、C++中,2 / 3 == 0,也就是整数 / 整数 == 整数,会把小数部分舍掉。而在python中2 / 3 == 0.66666.... 不会舍掉小数部分。
在编程语言中,浮点数遵循IEEE754标准,不存在四舍五入,所以打印出来是0.6665,而不是67.
2、在python的编译环境下不需要在语句结尾加上;
3、python的变量类型与Java、C++不同,并且在编译器上设置变量不需要在前面加上变量类型,根据给变量的初始值可以自动确定变量类型:
4、python中变量类型可以根据赋值不同而改变(动态类型):
5、注释
python中行注释是在语句前面加上 #
批量注释的方法是选中一段代码,Ctrl + / 注释,取消注释也是一样。
还有一种方式是使用文档字符串注释 ''' ''' 或者是""" """
6、连续的关系运算符
在C,Java中不能使用连续的< 比较,但在python中可以。
7、python中没有前置++ 和后置++,只有+=
其实++是一个过时且不友好的设计,在新的编程语言框架中已经被舍弃,如GOlang中就取消了前置++
显示变量类型的方法:
1、int类型:在python中,int 类型的表示范围是无穷的; 而在Java、C++中,int类型范围是 -21亿~ +21亿,要想表示更大的范围,就需要用到long, longlong等类型,相对的,python中不存在long类型。int默认是4字节大小,但是在这可以动态扩容,随着数字变大。
2、float类型:python中的float类型是8byte大小,和Java中的double类型一样大,也就是说,python中的float就等于Java中的双精度浮点数double,当然python中也不存在double类型了。
由此可见python的设计哲学:解决一个问题,只提供一种方案,能简则简。这种思想降低了我们的学习成本,做了简化。
3、str字符串类型:python中字符串可以用单引号' 双引号'' 甚至三引号''' 来表示。
为什么需要这么多引号呢?————因为如果碰到字符串内语句本身就有引号的情况,那就需要不同引号来区别了:
python中字符串可以直接相加,效果是接续在后面(数字不可和字符串相加)
我们还可以使用len来计算字符串长度(int,float类型不行):
4、bool类型:True为真,False为假,占一个字节。
还有很多其他类型如:list , tuple, dict......后续再说明。
1、动态变量
上面已经提到过动态变量,可以根据赋值的改变而更改类型。
像Java中的变量就不能进行上述操作,一开始就规定了变量类型无法更改,这是静态变量。
而实际上python的变量在初始化时也可以声明类型:
动态类型比较灵活,提高了语言的表达能力,但是编程中“灵活” 反而是件坏事,因为更容易出错。尤其是在多人开发中更是如此,当一个大型项目使用动态类型,而他又可以随时改变类型,会造成很多麻烦,所以一般刚创业的小公司会多使用python开发,因为简单好上手开发快,但大中型企业就不会用python做底层框架了。
2、格式化打印字符串
C语言中打印字符串是用printf,%d %f这类占位符实现的;
C++中使用标准化格式输出std::cout << 实现的;
Java中采用字符串拼接的方式,允许字符串和其他类型的值进行拼接。
而python起初也是采用了类似C语言printf 的方式,但是在3.6版本完成了迭代升级,采用了格式化打印字符串的方式 f-string,更加简洁高效。
使用这种语法,可以往字符串里嵌入变量或者表达式。
3、input输入操作
注意:input输入的内容是字符串。
4、类型转换
结合上面,既然input输入的是字符串,那么要进行算术运算怎么办呢?————这时候就需要类型转换。
a = int(a) b = float(b) c = str(c)
5、运算符
一、算术运算符
运算优先级和C是一样的,都是先乘方,再乘除后加减,改变顺序加括号。
(1)乘方的表示方式是 ** ,也可表示开方(** 后跟小数)。
(2)除法要注意不能 /0 ,否则会报异常。并且python中除法不会截断,也就是整数 / 整数 可以为小数,与C,Java不同。
(3)// 是地板除法,也叫向下取整除法:
这里除法进行了截断,向下取整。注意正负数的 // 规则有所不同。
二、关系运算符
浮点数的大小比较又和整数有所不同,我们之前说过,浮点数的算术运算存在细微的误差,比如:
对于python中的 == 来说,必须完全一样的两个比较对象才能达到True 的结果,有一点误差都不行。
三、逻辑运算符
and or not 与C中 && || !等同。
四、赋值运算符