1. Python中的基本数据类型、运算、变量

时间:2021-06-15 02:06:17

本文利用的是Python 3.x版本,建议学习3.x版本

Python中的基本数据类型、运算、变量

1. 基本数据类型

1.1 整数

py可以处理任意大小的整数,例如123123456789132456,任意大小,而像CJava等这种语言对整数大小是有要求的,换句话说就是大小是确定的,例如C中的int一般是4个字节,范围是-2147483648~+2147483647,至于为什么py可以这样,因为py内部会根据数的大小进行调整空间,让空间可以存储的下这个数据,因此没有人会说pyint4个字节(实际上比4大很多)。

print(type(3))
#会输出数据类型int

1.2 浮点数

其实就可以理解浮点数是实数,浮点数在计算机内部是以科学记数法表示的,要记住的就是浮点数的运算是有误差的,而整数的运算是永远精确的!!例如,你可以运行以下代码,看看结果是不是和你想的一样

print(1.5-1.4)

可能会出现下图的结果,这就是因为浮点数不是精确的

1. Python中的基本数据类型、运算、变量

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 布尔值

布尔值是TrueFalse,要么为真要么为假,例如(10<5)这个式子是不正确的,则这个式子的布尔值是False。一般布尔值和布尔运算用在判断表达式中

and,or,not 是三个布尔运算的操作符。True and False的结果为False,就是说用and运算的布尔值,只要有一个是False,则结果为False,必须全为True,才能为TrueTrue or False的结果为True,用or运算的布尔值只要有一个为True,则结果为True,全为False时结果才是Falsenot False的结果是Truenot用来取反。例如以下代码

print(True or False)
print(True and False)
print(not True)

以下是布尔运算真值表,包含了上面描述的情况(来自MIT)。

1. Python中的基本数据类型、运算、变量

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

以下是测试图片

1. Python中的基本数据类型、运算、变量

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的值赋予给xx+1的值是6,所以最后将6赋予给x,所以x最终的结果为6

3.2 改变变量的值

我们可以重新绑定变量和值,使用一个赋值式子即可,例如

x = 6
print(x)
x = 5
print(x)
#输出为6和5

现在x5绑定在了一起,6这个值依然存储在计算机的内存中,但是可能没有变量和其绑定,所以我们再也不能使用这值了,就算我们新分配一个6x,这个6也不是之前的6了。所以可以说之前这个6是一个废值,py内部会有垃圾回收机制,检测到这个值是垃圾后,会回收这块空间供之后分配的值使用。我画了以下的图便于理解。

1. Python中的基本数据类型、运算、变量

我们也可以将x绑定为其他数据类型,例如

x = 5
x = True

如果读者会类似于CJava(静态语言)的语言的话,会觉得如上的写法不可思议,会报错,但是在py这就可以使用,因为x仅仅是一个名字,和哪个值绑定完全取决于我们,但是不建议这样更改绑定的数据类型,最好从始至终让变量保持一种数据类型。
例如两个人合作写代码,第一个人开始将x作为int使用,后来当作字符串使用,第二个人在阅读第一个人写的代码时,稍有不慎就会将x的数据类型搞错,从而带来不必要的麻烦。

最后

以上只是快速理解和学习的入门级知识,不涉及深入的理解,例如动态语言、对象、引用等概念,可以自己搜索了解。不过建议学习时,首先有一个总体的把握,首先理解这是个什么东西,等大致都清楚后,再深究细节,这样的学习方法我认为比较好。不然一上来就深究细节,对于已经入门的同学来说倒没什么,要是还没入门就深究细节,怕是要劝退。

题外话,知识本来就应该反复的学习,温故而知新,一层层的学习。先搞清楚这是什么,怎么来的,有什么用,这样学习起来不会迷茫。国内的教学,例如数学方面,有些不好的地方在于,上来就是公式,定理,而忘了最根本的问题,为什么会有这个公式?这个公式有什么用?(不是做题),例如矩阵的特征值,特征向量,可以用来解决生态系统中的动力方程的问题。这样学起来恐怕就不会那么迷茫了吧~

如果觉得不错,可以分享~可以关注公众号~

1. Python中的基本数据类型、运算、变量

