位置:首页 > > Python教程

Python教程

Python是一种简单易学,功能强大的编程语言。它包括了高效的高级数据结构和简单而有效的方法,面向对象编程。Python优雅的语法,动态类型,以及它天然的解释能力,使其成为理想的语言,脚本和应用程序快速开发在大多数平台上的许多领域。

Python解释器及其扩展标准库的源码和编译版本可以从Python的Web站点,http://www.python.org/ 所有主要平台可自由查看,并且可以自由发布。该站点上也包含了分配和指针到很多免费的第三方Python模块,程序,工具,以及附加的文档。

Python的解释器很容易扩展新的功能,并在C或C ++(或由C来调用其他语言)实现的数据类型。 Python也很适于作为定制应用的一种扩展语言。

有关标准对象和模块的详细介绍,请参见Python标准库。Python语言参考给出了语言的更正式的定义。需要编写C或C + +扩展,请阅读扩展和嵌入Python解释器和Python/C的API参考手册。也有几本书涵盖了各个深度的Python。

本教程并不试图全面,涵盖每一个功能,甚至每一个常用功能。相反,它介绍了许多Python中最引人注目的功能,会给Python语言的韵味和风格是一个好开始。看完之后,你就可以阅读和编写Python模块和程序,将准备进一步了解Python标准库描述的各种Python库模块

有关学习Python 的目录:

  1. Python环境安装配置
  2. Python数字
  3. Python字符串
  4. Python列表
  5. Python元组
  6. Python字典

1、Python环境安装配置

Python是一种通用的计算机编程语言,跻身排名于世界前八最流行的编程语言。

使用Python,可以编写出很多东西,如:Web应用程序,桌面应用程序,游戏。它可以作为完整的脚本解释器和开发平台。

今天,Python语言由谷歌,欧洲核子研究中心,美国航空航天局,雅虎和许多大型组织使用。

在这个免费的初级课程,你可以学习 Python 的基本知识。希望本次介绍更多学习后,可以做非初学者教程,如构建 Web 应用程序和其他教程。可以使用它进行 Python2 或 Python3 编程。

在线运行Python代码

运行Python代码在你的机器上

试试以下这段代码:
试试这个代码,以测试是否已经正确安装了Python。

(在Python2.x中,打印不必使用中括号,对于 Python3.X 是必需的)
执行后输出结果:

Hello World!
This is a Python program

2、Python 数字

一台计算机上的基本层面只是二进制数字(0,1)。每一个编程语言支持某种形式的数字,但不是二进制。Python数字有更广泛的理解,它支持:

  • 自然数(也称为整数或短int)
  • 实数(浮点或浮点数)
  • 非常大的数字(long)
  • 复数(你可能知道,数学课里的复数)

当定义数字被存储在变量(一个“数据保持器”),则无需明确定义数字的类型。 例如:

#!/usr/bin/python
 
x = 3              # an integer stored (in variable x)
f = 3.1415926      # a floating real point (in variable f)
name = "Python"    # a string
big = 358315791L   # long, a very large number
z = complex(2,3)   # (2+3i)  a complex number. consists of real and imaginary part.
 
print(x)
print(f)
print(name)
print(big)
print(z)

结果:

3
3.1415926
Python
358315791
(2+3j)

最大值取决于你的平台上。在32位机上的最小值和最大值:

数据类型 最小值 最大值
signed int -2147483647 2147483647
long - 只受内存限制
float 2.2250738585072014e-308 1.7976931348623157e+308

在64位计算机上的数字范围:

数据类型 最小值 最大值
signed int -9223372036854775807 9223372036854775807
long - 只受内存限制
float 2.2250738585072014e-308 1.7976931348623157e+308

操作符
你可以做算术运算,如加(+),乘(*),除(/),减( - )。 Python不支持 x 符号乘法:乘法符号为 *,  x 可被用作变量。 尝试这个:

#!/usr/bin/env python
 
x = 3
y = 8
 
sum = x + y
 
print(sum)

预期的输出结果:

11

用户输入

也可以要求用户使用 raw_input 函数进行输入:

在这种情况下,我们希望整数(整数),这就是为什么我们使用int()函数。如果想要输入浮点数,那么应该使用:float(raw_input(“Enter x:”))。

在最新的 Python 版本,可以使用 input() 函数来代替:

#!/usr/bin/env python
 
x = int(input("Enter x:"))
y = int(input("Enter y:"))
 
sum = x + y
print(sum)


3、Python3 字符串

