关键字和标识符

下列的标识符是Python3的关键字,并且不能用于通常的标识符。关键字必须严格按照下面的拼写:

False               def                 if                  raise
None del import return
True elif in try
and else is while
as except lambda with
assert finally nonlocal yield
break for not
class from or
continue global pass

这些内容可以在Python3解释器中得到:

变量

在Python中我们不需要为变量指定数据类型,每个变量使用前必须赋值,变量赋值以后该变量才会被创建(即在内存中分配空间)。所以你可以直接写 abc = 1,这样变量abc就是整数类型。如果你写 abc = 1.0,那么变量abc就是浮点类型。

 >>> a = 13
>>> b = 23
>>> a + b
36

通过上面的例子你应该理解了如何在Python中定义变量,也就是只需输入变量名和值就行了。

单行定义多个变量或赋值

你甚至可以在一行内将多个值赋值给多个变量。例如:

 >>> a , b = 45, 54
>>> a
45
>>> b
54

这个技巧用来交换两个数的值非常方便:

 >>> a, b = b , a
>>> a
54
>>> b
45

要明白这是怎么工作的,你需要学习元组(tuple)这个数据类型。我们是用逗号创建元组。在赋值语句的右边我们创建了一个元组,我们称这为元组封装(tuple packing),赋值语句的左边我们称作元组拆封(tuple unpacking)。

下面是另一个元组拆封的例子:

>>> data = ("shiyanlou", "China", "Python")
>>> name, country, language = data
>>> name
'shiyanlou'
>>> country
'China'
>>> language
'Python'

标准数据类型

Python3中有6个标准的数据类型:

  • Number(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Set(集合)
  • Dictionary(字典)

其中:

  • 不可变数据(3个):Number、String、Tuple
  • 可变数据(3个):List、Set、Dictionary

Number

Python3支持int、float、bool、complex。

在Python3中只有一种数据类型int,表示为长整型,没有Python2中的Long。

内置的type()函数可以用来查询变量所指的对象类型。例如:

>>> a, b, c, d = 20, 5.5, True, 4+3j
>>> print(type(a), type(b), type(c), type(d))
<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>

String

Python中的字符串用单引号或者双引号括起来,同时使用反斜杠转移特殊字符。

字符串的截取

字符串的截取语法格式:

变量[头下标:尾下标]

返回值是左闭右开,索引值从0开始,-1为末尾的位置:

字符串格式化

#!/usr/bin/env python3
amount = float(input("Enter amount: ")) # 输入数额
inrate = float(input("Enter Interest rate: ")) # 输入利率
period = int(input("Enter period: ")) # 输入期限
value = 0
year = 1
while year <= period:
value = amount + (inrate * amount)
print("Year {} Rs. {:.2f}".format(year, value))
amount = value
year = year + 1

Year {} Rs. {:.2f}".format(year, value) 称为字符串格式化,大括号和其中的字符会被替换成传入 str.format() 的参数,也即year和value。其中, {:.2f} 的意思是替换为两位精度的浮点数。

又例如,在下面的程序里,我们使用公式 C = (F - 32) / 1.8 将华氏温度转为摄氏温度。

#!/usr/bin/env python3
fahrenheit = 0
print("Fahrenheit Celsius")
while fahrenheit <= 250:
celsius = (fahrenheit - 32) / 1.8 # 转换为摄氏度
print("{:5d} {:7.2f}".format(fahrenheit , celsius))
fahrenheit = fahrenheit + 25

{:5d} 的意思是替换为 5 个字符宽度的整数,宽度不足则使用空格填充。 {:7.2f}的意思是替换为为7个字符宽度的保留两位的小数,小数点也算一个宽度,宽度不足则使用空格填充。其中7指宽度为7,.2f 指保留两位小数。

List

List(列表)是Python中使用最频繁的数据类型。列表是写在方括号 [] 之间、用逗号分隔开的元素列表。

列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。

列表的截取

和字符串一样,列表同样可以被索引和截取(也叫切片),列表被截取后返回一个包含所需元素的新列表,且索引的规则相同。例如:

列表的运算

加号 + 是列表连接运算符,星号 * 是重复操作。如下实例:

>>> a = 'abc'
>>> a * 2
'abcabc'
>>> a + 'def'
'abcdef'
>>>

Tuple

元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。 元组中的元素类型也可以不相同。

索引、截取和运算都与字符串和列表相同。其实,可以把字符串看作一种特殊的元组。

Set

集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。基本功能是进行成员关系测试和删除重复元素。

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

集合的创建与运算

 #!/usr/bin/python3

 student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}

 print(student)   # 输出集合,重复的元素被自动去掉

 # 成员测试
if 'Rose' in student :
print('Rose 在集合中')
else :
print('Rose 不在集合中') # set可以进行集合运算
a = set('abracadabra')
b = set('alacazam')
print(a)
print(a - b) # a 和 b 的差集
print(a | b) # a 和 b 的并集
print(a & b) # a 和 b 的交集
print(a ^ b) # a 和 b 中不同时存在的元素

输出结果:

