Python 简明教程 --- 4,Python 变量与基本数据类型

任何一个人都会写出能够让机器理解的代码,只有好的程序员才能写出人类可以理解的代码。
—— Martin Fowler

1,什么是变量

计算机的本质是处理数据,数据可以存储在内存和磁盘,只有加载到内存的数据才能被处理。

变量用于代指某块内存数据,比如数字123,字符串abc,如下:

n = 123
s = 'abc'

这里的ns 就是变量。

Python 是动态类型语言,所以,Python 中的变量没有类型之分,同一个变量即可以指向字符串,也可以指向数字,如下:

i = 123     # 此时 i 的值是 123
i = 'abc'   # 此时 i 的值是 'abc'

变量命名规则

一个变量名就是一个标识符,所以变量名的命令规则与标识符的命名规则相同(可参见这里)。

2,赋值运算

每个变量在使用之前都必须被赋值,赋值运算符是等号=,比如:

i = 123

等号= 左边是变量名,右边是赋予该变量的值。

这句代码就是一个赋值运算,其执行结果是,为变量i 赋予了值123

多个变量赋值

可以同时为多个变量赋予同一个值

x = y = z = 'abc'

上面这句话的执行结果是,变量xyz 值都是abc

这句话的执行顺序是从右到左,即先为z 赋予值 abc,再为y 赋予z 的值,再为x 赋予y 的值。

也可以同时为多个变量赋予不同的值

x, y, z = 1, 'a', 'b'

上面这句话的执行结果是,分别为变量xyz 赋予了值1ab

3,关键字type

在Python 中,关键字type 实际上是一个,可以在交互式终端,使用help(type) 查看,如下:

我们可以使用type 来查看一个变量 的类型,如下:

>>> type(123)
<class 'int'>
>>> 
>>> type('abc')
<class 'str'>

注意:更确切的说,type应该是查看一个对象的类型,后面的章节会介绍对象的概念。

变量可以表示不同的数据类型的值,下面介绍Python 中的基本数据类型

4,字符串

Python 中的字符串是用引号引住的,引号可以是单引号',双引号",三单引号'''和三双引号""",如下:

# 变量 s 的值是字符串`abc`
s = 'abc'
s = "abc"
s = '''abc'''
s = """abc"""

单引号中的值可以有双引号,如下变量 s 的值为I say "hello"

>>> s = 'I say "hello"'
>>> print(s)
I say "hello"

双引号中的值可以有单引号,如下变量 s 的值为I'm Ok

>>> s = "I'm Ok"
>>> print(s)
I'm Ok

三引号'''""" 一般用于多行字符串,三引号中的值可以包含单引号和双引号:

s = '''这是第一行,
这是第二行,
这是第三行'''

s = """这是第一行,
这是第二行,
这是第三行"""

s = '''字符串中有单引号'
也有双引号"
'''

转义字符\

如果单引号中想有单引号,需要用到转义字符\

>>> s = 'I\'m ok'
>>> print(s)
I'm ok

同样双引号中想有双引号,也需要用到转义字符\

>>> s = "I say \"hello\""
>>> print(s)
I say "hello"

如果想表示原始的斜杠\,需要用两个斜杠\

>>> s = '这是斜杠\\'  # 第一个斜杠代表转义
>>> print(s)
这是斜杠\

原始字符串

在单引号或双引号前边加上rR,表示原始字符串(raw string),你写的是什么,就是什么,不需要转义:

>>> s = r'\r\n\t'
>>> print(s)
\r\n\t

5,数字类型

Python3 中支持三种数字类型,包括:

  • 整数 int
  • 浮点数 float
  • 复数 complex

注意:
python2.x 中有long 类型,
python3.xlong 归属到了 int 中,python3.x 中不再有long 类型。

整数

Python3 中支持任意大小的整数,包括正整数负整数,如下:

>>> a = 123
>>> b = -456
>>> c = 99999999999999999999
>>> type(a), type(b), type(c)
(<class 'int'>, <class 'int'>, <class 'int'>)

浮点数

浮点数即是小数,也包括正数和负数。

当小数的位数大于等于5 时,Python 就会用科学计数法来表示:

>>> 0.001
0.001
>>> -0.001
-0.001
>>> 0.00001
1e-05       # 科学计数法
>>> type(0.001), type(-0.001), type(0.00001)
(<class 'float'>, <class 'float'>, <class 'float'>)

复数

复数由实数部分虚数部分构成。

在Python 中可以用a + bj或者complex(a, b) 来表示复数,a 为实部,b为虚部,ab 都是浮点数

例如:

>>> n = -5+4j
>>> n
(-5+4j)
>>> complex(-5, 4)
(-5+4j)
>>> type(n)
<class 'complex'>

6,布尔值

布尔值只有两个,分别是:

  • True:代表
  • False:代表
>>> type(True), type(False)
(<class 'bool'>, <class 'bool'>)

布尔值经常用在条件判断中,例如:

if flag:
    print('flag is True')
else:
    print('flag is False')

7,空值

Python 中的空值是一个特殊值,只有一个None 值,它的类型是NoneType

>>> type(None)
<class 'NoneType'>

空值经常用在变量初始化函数返回值中。

8,关键字del

一个变量被赋值以后,就是已定义的,可以被使用。

del 用于删除一个变量,被删除的变量是未定义的,将不能再被使用,其内存也会被释放。如下:

>>> a = 1
>>> print(a)
1
>>> del a
>>> print(a)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined    # a 是未定义的

(完。)


推荐阅读:

Python 简明教程 --- 0,前言
Python 简明教程 --- 1,搭建Python 环境
Python 简明教程 --- 2,第一个Python 程序
Python 简明教程 --- 3,Python 基础概念

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,233评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,013评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,030评论 0 241
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,827评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,221评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,542评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,814评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,513评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,225评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,497评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,998评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,342评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,986评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,812评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,560评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,461评论 2 266

推荐阅读更多精彩内容