1. Python中的基本数据类型、运算、变量的更多相关文章

  1. python中不可变数据类型和可变数据类型

    在学习python过程中我们一定会遇到不可变数据类型和可变数据类型. 1.名词解释 以下所有的内容都是基于内存地址来说的. 不可变数据类型: 当该数据类型的对应变量的值发生了改变,那么它对应的内存地址 ...

  2. Python教程&lpar;2&period;2&rpar;——数据类型与变量

    和C/C++.Java一样,Python也有数据类型和变量两个概念. 数据类型 Python中的几个基本数据类型为整数(integer/int).浮点数(float/float).布尔值(boolea ...

  3. python中的常用数据类型

    python中的常用数据类型 以下是个人总结的python中常见的数据类型,话不多说,我们直接步入正题: 数字类型 整型类:int类可以表示任意大小的整数值,在python中没有像JAVA或者C那样的 ...

  4. python中 and 和 or 运算的核心思想 ——— 短路逻辑

    python中 and 和 or 运算的核心思想 --- 短路逻辑 1. 包含一个逻辑运算符 首先从基本的概念着手,python中哪些对象会被当成 False 呢?而哪些又是 True 呢? 在Pyt ...

  5. &lbrack;转&rsqb;关于python中带下划线的变量和函数的意义

    Python 的代码风格由 PEP 8 描述.这个文档描述了 Python 编程风格的方方面面.在遵守这个文档的条件下,不同程序员编写的 Python 代码可以保持最大程度的相似风格.这样就易于阅读, ...

  6. python中实现三目运算

    python中没有其他语言中的三元表达式,不过有类似的实现方法 如: a = 1 b =2 k = 3 if a>b else 4 上面的代码就是python中实现三目运算的一个小demo, 如 ...

  7. python中的特殊数据类型

    一.python中的特殊数据类型 对于python,一切事物都是对象,对象基于类创建.像是“wangming”,38,[11,12,22]均可以视为对象,并且是根据不同的类生成的对象. 参照:http ...

  8. Python中的基本数据类型之列表与元组初步了解

    一.什么是列表 1.列表是Python中的基本数据类型之一用[]来表示,每一项元素由逗号隔开,列表什么都能装,(能装对象的对象) 2.可以用来存放大量数据 3.是一个可以改变的数据类型 二.列表的索引 ...

  9. python语言学习7——数据类型和变量

    整数 python可以处理任意大小的整数,包括负整数,在程序中的表示方法和数学上的写法一样 计算机由于使用二进制,有时候采用十六进制表示整数比较方便,十六进制数用0x前缀 浮点数 简单的小数就直接用小 ...

随机推荐

  1. PHP获取上个月最后一天的一个容易忽略的问题

    正常来说,PHP是有一个很方便的函数可以获取上个月时间的 strtotime (PHP 4, PHP 5, PHP 7) strtotime - 将任何英文文本的日期时间描述解析为 Unix 时间戳 ...

  2. Easyui 设置datagrid 进入编辑状态&comma;保存结束编辑

    在datagrid中如何实现让一行进入编辑状态,修改数据后,保存信息呢? //点击列表变成文本框,进入可编辑状态 $(function () { var doc = $(document), tabl ...

  3. Django TemplateSyntaxError Could not parse the remainder&colon; &&num;39&semi;&lpar;&rpar;&&num;39&semi;

    返回的数据是列表集合,如 n [5]: a = set() In [6]: a.add((1, 3)) In [7]: a Out[7]: {(1, 3)} 在模板中使用方式如下: {% for ar ...

  4. DNS&lpar;二&rpar;之构建域名解析缓存

    域名解析缓存的必要性 在部署服务的时候,很多程序需要使用域名解析的功能,一般配置/etc/resovl.conf去指定DNS服务器的IP,但是如果程序发起的请求量较大,那么服务器就容易被DNS服务器禁 ...

  5. postfix之dovecot

    dovecot-1.0.rc14安装 注:我的系统是RHEL4一.RPM格式1.安装RPM包:2.编辑/etc/dovecot.conf其中,修改protocols = imap pop3 passd ...

  6. 【Repost】A Practical Intro to Data Science

    Are you a interested in taking a course with us? Learn about our programs or contact us at hello@zip ...

  7. java 中的几种 &quot&semi;通用方法&OpenCurlyDoubleQuote;

    前言 Java中,除了基本的数值类型,其他所有数据类型(包括数组)都是对象. 而Object这个类是所有类的超类,它提供的方法,自然能够使用于它的所有子类(所有非基本数值类型). 本文介绍了Objec ...

  8. POJ 1611

    菜鸟第一次做这种.想了好一会儿.== 首先还是初始化记忆数组,使得每一个元素的初始根节点是自己. 然后是对输入的数据进行并集.我们拿出每组元素的第一个作为根节点. 每次检测是否已经存在根节点.如果存在 ...

  9. scjp考试准备 - 6 - 父类构造器的引用

    题一,如下代码的执行结果: class Person{ String name = "No name"; public Person(String nm){name = nm;} ...

  10. C&num;中邮件的发送基本操作

    本地配置的邮箱:http://localhost:6080/index.php //邮件的收发需要用到两个类   //1.用来创建一封邮件对象     //1.MailMessage 添加对 usin ...