目录
- 变量类型
- 运算符
变量类型
1.变量的定义
变量:承装数据的小箱子,保存的数据可以被多次修改。
常量:承装数据的小箱子,保存的数据不能被修改。
2.变量的使用
(1)补充概念
声明变量: 有两种情况如下
第一种情况:需要建立存储空间,例如 int a 在声明的时候就已经建立了存储空间。
第二种情况:不需要建立存储空间,例如 extern int a 其中变量a是在别的文件中定义的。
定义变量: 声明中包含着定义,一般我们把建立存储空间的声明称为定义,把不建立存储空间的声明称为声明。(声明的最终目的是在定义前使用,如果不需要提前使用就没有单独声明的必要,所以声明不会分配存储空间,只有定义时才会分配存储空间)
强类型语言: 如C、C++,定义变量时要指明变量的类型,而且赋值的数据也必须是相同类型的。比如:int n=10
弱类型语言: 如python、javascript、php等脚本语言。弱类型语言有两个特点如下
第一个特点:变量无需声明就可以直接赋值,对一个不存在的变量赋值就相当于定义了一个新变量。
第二个特点:变量的数据类型可以随时改变,比如,同一个变量可以一会儿被赋值为整数,一会儿被赋值为字符串。
(2)使用python变量时,只要知道变量的名字即可,几乎在python代码的任何地方都能使用变量。
3.变量的类型
(1)整型int
python整型的设定:
有些强类型的编程语言会提供多种整数类型,每种类型的长度都不同,能容纳整数的大小也不同,开发者要根据实际数字的大小选用不同的类型。例如C语言提供了short、int、long、long long四种类型的整数,它们的长度依次递增,初学者在选择整数类型时往往比较迷惑,有时候还会导致数值溢出。
而python则不同,它的整数不分类型,或者说它只有一种类型的整数。python整数的取值范围是无限的,不管多大或多小的数字,python都能轻松处理。当数值超过计算机处理能力时,python会自动转用高精度计算(大数计算)。比如下面,x是一个极大的数字,y是一个极小的数字,python都能正确输出,不会发生溢出,这说明python对整数的处理能力非常强大。
整数的不同进制:
在python中,可以使用多种进制来表示整数。
十进制形式:由0-9共十个数字排列组合而成
注意,使用十进制的整数不能以0作为开头(除非本身是0)
二进制形式:由0和1两个数字组成,书写时以0b或0B开头。
八进制形式:由0-7共八个数字组成,以0o或0O开头。
十六进制形式:由0-9十个数字以及A-F(或a-f)六个字母组成,书写时以0x或0X开头。
补充:为提高数字的可读性,python3中允许使用下划线作为数字(包括整数和小数)的分隔符,通常每三个数字添加一个下划线,下划线不会影响数字本身的值。
(2)浮点数float
浮点数的定义:
在编程语言中,小数通常以浮点数的形式存储(python中只有一种小数类型,就是float)。浮点数和定点数是相对的:小数在存储过程中如果小数点发生移动,就称为浮点数;如果小数点不动,就称为定点数。
浮点数的表示:
在python中有两种书写方式
十进制形式:这种就是我们平时看到的小数形式,如43.3、0.345等。书写小数时必须包含一个小数点,否则会被python当作整数处理。
指数形式:aEn或aen,a表示尾数部分,是一个十进制数,n表示指数部分,是一个十进制整数。E或e是固定的字符,用于分隔尾数部分和指数部分,整个表达式等价于ax10n,例如:2.1E5=2.1x105,其中2.1是尾数,5是指数。
注意:只要写成指数形式就是小数,即使它的最终值看起来像一个整数,例如14e3等价于14000,但14e3是一个小数。
(3)复数complex
复数是python的内置类型,即不依赖于标准库或第三方库,直接书写即可。
书写形式:a+bj或a+bJ,其中a表示实部,b表示虚部。
(4)字符串
字符串的定义: 若干个字符的集合就是一个字符串
字符串的表示: 字符串必须由双引号“”和单引号‘’包围,单引号和双引号没有任何区别。
“字符串内容”
‘字符串内容’
处理字符串中的引号:
第一种方法:在引号前添加反斜杠\对引号进行转义,让python把它作为普通文本对待。
第二种方法:使用不同的引号包围字符串,如果字符串内容中出现了单引号,那么我们可以使用双引号包围字符串,反之亦然。
字符串的换行:
换行书写一个比较长的字符串,在行尾添加反斜杠\。
长字符串:
使用三个双引号“““或三个单引号‘‘‘包围的字符串就变成了长字符串,可以不使用反斜杠\。
原始字符串:
如果字符串是windows路径如D:\program…,因为\的特殊性,我们需要对字符串中的每个\都进行转义,也就是写成D:\program\…,这种写法稍有不慎就会出错。
为了解决转义字符的问题,python支持原始字符串。在原始字符串中,反斜杠\不会被当成转义字符。在普通字符串或长字符串的开头加上r前缀,就变成了原始字符串。
(5)字节串bytes
bytes以字节序列的形式(二进制形式)来存储数据,支持的方法和字符串类似,和字符串一样不能随意增加和删除数据。
(6)布尔类型bool
True:真
False:假
注意:布尔类型可以当作整数来对待
这里补充三个函数:
int(string):将字符串转换成int类型
float(string):将字符串转换成float类型
bool(string):将字符串转换为bool类型
运算符
1.算数运算符
(1)加法运算符:用于数字时表示加法,用于字符串时可以拼接字符串(将两个字符串连接为一个)
(2)减法运算符:可以做减法运算和求负运算
(3)乘法运算符:可以做乘法运算和重复字符串(将n个相同的字符串连接起来)
(4)除法/和整除//
/:表示普通除法
//:表示整除,只保留结果的整数部分,舍弃小数部分(当有小数参与运算时,整除结果是小数)。
(5)求余%
%左右数字都是整数时,求余的结果是整数,只要有一个数字为小数,求余的结果就为小数。
(6)乘方**
x**y运算符用来求x的y次方
2.赋值运算符
=:是最基本的赋值运算符,具有右结合性。
扩展:连续赋值a=b=c=100
将100赋值给c,再将c的值100赋值给b,再把b的值100赋值给a。
3.位运算符
注意:异或指的是参与运算的两个二进制位不同时,结果为1,相同时结果为0,例如0 ^ 1=1,0 ^ 0=0。
4.比较运算符
注意:==和is的区别
==:比较两个变量的值是否相等
is:比较两个变量引用的是否是同一个对象
5.逻辑运算符
and:如果左边表达式的值为假,则不用计算右边表达式的值了,此时and会把左边表达式的值作为最终结果。如果左边表达式的值为真,and会继续计算右边表达式的值,并将右边表达式的值作为最终结果。
or:如果左边表达式的值为真,则不用计算右边表达式的值了,此时or会把左边表达式的值作为最终结果。如果左边表达式的值为假,or会继续计算右边表达式的值,并将右边表达式的值作为最终结果。
注意:python逻辑运算符可以用来操作多种类型的表达式,不管表达式是不是bool类型。
6.三目运算符
exp1 if condition else exp2:如果condition成立,则执行exp1,并把exp1的结果作为整个表达式的结果;如果condition不成立,就执行exp2,并把exp2的结果作为整个表达式的值。
7.运算符的优先级
接下面