Python的3.0版本,常被称为Python 3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0在设计的时候没有考虑向下兼容。 开发环境: PyCharm Python 3.6.3
1、查看python版本
我们可以使用以下命令来查看我们使用的Python版本:
python -V
以上命令执行结果如下:
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。 (venv) D:\PythonSpace\PythonLearning>python -V Python 3.6.3
2、Python Hello World 程序
对于大多数程序语言,第一个入门编程代码便是"Hello World!",以下代码为使用Python输出"Hello World!":
#!/usr/bin/python3 print("Hello, World!")
你可以将以上代码保存在hello.py文件中并使用python命令执行该脚本文件。
python hello.py
以上命令输出结果为:
Hello, World!
3、Python3编码
默认情况下,Python 3源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 当然你也可以为源码文件指定不同的编码:
# -*- coding: cp-1252 -*-
4、Python3标识符
- 第一个字符必须是字母表中字母或下划线'_'。
- 标识符的其他的部分有字母、数字和下划线组成。
- 标识符对大小写敏感。
在Python 3中,非-ASCII 标识符也是允许的了。
5、Python3保留字
保留字即关键字,我们不能把它们用作任何标识符名称。Python的标准库提供了一个keyword module,可以输出当前版本的所有关键字:
import keyword print(keyword.kwlist)
输出:
['False', 'None', 'True', 'and', 'as', 'assert', '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']
6、Python3注释
Python中单行注释以#开头,多行注释用三个单引号(''')或者三个双引号(""")将注释括起来。
# 这是Python 单行注释 ''' 这是一个多行注释 ''' """ 这是一个多行注释 """
7、Python3行与缩进
Python最具特色的就是使用缩进来表示代码块。缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。 缩进不一致,会导致运行错误。
#python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} if True: print ("True") else: print ("False") 复制代码
8、Python3数据类型
Python中数有四种类型:整数、长整数、浮点数和复数。
- 整数, 如 1
- 长整数 是比较大的整数
- 浮点数 如 1.23、3E-2
- 复数 如 1 + 2j、 1.1 + 2.2j
- 没有 python2 中的 Long。
9、Python3字符串
- python中单引号和双引号使用完全相同。
- 使用三引号('''或""")可以指定一个多行字符串。
- 转义符 ''
- 自然字符串, 通过在字符串前加r或R。 如 r"this is a line with \n" 则\n会显示,并不是换行。
- python允许处理unicode字符串,加前缀u或U, 如 u"this is an unicode string"。
- 字符串是不可变的。
- 按字面意义级联字符串,如"this " "is " "string"会被自动转换为this is string。
10、Python3 列表
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。 Python有6个序列的内置类型,但最常见的是列表和元组。序列都可以进行的操作包括索引,切片,加,乘,检查成员。此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:
list1 = ['Google', 'Runoob', 1997, 2000]; list2 = [1, 2, 3, 4, 5 ]; list3 = ["a", "b", "c", "d"]; 复制代码
与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。
11、Python3元组
Python 的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。 如下实例:
tup1 = ('Google', 'Runoob', 1997, 2000); tup2 = (1, 2, 3, 4, 5 ); tup3 = "a", "b", "c", "d"; # 不需要括号也可以 复制代码
查看数据类型print(type(tup3)) 输出:
12、Python3 字典
字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:
d = {key1 : value1, key2 : value2 } 复制代码
键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。一个简单的字典实例:
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'} dict1 = { 'abc': 456 }; dict2 = { 'abc': 123, 98.6: 37 }; 复制代码
13、Python3 条件控制
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。Python中if语句的一般形式如下所示:
if condition_1: statement_block_1 elif condition_2: statement_block_2 else: statement_block_3 复制代码
介绍如下:
- 如果 "condition_1" 为 True 将执行 "statement_block_1" 块语句
- 如果 "condition_1" 为False,将判断 "condition_2"
- 如果"condition_2" 为 True 将执行 "statement_block_2" 块语句
- 如果 "condition_2" 为False,将执行"statement_block_3"块语句
Python 中用 elif 代替了 else if,所以if语句的关键字为:if – elif – else。
注意:
1、每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。 2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。 3、在Python中没有switch – case语句。 复制代码
14、Python3 循环
Python中的循环语句有 for 和 while。 while 循环 Python中while语句的一般形式:
while 判断条件: statements 复制代码
同样需要注意冒号和缩进。另外,在Python中没有do..while循环 for语句 Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。 for循环的一般格式如下:
for <variable> in <sequence>: <statements> else: <statements> 复制代码
- break和continue语句及循环中的else子句
- break语句可以跳出for和while的循环体。如果你从for或while循环中终止,任何对应的循环else块将不执行。continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
- range()函数
- 如果你需要遍历数字序列,可以使用内置range()函数。它会生成数列。
15、Python3 函数
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。 Python 定义函数使用 def 关键字,一般格式如下:
def 函数名(参数列表): 函数体
定义一个函数。你可以定义一个由自己想要功能的函数,以下是简单的规则:
1、函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。
2、任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
3、函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
4、函数内容以冒号起始,并且缩进。
5、return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
16、Python3 迭代器与生成器
迭代是Python最强大的功能之一,是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。迭代器有两个基本的方法:iter() 和 next()。字符串,列表或元组对象都可用于创建迭代器、迭代器对象可以使用常规for语句进行遍历。
在 Python 中,使用了 yield 的函数被称为生成器(generator)。跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。调用一个生成器函数,返回的是一个迭代器对象。 迭代器示例如下:
list=[1,2,3,4] it = iter(list) # 创建迭代器对象 for x in it: print (x, end=" ")
生成器示例如下
import sys def fibonacci(n): # 生成器函数 - 斐波那契 a, b, counter = 0, 1, 0 while True: if (counter > n): return yield a a, b = b, a + b counter += 1 f = fibonacci(10) # f 是一个迭代器,由生成器返回生成 while True: try: print (next(f), end=" ") except StopIteration: sys.exit()
17、Python3 模块
用 python 解释器来编程,如果你从 Python 解释器退出再进入,那么你定义的所有的方法和变量就都消失了。为此 Python 提供了一个办法,把这些定义存放在文件中,为一些脚本或者交互式的解释器实例使用,这个文件被称为模块。模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用 python 标准库的方法。
当解释器遇到 import 语句,如果模块在当前的搜索路径就会被导入。搜索路径是一个解释器会先进行搜索的所有目录的列表。如想要导入模块 support,需要把命令放在脚本的顶端
- from…import 语句:Python 的 from 语句让你从模块中导入一个指定的部分到当前命名空间中。
- from…import* 语句:把一个模块的所有内容全都导入到当前的命名空间也是可行的。
- __name__属性:一个模块被另一个程序第一次引入时,其主程序将运行。如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用__name__属性来使该程序块仅在该模块自身运行时执行。
18、Python3 输出
Python两种输出值的方式: 表达式语句和 print() 函数。(第三种方式是使用文件对象的 write() 方法; 标准输出文件可以用 sys.stdout 引用。)
如果你希望输出的形式更加多样,可以使用 str.format() 函数来格式化输出值。
如果你希望将输出的值转成字符串,可以使用 repr() 或 str() 函数来实现。
- str() 函数返回一个用户易读的表达形式。
- repr() 产生一个解释器易读的表达形式。
Python3入门修炼之路就此开始......