首页 > 代码库 > python变量与数据类型

python变量与数据类型

变量

什么是变量

所谓变量,指的是在程序运行过程中需要用到的中间结果,变量定义后,会占用一块内存开辟的空间地址,通过内存空间确保同一时间的唯一性。

 

>>> print(id.__doc__)
Return the identity of an object.

This is guaranteed to be unique among simultaneously existing objects.
(CPython uses the objects memory address.)

 

变量的命名规则

1)变量只能是大小写字母、数字和下划线的任意组合,并且开头不能是数字。

2)python中的关键字不能声明为变量使用。

3)变量名描述性要强

 

>>> 1_level = 1
  File "<stdin>", line 1
    1_level = 1
          ^
SyntaxError: invalid syntax

>>> level_1 = 1

>>> _level1 = 1

>>> print = 10

>>> print(level_1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: int object is not callable

 

 

字符编码

ASCII(美国标准信息交换代码)字符编码,用于显示现代英语和西欧语言,最多只能用8位来表示,即1字节,最多2**8 - 1 = 255个符号。

关于中文

1980年设计出了用于存储中文的GB2312,一共收录7445个字符,包括6763个字符和682个其他符号。

1995年设计出了可以收录21886个符号的GBK1.0,2000年GB18030取代GBK1.0的正式国家标准,可以收录27848的汉字。

为了解决不同国家之间经常出现的字符不兼容问题,推出了Unicode(统一码,万国码,单一码),为每种语言的每个字符制定了统一的并且唯一的二进制编码,每个字符统一占用2个字节。

为了解决Unicode在存储英文时多占用1个字节,继续优化出了世界上最流行的UTF8可变长字符编码,英文1个字符还占1个字节,欧洲语言1个字符占2个字节,中文1个字符占3个字节。

 

python2的解释器在加载.py字节码文件时,使用默认的(ASCII)字符编码,于是不支持中文。

cat hello.py
#!/usr/bin/env python
print 世界,你好

python hello.py
  File "hello.py", line 2
SyntaxError: Non-ASCII character \xe4 in file hello.py on line 2, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

那么,在Python2中,使用中文时需要声明支持中文的字符编码。

cat hello.py
#!/usr/bin/env python
#-*- coding:utf-8 -*-
print 世界,你好

python hello.py
世界,你好

python3默认会使用UTF-8字符编码,默认就支持中文。

Python 3.5.2 (default, Dec  2 2016, 17:47:43)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print(世界,你好)
世界,你好

 

数据类型

数字类型:不加引号的数字

int(整型)

在32位的系统上,整数的位数为32,取值范围从-2**31~2**31-1,即:-2147483648~2147483647

在64为的系统上,整数的位数为64,取值范围从-2**63~2**63-1,即:-9223372036854775808~9223372036854775807

long(长整形)

在python2中使用,如果整数发生溢出,python会自动将整数数值转换为长整形数值,python3中已经不再使用。

float(浮点型)

属于有理数中特定子集的数的数据表示,大约理解为小数,占用8个字节。

 

布尔值

真或假 True False 1 或 0 ,真代表条件成立。

>>> 12 + 20 > 30
True
>>> 12 + 20 > 35
False

 

字符串类型:被引号括起来的字符

字符串转常用功能:

strip: 去除字符串两侧的空格

index: 取字符串中的1个字符

切片:   取字符串中的多个字符,切片的方法叫顾头不顾尾。

拼接: 使用+号,没拼接1次就会开辟一块内存空间,字符串类型和数字类型不能拼接。

格式化输出:使用%,可以传入多种数据类型。

 

 

 

 

 

 

 

 

 

 

 

python变量与数据类型