目录
前言
在上一篇文章中我们讲到了python的两个函数:print和input。以及保留字和标识符的区别。本章将会继续学习python的知识。
1、变量与常量
变量是用来保存和表示数据值的一种语法元素,简单来说,就是“名字”。根据变量可以找到其对应内容所在的内存地址,从而进行数据操作。
如上图,如果我们在python中这样定义一个变量:number=8。则,计算机会在堆内存中生成一个空间,存放8这个数,然后子啊栈内存中用number来指向“8”的位置。这样,下次用到number的时候,就可以找到其内容“8”。当然,这是一个形象的解释,实际上计算机的内存结构比这个复杂。
在python中,变量的类型是可以变化的。像上面这个例子,我们将number赋值为8,这是一个整型的数据。我们在定义number的时候也可以使用其他的类型,比如一串英文这样的字符类型,或者是8.88这样的浮点型(简单来说就是小数)。这也是python的便捷处之一,在c语言中,我们定义变量是要提前声明它的类型的,而python不用,它会根据定义的类型自动的变化其类型。这就是为什么python被称为动态语言的原因。
举个程序例子:
number=8
name="pxy"
print(name,"的数字是:",number)
运行结果如下:
变量定义的时候可以多个变量指向同一个值,如:number1=number2=100。这样定义number1和number2是指向同一个内存空间的。
1.1命名规则
变量命名的规则:
1、变量名必须是一个有效的标识符
2、变量名不能使用python的保留字
3、慎用小写字母的“i”和大写字母的“O”,因为这两个字母容易看不清楚。
4、应选择有意义的单词作为变量名
常量命名的规则:
常量就是在程序运行的过程中,值不允许改变的量,全部用大写字母和下划线命名。
2、变量类型
上面有讲到python是一种动态语言,其变量类型会随着变量的值发生改变。那么对于变量类型,具体包括哪些呢,下面一一讲解:
2.1数值类型
2.1.1整数类型
整数类型表示的数值是没有小数部分的数值,包括正整数、负整数和0。
整数类型根据进制又分为几种:十进制;二进制;八进制和十六进制。在python中,每一种进制的数据都会有它特殊的符号(引导符号)作为区分。
进制种类 | 引导符号 | 描述 |
十进制 | 无 | 365;123 |
二进制 | 0b或0B | 0b0110;0B1001 |
八进制 | 0o或0O | 0o765;0O573 |
十六进制 | 0x或0X | 0x88A;0X2B3 |
在不添加任何引导符号的时候,默认类型就是十进制的。其他类似就是在数据前面加上对应的引导符号。注意:其中16进制中的“A”和“B”,表示的分别是10和11。因为在十六进制中,需要超过16才能进位,因此它每一位的数据都是可以表示0-15中的数的,因此,我们需要表示10-15这六个数字,在python中用英文字母A - F表示10-15。
2.1.2浮点数类型
表示带有小数点的数值,由整数部分和小数部分组成。
注意:在两个浮点数进行运算时,有一定的概率在运算结果后增加一些“不确定”的尾数。
比如,随便进行一个运算:
print(0.1+0.2)
像这样,0.1加0.2的值会多出后面最后一个“4”。如果想去掉后面的那些尾数,那么可以使用round函数:
print(round(0.1+0.2))
如此即可。
复数:
python中的复数与数学中的复数形式与数学中的一致。包括实数和虚数部分。用.real表示实数部分,用.imag表示叙述部分。
x=123+456j
print("实数部分:",x.real)
print("虚数部分:",x.imag)
效果如下:
2.2字符串类型
字符串类型指的是连续的字符序列,可以表示计算机所能识别的一切字符。
字符串的界定符:单引号、双引号、三引号。
如:
city='北京'
name="pxy"
info='''地址:北京
收件人:pxy
'''
print(city)
print(name)
print(info)
效果如下:
发现,单引号和双引号作用相同,主要观察三引号作用。三引号特殊之处在于它可以定义多行的字符串。
2.2.1转义字符
在字符串中,有一些特殊的存在,它们表示了一些特殊操作:
转义字符 | 描述说明 |
\n | 换行符 |
\t | 水平指标位,用于横向跳到下一个制表位 |
\" | 双引号 |
\' | 单引号 |
\\ | 一个反斜杠 |
举例子:
print("北京欢迎你")
print("北\n京\n欢\n迎\n你")
效果:
print("北京欢迎\t你")
print("hello\tworld")
效果:
这里把两个数据对齐了。
print("老师说:\"好好学习,天天向上\"")
效果:
如果不加"\"的话,计算机是无法分别这个双引号到底是你要输出的内容,还是作为程序的中print函数的格式而写的。不加"\"计算机就会把双引号当成字符串的界定符。
2.2.2字符串的索引和切片
定义好字符以后,每一个字符都有其对应的”坐标“。从左到右就是从0开始递增,从右到左就是从-1开始递减。
索引,就是将这个字符串中的指定内容选择出来:
print("北京欢迎你"[4])
print("北京欢迎你"[-1])
效果:
切片,将字符串中一段内容选择出来:
print("hello world"[2:7])
print("hello world"[-8:-3])
print("hello world"[:5])
print("hello world"[5:])
[n:m]表示从n切到m。[:n]表示从开头切到n。[n:]表示从n切到结尾。
此外,如果对字符串*10,就能够将字符串复制10份,*n就能复制n份。
2.3布尔类型
布尔类型是用来表示真和假的数据。它只有两个值:"Ture"和"False"。其中Ture表示真,值为1;False表示假,值为0。
布尔值为False的情况有以下几种:
1、值为False或者为None
2、数值中的0,包括0;0.0;虚数0
3、空序列,包含空字符串、空元组、空字典、空集合
4、自定义对象的实例,该对象的_bool_()方法返回False或者_len_()方法返回0
总结
本篇文章就讲到这,主要讲解了python中的变量和常量,以及变量类型,变量类型包括:数值类型;字符类型和布尔类型。希望本章内容对你有所帮助。