微信公众号:码农充电站pro

个人主页:https://codeshellme.github.io

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

—— 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 基础概念


欢迎关注作者公众号,获取更多技术干货。

Python 简明教程 --- 4,Python 变量与基本数据类型的更多相关文章

  1. python中global的用法——再读python简明教程

    今天看了知乎@萧井陌的编程入门指南,想重温一下 <python简明教程>,对global的用法一直不太熟练,在此熟练一下,并实践一下python中list.tuple.set作为参数的区别 ...

  2. python简明教程

    Python简明教程 MachinePlay关注 0.7072018.09.26 01:49:43字数 2,805阅读 9,287 Python一小时快速入门 1.Python简介   pylogo. ...

  3. Python 简明教程 --- 3,Python 基础概念

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 控制复杂性是计算机编程的本质. -- Brian Kernighan 了解了如何编写第一个Pytho ...

  4. Python 简明教程 --- 1,搭建Python 环境

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 人生苦短,我用Python. -- 龟叔T恤 Python 是一门解释型语言,所以要想运行Pytho ...

  5. Python 简明教程 --- 14,Python 数据结构进阶

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 如果你发现特殊情况太多,那很可能是用错算法了. -- Carig Zerouni 目录 前几节我们介 ...

  6. Python 简明教程 --- 15,Python 函数

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 测试只能证明程序有错误,而不能证明程序没有错误. -- Edsger Dijkstra 目录 本节我 ...

  7. Python 简明教程 --- 17,Python 模块与包

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 正确的判断来源于经验,然而经验来源于错误的判断. -- Fred Brooks 目录 我们已经知道函 ...

  8. Python 简明教程 --- 8,Python 字符串函数

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 好代码本身就是最好的文档.当你需要添加一个注释时,你应该考虑如何修改代码才能不需要注释. -- St ...

  9. Python 简明教程 --- 9,Python 编码

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 当你选择了一种语言,意味着你还选择了一组技术.一个社区. -- Joshua Bloch 目录 1, ...

随机推荐

  1. Flutter 动画鼻祖之CustomPaint

    老孟导读:CustomPaint可以称之为动画鼻祖,它可以实现任何酷炫的动画和效果.CustomPaint本身没有动画属性,仅仅是绘制属性,一般情况下,CustomPaint会和动画控制配合使用,达到 ...

  2. html css javascript实现弹弹球

    效果如图: 原创代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> & ...

  3. Java实现 LeetCode 836 矩形重叠(暴力)

    836. 矩形重叠 矩形以列表 [x1, y1, x2, y2] 的形式表示,其中 (x1, y1) 为左下角的坐标,(x2, y2) 是右上角的坐标. 如果相交的面积为正,则称两矩形重叠.需要明确的 ...

  4. Java实现 LeetCode 771 宝石与石头(这是真暴力)

    771. 宝石与石头 给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头. S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石. J 中的字母不重复,J 和 ...

  5. Java实现 LeetCode 735 行星碰撞(栈)

    735. 行星碰撞 给定一个整数数组 asteroids,表示在同一行的行星. 对于数组中的每一个元素,其绝对值表示行星的大小,正负表示行星的移动方向(正表示向右移动,负表示向左移动).每一颗行星以相 ...

  6. Java实现 LeetCode 1两数之和

    1. 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这 ...

  7. Java实现 LeetCode 455 分发饼干

    455. 分发饼干 假设你是一位很棒的家长,想要给你的孩子们一些小饼干.但是,每个孩子最多只能给一块饼干.对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸:并且每块饼干 ...

  8. Java实现 LeetCode 451 根据字符出现频率排序

    451. 根据字符出现频率排序 给定一个字符串,请将字符串里的字符按照出现的频率降序排列. 示例 1: 输入: "tree" 输出: "eert" 解释: 'e ...

  9. Java实现 LeetCode 116 填充每个节点的下一个右侧节点指针

    116. 填充每个节点的下一个右侧节点指针 给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点.二叉树定义如下: struct Node { int val; Node *left ...

  10. Java实现第八届蓝桥杯分巧克力

    分巧克力 题目描述 儿童节那天有K位小朋友到小明家做客.小明拿出了珍藏的巧克力招待小朋友们. 小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形. 为了公平起见,小明需要从这 N 块巧 ...