内容简介:本文利用的是Python 3.x版本,建议学习3.x版本其实就可以理解浮点数是实数,浮点数在计算机内部是以科学记数法表示的,要记住的就是浮点数的运算是有误差的,而整数的运算是永远精确的!!例如,你可以运行以下代码,看看结果是不是和你想的一样
本文利用的是 Python 3.x版本,建议学习3.x版本
Python中的基本数据类型、运算、变量
1. 基本数据类型
1.1 整数
py
可以处理任意大小的整数,例如 123
, 123456789132456
,任意大小,而像 C
, Java
等这种语言对整数大小是有要求的,换句话说就是大小是确定的,例如 C
中的 int
一般是 4
个字节,范围是 -2147483648~+2147483647
,至于为什么 py
可以这样,因为 py
内部会根据数的大小进行调整空间,让空间可以存储的下这个数据,因此没有人会说 py
的 int
是 4
个字节(实际上比 4
大很多)。
print(type(3)) #会输出数据类型int
1.2 浮点数
其实就可以理解浮点数是实数,浮点数在计算机内部是以科学记数法表示的,要记住的就是浮点数的运算是有误差的,而整数的运算是永远精确的!!例如,你可以运行以下代码,看看结果是不是和你想的一样
print(1.5-1.4)
可能会出现下图的结果,这就是因为浮点数不是精确的
1.3 字符串
用 "
或 '
括起来的字符,就是字符串,如果字符串内部有 '
,则可以用 "
括起来还可以用转义符号反斜杠,以下是实例
print('hello') print("hello") print("I'am ") print('\'') print("'\"") # \n是换行,如果\n在字符串里不方便阅读,还可以写成如下形式 print('''line1 line2 line3''') # 等价于 print('line1\nline2\nline3') # print函数默认会输出后换行,关于print的具体用法之后再说
1.4 布尔值
布尔值是 True
或 False
,要么为真要么为假,例如 (10<5)
这个式子是不正确的,则这个式子的布尔值是 False
。一般布尔值和布尔运算用在判断表达式中
and,or,not
是三个布尔运算的操作符。 True and False
的结果为 False
,就是说用 and
运算的布尔值,只要有一个是 False
,则结果为 False
,必须全为 True
,才能为 True
, True or False
的结果为 True
,用 or
运算的布尔值只要有一个为 True
,则结果为 True
,全为 False
时结果才是 False
, not False
的结果是 True
, not
用来取反。例如以下代码
print(True or False) print(True and False) print(not True)
以下是布尔运算真值表,包含了上面描述的情况。
1.5 空值
空值是 py
里一个特殊的值,用 None
表示。 None
不能理解为 0
,因为 0
是有意义的,而 None
是一个特殊的空值。
总结
以上是 py
的基本数据类型,此外 py
还提供了列表、字典等多种数据类型,还允许创建自定义数据类型,以后会涉及到。
2. 表达式运算
有了数据以后,我们还得对数据进行运算以得到我们想要的结果。数据对象和操作符结合后,组成了表达式,一个简单的表达式为 2 + 3
两个操作数,一个操作符。以下是基本的数的运算操作符
1 + 2 #和 1 - 2 #差 1 * 2 #积 #以上的结果都是int,如果其中有一个数为float,则结果为float 1 / 2 #商,结果是float 3 % 2 #模运算,也就是求余数 5 // 2 #整除运算,结果是2 2**3 #乘法运算,结果是8
以下是测试图片
3. 变量
3.1 什么是变量
变量基本和代数中变量是一个意思,例如我们在方程中最常用的 x
。只不过在计算机中变量可以代表各种各样的数据类型。
变量在程序中就是用一个变量名表示了,变量名必须是大小写英文、数字和_的组合,且不能用数字开头。在编程语言中,等号 =
不再是数学上相等的概念了,而是赋值的意思,也可以说是分配值,例如以下代码
pi = 3.14159
左边的 pi
代表变量,右边的 3.14159
代表值,将值利用 =
赋予给变量 pi
,这就是以上代码的含义。值储存在计算机的内存中,可以看成是将这个值和一个名字进行了绑定,当我们需要使用这个值的时候,只需使用 pi
即可。就像我们每个人都有名字一样,一个名字对应了一个人(不考虑重名)。
为什么要给值一个名字呢,为了我们使用方便,例如
pi = 3.14159 r = 2.2 area = pi*(r**2) ##计算圆的面积
不用每次都使用 3.14159
,而且顾名思义,变量是会发生变化的,在程序运行中途可能发生变化,我们无法提前预知,所以这个时候更加展现出了变量的作用。我们看以下代码
x = 5 x = x + 1 print(x) #结果为6
如果按照数学上的理解 x=x+1
是不成立,但是在计算机中 =
是赋值号,所以这个式子的意思是将 x+1
的值赋予给 x
, x+1
的值是 6
,所以最后将 6
赋予给 x
,所以 x
最终的结果为 6
3.2 改变变量的值
我们可以重新绑定变量和值,使用一个赋值式子即可,例如
x = 6 print(x) x = 5 print(x) #输出为6和5
现在 x
和 5
绑定在了一起, 6
这个值依然存储在计算机的内存中,但是可能没有变量和其绑定,所以我们再也不能使用这值了,就算我们新分配一个 6
给 x
,这个 6
也不是之前的 6
了。所以可以说之前这个 6
是一个废值, py
内部会有垃圾回收机制,检测到这个值是垃圾后,会回收这块空间供之后分配的值使用。我画了以下的图便于理解。
我们也可以将 x
绑定为其他数据类型,例如
x = 5 x = True
如果读者会类似于 C
或 Java
(静态语言)的语言的话,会觉得如上的写法不可思议,会报错,但是在 py
这就可以使用,因为 x
仅仅是一个名字,和哪个值绑定完全取决于我们,但是不建议这样更改绑定的数据类型,最好从始至终让变量保持一种数据类型。
例如两个人合作写代码,第一个人开始将 x
作为 int
使用,后来当作字符串使用,第二个人在阅读第一个人写的代码时,稍有不慎就会将 x
的数据类型搞错,从而带来不必要的麻烦。
最后
以上只是快速理解和学习的入门级知识,不涉及深入的理解,例如动态语言、对象、引用等概念,可以自己搜索了解。不过建议学习时,首先有一个总体的把握,首先理解这是个什么东西,等大致都清楚后,再深究细节,这样的学习方法我认为比较好。不然一上来就深究细节,对于已经入门的同学来说倒没什么,要是还没入门就深究细节,怕是要劝退。
题外话,知识本来就应该反复的学习,温故而知新,一层层的学习。先搞清楚这是什么,怎么来的,有什么用,这样学习起来不会迷茫。国内的教学,例如数学方面,有些不好的地方在于,上来就是公式,定理,而忘了最根本的问题,为什么会有这个公式?这个公式有什么用?(不是做题),例如矩阵的特征值,特征向量,可以用来解决生态系统中的动力方程的问题。这样学起来恐怕就不会那么迷茫了吧~
如果觉得不错,可以分享~可以关注公众号~
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 常量变量-运算符-程序结构01
- 支持四则运算中的变量
- python3 第五章 - 什么是变量、运算符、表达式
- 木兰语言 0.0.19 补完二元运算;重现 yield 语法;赋值时可指定变量类型
- 【Java】使用位运算(&)代替取模运算(%)
- ES6—扩展运算符和rest运算符(6)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
跟我学Java Web
2010-9 / 58.00元
Java Web开发是目前最流行、使用最广泛的网站开发技术。《跟我学Java Web》通过对Java Web开发中所运用到的各种技术循序渐进地进行讲解,使读者能尽快掌握开发Web应用程序的方法。《跟我学Java Web》内容包括搭建Web开发环境、HTML相关技术基础知识、JavaScript相关技术基础知识、JSP技术基础知识、Servlet技术基础知识、搭建MySQL数据库开发环境、JDBC技......一起来看看 《跟我学Java Web》 这本书的介绍吧!