变量(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 中的保存关键词
>>> import keyword
>>> 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)
<class 'int'>
>>> num = 15.8
>>> type(num)
<class 'float'>
>>> num = 20 15j
>>> type(num)
<class 'complex'>
>>> type(3*15.6)
<class 'float'>
4. Python变量基本数据类型的变换
尽管 Python 是弱种类计算机语言 ,不用像 Java 或 C 語言那般也要在应用变量前申明变量的种类,但在一些特殊情景中,依然必须采用类型转换。
例如 ,大家想根据应用 print() 涵数輸出信息内容“您的个子:”及其浮点种类 height 的值,假如在互动式编译器中实行以下编码:
height = 70.0
print("您的个子" height)
# Traceback (most recent call last):
# File "<pyshell#1>", line 1, in <module>
# print("您的个子" height)
# TypeError: must be str, not float
你能发觉它是不正确的,编译器提醒大家字符串数组和浮点种类变量不可以立即相接 ,必须提早将浮点种类变量 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() 涵数没法将一个非数据字符串数组转化成整数金额 。