Python变量及数据类型用法原理汇总
变量(Variable)可以看成一个小箱子,专门用来“盛装”程序中的数据。每个变量都拥有独一无二的名字,通过变量的名字就能找到变量中的数据。
从底层看,程序中的数据最终都要放到内存中,变量其实就是这块内存的名字。
1.Python变量的赋值
在编程语言中,将数据放入变量的过程叫做赋值(Assignment)。每个变量在使用前都必须赋值,变量赋值以后,该变量才会被创建。
Python使用等号=作为赋值运算符,具体格式为:
name=value
#name表示变量名,value表示值,也就是要存储的数据。
变量的值不是一成不变的,它可以随时被修改,只要重新赋值即可。
2.Python变量的命名
- 变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打头。
- 变量名是严格区分大小写的。
- 变量名不能包含空格、@、%以及$等特殊字符。
- 不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词,如print。
- Python语言中,以下划线开头的标识符有特殊含义。
- 以单下划线开头的标识符(如_width),表示不能直接访问的类属性,其无法通过from...import*的方式导入;
- 以双下划线开头的标识符(如__add)表示类的私有成员;
- 以双下划线作为开头和结尾的标识符(如init),是专用标识符。
- 变量名应既简短又具有描述性。例如,name比n好,student_name比s_n好,name_length比length_of_persons_name好。
- 慎用小写字母l和大写字母O,因为它们可能被人错看成数字1和0。
- Python允许使用汉字作为标识符,但我们应尽量避免使用汉字作为标识符,这会避免遇到很多奇葩的错误。
查看Python中的保留关键字
>>>importkeyword
>>>print(keyword.kwlist)
'False','None','True','and','as','assert','async','await','break','class','continue','def','del','elif','else','except','finally','for','from','global','if','import','in','is','lambda','nonlocal','not','or','pass','raise','return','try','while','with','yield'
3.Python变量的类型(弱类型语言)
在强类型的编程语言中,定义变量时要指明变量的类型,而且赋值的数据也必须是相同类型的,如C语言、C++、Java是强类型语言的代表。
和强类型语言相对应的是弱类型语言,Python、JavaScript、PHP等脚本语言都是弱类型的。
弱类型语言有两个特点:
- 变量无须声明就可以直接赋值,对一个不存在的变量赋值就相当于定义了一个新变量。
- 变量的数据类型可以随时改变,比如,同一个变量可以一会儿被赋值为整数,一会儿被赋值为字符串。
注意,弱类型并不等于没有类型!弱类型是说在书写代码时不用刻意关注类型,但是在编程语言的内部仍然是有类型的。
Python中数据类型可以分为数字型和非数字型。
- 数字型
- 整型(int)
- 浮点型(float)
- 布尔型(bool)
- 复数型(complex)
- 非数字型
- 字符串(String)
- 列表(list)
- 元组(tuple)
- 集合(set)
- 字典(dict)
我们可以使用内置函数type()来检测某个变量或者表达式的类型,例如:
>>>num=10
>>>type(num)
>>>num=15.8
>>>type(num)
>>>num=20+15j
>>>type(num)
>>>type(3*15.6)
4.Python变量数据类型的转换
虽然Python是弱类型编程语言,不需要像Java或C语言那样还要在使用变量前声明变量的类型,但在一些特定场景中,仍然需要用到类型转换。
比如说,我们想通过使用print()函数输出信息“您的身高:”以及浮点类型height的值,如果在交互式解释器中执行如下代码:
height=70.0
print("您的身高"+height)
#Traceback(mostrecentcalllast):
#File"",line1,in
#print("您的身高"+height)
#TypeError:mustbestr,notfloat
你会发现这是错误的,解释器提示我们字符串和浮点类型变量不能直接相连,需要提前将浮点类型变量height转换为字符串才可以。
Python已经为我们提供了多种可实现数据类型转换的函数.
函数 | 作用 |
---|---|
int(x) | 将x转换成整数类型 |
float(x) | 将x转换成浮点数类型 |
complex(real,[,imag]) | 创建一个复数 |
str(x) | 将x转换为字符串 |
repr(x) | 将x转换为表达式字符串 |
eval(str) | 计算在字符串中的有效Python表达式,并返回一个对象 |
chr(x) | 将整数x转换为一个字符 |
ord(x) | 将一个字符x转换为它对应的整数值 |
hex(x) | 将一个整数x转换为一个十六进制字符串 |
oct(x) | 将一个整数x转换为一个八进制的字符串 |
需要注意的是,在使用类型转换函数时,提供给它的数据必须是有意义的。例如,int()函数无法将一个非数字字符串转换成整数。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。