Python已经在内置支持用于存储和操作文本:字符序列被称为子符串。 要定义字符串应将文本放在引号之间,如果使用单引号('),双引号(")或三引号("""),这并不重要。并无规定最少和最大在字符串中可存储字符的数目。一个空字符串没有文字引号。 例如:

s = 'hello'
s = "hello"
s = """hello"""

我们可以很容易打印文本和获取文本的长度:

#!/usr/bin/env python
 
s = "Hello world" # define the string
print(s)
print(len(s)) # prints the length of the string

字符串的索引

Python索引字符串的字符,每一个索引与一个唯一的字符相关联。例如,在字符串“python”中的字符的索引:

python string

Python字符串的索引

第0索引用于字符串的第一个字符。访问字符使用[]语法。因此,s[0] 是一个字符串的第一个字符。索引s[1]是第二个字符。  字符不存在的不能被使用。上面的例子索引只到5,这意味着s[6]是不可访问的。请尝试以下操作:

#!/usr/bin/python
 
s = "Hello Python"
print(s)      # prints whole string
print(s[0])   # prints "H"
print(s[1]) # prints "e"

如果使用 Python3.x print函数需要使用括号。

字符串切片

给定一个字符串s,切片的语法是:

s[ startIndex : pastIndex ]
startIndex是字符串的开始索引。pastIndex是切片的终点。如果省略了第一个索引,切片将从头开始。如果省略了最后一个索引,切片则到字符串的结尾。 例如:
#!/usr/bin/python
 
s = "Hello Python"
print(s[0:2]) # prints "He"
print(s[2:4]) # prints "ll"
print(s[6:])  # prints "Python"

修改字符串

在Python中有许多方法可以用于修改字符串。它们创建字符串,取代了旧的字符串的副本。

#!/usr/bin/python
 
s = "Hello Python"
 
print(s + ' ' + s) # print concatenated string.
print(s.replace('Hello','Thanks')) # print a string with a replaced word
 
# convert string to uppercase
s = s.upper()
print(s)
 
# convert to lowercase
s = s.lower()
print(s)


Python字符串比较,包含和串联

要测试两个字符串是否相等使用等号(= =)。可以使用“in”关键字测试一个字符串包含子字符串。要添加字符串连接在一起使用加(+)运算符。

#!/usr/bin/python
 
sentence = "The cat is brown"
q = "cat"
 
if q == sentence:
    print('strings equal')
 
if q in sentence:
    print(q + " found in " + sentence)

转义字符

在Python中有特殊的字符,可以在字符串中使用这些特殊的字符。可以使用它们来创建新行,制表符等等。让我们实际操作例子,使用“\n”或换行符:

#!/usr/bin/env python
 
str1 = "In Python,\nyou can use special characters in strings.\nThese special characters can be..."
print(str1)

有时可能想显示双引号括起来,但是它们已经习惯使用字符串在开始或结束位置,所以我们不得不转义它们。 一个例子:

#!/usr/bin/env python
 
str1 = "The word \"computer\" will be in quotes."
print(str1)

在字符串中使用特殊字符如下所示:

操作 字符
新行 \n
引号 \"
单引号 \'
制表符 \t
反斜杠 \\

4、Python 列表


Python有一个数据类型叫列表,被称为 ‘list’.   列表可以包含字符串(文字)和数字。列表使用的是括号定义 [].  要访问数据,使用相同的括号。如字符串,第一元素是[0]。列表用法示例如下:

#!/usr/bin/python
 
l = [ "Drake", "Derp", "Derek", "Dominique" ]
 
print l     # prints all elements
print l[0]  # print first element
print l[1]  # prints second element

输出结果:

['Drake', 'Derp', 'Derek', 'Dominique']
Drake
Derp

追加和删除列表项

我们可以使用函数 append() 和 remove() 来操作列表。

#!/usr/bin/python
 
l = [ "Drake", "Derp", "Derek", "Dominique" ]
 
print l                # prints all elements
l.append("Victoria")   # add element.
print l                # print all elements
l.remove("Derp")       # remove element.
l.remove("Drake")      # remove element.
print l                # print all elements.

输出结果:

['Drake', 'Derp', 'Derek', 'Dominique']
['Drake', 'Derp', 'Derek', 'Dominique', 'Victoria']
['Derek', 'Dominique', 'Victoria']

列表排序

我们可以使用 sort()函数排序列表。

#!/usr/bin/python
 
l = [ "Drake", "Derp", "Derek", "Dominique" ]
 
print l     # prints all elements
l.sort()    # sorts the list in alphabetical order
print l     # prints all elements

输出结果:

['Drake', 'Derp', 'Derek', 'Dominique']
['Derek', 'Derp', 'Dominique', 'Drake']

如果想要列表降序排列,可使用 reverse()函数。

#!/usr/bin/python
 
l = [ "Drake", "Derp", "Derek", "Dominique" ]
 
print l     # prints all elements
l.sort()    # sorts the list in alphabetical order
l.reverse() # reverse order.
print l     # prints all elements

输出结果:

['Drake', 'Derp', 'Derek', 'Dominique']
['Drake', 'Dominique', 'Derp', 'Derek']

5、Python 元组


元组数据结构用于存储一组数据。元组中的元素以逗号分隔。 一旦创建,元组中的值不能改变。在 Python 中一个空的元组将被定义为:

tuple = ()

逗号需要用在一个项目的元组:

tuple = (3,)

一个项目使用逗号可能有点反直观,但是没有逗号在单个项目中,则无法访问该元素。 对于多个项目,不必使用逗号在结尾。这是元组的一个例子:

personInfo = ("Diana", 32, "New York")

元组内的数据可以是一个或多个数据类型,如文本和数字。 数据存取访问,我们可以简单的使用索引的数据。像往常一样,索引是一个在括号内的数字:

#!/usr/bin/env python
 
personInfo = ("Diana", 32, "New York")
print(personInfo[0])
print(personInfo[1])

输出结果:

Diana
32

如果想一次赋值给多个变量,可以使用元组:

#!/usr/bin/env python
 
name,age,country,career = ('Diana',32,'Canada','CompSci')
print(country)

在右侧的元组被写入。左边的运算等于运算符是对应的变量。输出如下:

Canada

Python中追加元素到元组

如果有一个元组,可以将它执行 + 操作。 可以只添加一个元组到现有的元组。

#!/usr/bin/env python
 
x = (3,4,5,6)
x = x + (1,2,3)
print(x)

输出:

(3, 4, 5, 6, 1, 2, 3)

转换元组

元组到列表是将元组转换为一个元组,可以使用 tuple() 函数。

#!/usr/bin/env python
 
listNumbers = [6,3,7,4]
x = tuple(listNumbers)
print(x)

可以使用 list()函数将现有的元组转换为列表:

#!/usr/bin/env python
 
x = (4,5)      
listNumbers = list(x)  
print(listNumbers)

元组转为字符串,如果元组中只包含字符串(文本),可以使用:

#!/usr/bin/env python
 
person = ('Diana','Canada','CompSci')
s = ' '.join(person)
print(s)

排序元组

元组数组是不能修改的,并且没有任何排序功能。但是可以使用 sorted() 函数返回一个列表。这个列表可被转换到一个新的元组。请记住元组是不能被修改的,我们简单的创建一个新的元组,在排序时出现这种情况。

#!/usr/bin/env python
 
person = ('Alison','Victoria','Brenda','Rachel','Trevor')
person = tuple(sorted(person))
print(person)

6、Python3 字典

字典可以被看作是一个无序的键 : 值对。 一对大括号用于创建一个空的字典: {}.  每个元素可以映射到一个特定的值。整数或字符串可以用来作索引。字典没有顺序。让我们用一个例子作一个简单的解释:

#!/usr/bin/python
 
words = {}
words["Hello"] = "Bonjour"
words["Yes"] = "Oui"
words["No"] = "Non"
words["Bye"] = "Au Revoir"
 
print words["Hello"]
print words["No"]

输出:

Bonjour
Non

我们并不局限于在值部分来用单词的定义。一个演示:

#!/usr/bin/python
 
dict = {}
dict['Ford'] = "Car"
dict['Python'] = "The Python Programming Language"
dict[2] = "This sentence is stored here."
 
print dict['Ford']
print dict['Python']
print dict[2]

输出:

Car
The Python Programming Language
This sentence is stored here.

操作字典
我们可以在字典声明之后操作存储在其中的数据。这显示在下面的例子:

#!/usr/bin/python
 
words = {}
words["Hello"] = "Bonjour"
words["Yes"] = "Oui"
words["No"] = "Non"
words["Bye"] = "Au Revoir"
 
print words            # print key-pairs.
del words["Yes"]       # delete a key-pair.
print words            # print key-pairs.
words["Yes"] = "Oui!"  # add new key-pair.
print words            # print key-pairs.

输出:

{'Yes': 'Oui', 'Bye': 'Au Revoir', 'Hello': 'Bonjour', 'No': 'Non'}
{'Bye': 'Au Revoir', 'Hello': 'Bonjour', 'No': 'Non'}
{'Yes': 'Oui!', 'Bye': 'Au Revoir', 'Hello': 'Bonjour', 'No': 'Non'}