{'Rose', 'Jim', 'Jack', 'Tom', 'Mary'}
Rose 在集合中
{'r', 'd', 'c', 'a', 'b'}
{'r', 'd', 'b'}
{'r', 'd', 'a', 'z', 'c', 'm', 'l', 'b'}
{'a', 'c'}
{'r', 'd', 'z', 'm', 'l', 'b'}

Dictionary

字典(dictionary)是Python中另一个非常有用的内置数据类型。字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。

键(key)必须使用不可变类型。在同一个字典中,键(key)必须是唯一的。

字典与列表有相似之处,列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移(索引)存取。

参考链接:

1、https://www.shiyanlou.com/courses/596

2、http://www.runoob.com/python3/python3-data-type.html

Python3简明教程(二)—— 变量和数据类型的更多相关文章

  1. redis学习教程二《四大数据类型》

    redis学习教程二<四大数据类型>  四大数据类型包括:字符串    哈希    列表   集合一 : Redis字符串         Redis字符串命令用于管理Redis中的字符串 ...

  2. Python3 简明教程学习(上)

    一.开始 Python 之旅交互模式 1.Ctrl + D 输入一个 EOF 字符来退出解释器,也可以键入 exit() 来退出 2.#!/usr/bin/env python3 中#!称为 Sheb ...

  3. Python3简明教程(六)—— 数据结构

    简单的来说,数据结构(data structure)是计算机中存储.组织数据的方式.比如我们之前使用过的列表就是一种数据结构,在这里我们还会深入学习它.之前也有简单的介绍. 列表 >>&g ...

  4. Python3简明教程(十二)—— 模块

    在这节我们将要学习 Python 模块相关知识.包括模块的概念和导入方法,包的概念和使用,第三方模块的介绍,命令行参数的使用等. 模块 到目前为止,我们在 Python 解释器中写的所有代码都在我们退 ...

  5. Python3 简明教程

    Python是由吉多·范罗苏姆(Guido Van Rossum)在90年代早期设计.它是如今最常用的编程 语言之一.它的语法简洁且优美,几乎就是可执行的伪代码. 注意:这篇教程是特别为Python3 ...

  6. Python3简明教程(十四)—— Collections模块

    collections 是 Python 内建的一个集合模块,提供了许多有用的集合类. 在这个实验我们会学习 Collections 模块.这个模块实现了一些很好的数据结构,它们能帮助你解决各种实际问 ...

  7. Python3基础(二) 基本数据类型

    Python中的变量不需要声明.每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建.在Python中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型 ...

  8. 实验楼-python3简明教程笔记

    #!/usr/bin/env python3 days = int(input("Enter days: ")) print("Months = {} Days = {} ...

  9. Python3简明教程(十一)—— 类

    本节中将通过定义一些简单的 Python 类,来学习 Python 面向对象编程的基本概念. 定义类 在写你的第一个类之前,你应该知道它的语法.我们以下面这种方式定义类: class nameofth ...

随机推荐

  1. 「NOIP2005」「Codevs1106」篝火晚会

    题目描述 Description 佳佳刚进高中,在军训的时候,由于佳佳吃苦耐劳,很快得到了教官的赏识,成为了“小教官”.在军训结束的那天晚上,佳佳被命令组织同学们进行篝火晚会.一共有n个同学,编号从1 ...

  2. python-----windows下安装face_recognition库

    如果直接在cmd命令界面 输入:pip install face_recognition 如下图所示: 如果第一次就会出现一系列的问题,解决此问题就安装如下步骤: 一.如果你本机没有安装vistual ...

  3. Linux学习—退出vi编辑模式

    转载自:http://blog.csdn.net/u010648555/article/details/50676647 初学Linux的时候,在使用vi 操作时候,有时候可能进入的是一个文件夹,这样 ...

  4. centos安装xen虚拟机并且配置bridge

    主要参考的几个官方文档: http://wiki.centos.org/HowTos/Xen/Xen4QuickStart 在centos上安装xen组件并建立dom0 http://wiki.cen ...

  5. HDU 2077 汉诺塔IV (递推)

    题意:... 析:由于能最后一个是特殊的,所以前n-1个都是不变的,只是减少了最后一个盘子的次数,所以根据上一个题的结论 答案就是dp[n-1] + 2. 上一题链接:http://www.cnblo ...

  6. E20180422-hm

    tint n. 浅色; 色彩,色泽; 气息,迹象,痕迹 vt. 染色; 着色于…; 染(发) introduce vt. 介绍; 引进; 提出; 作为…的开头; variation  n. 变化,变动 ...

  7. npm install 各种后缀 --xx说明

    npm install xx -g 首先是在npm install xx 命令后面加 -g 它表示将当前包上下文(即,当前工作目录)安装为全局包. npm install (没有参数),在本地node ...

  8. 你不知道的meta标签

    前言 meta标签可以用来做seo优化.指定移动端viewport的展现形式.设置http请求.告诉浏览器缓存静态资源的模式等等.今天整理一下使用meta标签实用的,常见的场景. meta标签的组成 ...

  9. jQuery笔记之遍历索引(补充)

    遍历索引的相关方法: .each() .补充.children() .index() --------------------------------------------------------- ...

  10. jQuery 第九章 工具方法

    $.type() $.isArray() $.isFunction() $.isWindow()... $.trim() $.proxy() $.noConflict() $.each() $.map ...