Python从入门到实践(一)

第一章、变量和简单数据类型

1.1 变量

1.1.1 变量的命名和使用

在 Python 中使用变量时,需要遵守一些规则和指南。违反这些规则将引发错误,而指南旨在让你表写的代码更容易阅读和理解。

  • 变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打头。
  • 变量名不能包含空格,但可使用下划线来分割其中的单词。
  • 不要将 Python 关键字和函数名用作变量名,即不要使用 Python 保留用于特殊用途的单词。
  • 变量名应既简短又具有描述性。
  • 慎用小写字母 I 和大写字母 O。

注意:就目前而言,应使用小写的 Python 变量名。在变量名中使用大写字母虽然不会导致错误,但避免使用大写字母是个不错的主意。

1.2 字符串

字符串就是一些列字符。在 Python 中,用引号括起来的都是字符串,其中引号可以是单引号,也可以是双引号。

1.2.1 使用方法修改字符串的大小写

对于字符串,可执行的最简单的操作之一是修改其中的单词的大小写。

name = "i love you"
# 将字符串以首字母大写的方式显示每个单词
# 注意:当你的单词中不是首位单词有大写的单词,使用该方法后,会转换为小写
print(name.title())
# 将字符串全部改为大写
print(name.upper())
# 将字符串全部改为小写
print(name.lower())
1.2.2 合并(拼接)字符串

在很多情况下,都需要合并字符串。例如,你可能需要将姓和名存储在不同的变量中,等要显示姓名时再合二为一。

first_name = "kings"
last_name = "me"
# Python 使用加号(+)来合并字符串
nick_name = first_name + last_name
print("hello, " + nick_name.title() + "!")
1.2.3 使用制表符或换行符来添加空白

在编程中,空白 泛指任何非打印字符,如空格、制表符和换行符。你可以使用空白来组织输出,易于读。

# 在字符串中添加制表符,可以使用字符组合 '\t'
print("\tPython")
# 在字符串中添加换行符,可以使用字符组合 '\n'
print("Languages:\n\tJava\n\tPython")
1.2.4 删除空白

在程序中,两个字符串是否一致是比较严格的,往往多一个空格,那就是两个不同的字符串。在表单验证中,往往需要判断用户输入的信息和数据库中村的数据进行比较,用户在填入表单的时候有时不小心前后位置输入空格,将会导致不同的结果出现。

message = " python java "
# 使用 rstrip() 方法剔除字符串末尾的空白
print(message.rstrip())
# 使用 lstrip() 方法剔除字符串开头的空白
print(message.lstrip())
# 使用 strip() 方法剔除字符串两头的空白
print(message.strip())
# 如果你需要永久删除这个字符串中的空白,必须将删除操作的返回结果存回到变量中
message = message.strip()
print(message)
1.2.5 使用字符串时避免语法错误

语法错误是一种时不时会遇到的错误。程序中包含非法的 Python 代码时,就会导致语法错误。例如,在用单引号括起的字符串中,如果包含撤号,就将导致错误。这是因为这会导致 Python 将第一个单引号的撤号之间的内容视为一个字符串。进而将余下的文本视为 Python 代码,从而引发错误。

注意:编写程序时,编辑器的语法突出功能可以帮助你快速找出某些语法错误。看到 Python 代码以普通句子的颜色显示,或者普通句子以 Python 代码的颜色显示时,就可能意味着文件中存在引号不匹配的情况。

message_1 = "I'm kingsMe."
message_2 = 'I'm kingsMe.'
print(message_1)
# 此处会报错。SyntaxError: invalid syntax
print(message_2)
1.2.6 Python2 中的 print 语句

在 Python2 中,无需将要打印的内容放在括号内。从技术上说,Python3 中的 print 是一个函数,因此括号必不可少。有些 Python2 的 print 语句也包含括号,但其行为与 Python3 中稍有不同。简单地说,在 Python2 代码中,有些 print 语句包含代码,有些不包含。

1.4 数字

在编程中,经常使用数字来记录游戏得分、表示可视化数据、存储 Web 应用信息等。Python 根据数据的用法以不同的方法处理他们。

1.4.1 整数

在 Python 中,可对整数执行加(+)减(-)乘(*)除(/)运算

# 加法运算
print(6 + 3) # 9
# 减法运算
print(6 - 3) # 3
# 乘法运算
print(6 * 3) # 18
# 除法运算
print(6 / 3) # 2
# 乘方运算
print(3 ** 2) # 9
# 多种运算方式
print((2 + 3) * 4)

空格不影响 Python 计算表达式的方式,他们的存在旨在你阅读代码时,能迅速确定先执行哪些运算。

1.4.2 浮点数

Python 将带小数点的数字都称为浮点数。大多数编程语言都使用了这个术语,它指出了这样一个事实,小数点可出现在数字的任何位置。每种编程语言都需细心设计,以妥善地处理浮点数,确保不管小数点出现在什么位置,数字的行为都是正常的。

很大程度上说,使用浮点数时都无需考虑其行为。你只需输入要使用的数字。

但需要注意的是,结果包含的小数位数可能是不确定的,会丢失精度。

1.4.3 使用函数 str()避免类型错误

你经常需要在消息中使用变量的值。

age = 25
message = "Happy " + age + "rd Birthday."
print(message)

运行上面那个代码,你将会发现他们会引发错误。

TypeError: Can`t convert 'int' object to str implicitly.

这是一个类型错误,意味着 Python 无法识别你使用的信息。在这个示例中,Python 发现你使用了一个值为整数(int)的变量,但它不知道该如何解读这个值。Python 知道这个变量表示的可能是数值 23,也可能是字符 2 和 3。像上面这样在字符串中使用整数时,需要显式的指出你希望 Python 将这个整数用作字符串。为此,可调用函数 str(),他让 Python 将非字符串值表示为字符串。

age = 25
message = "Happy " + str(age) + "rd Birthday."
print(message)

当结果出乎意料,请检查 Python 是否按你期望的方式将数字解读为了数值或字符串。

1.4.4 Python2 中的整数
>>>> python2
>>>> 3 / 2
>>>> 1

>>>> python3
>>>> 3 / 2
>>>> 1.5

注意:我们可以看到,在 Python2 中,整数除以整数,得到的结果也是整数。这点和在 java 中是一样的。但是在 Python 中,整数除以整除,是有可能得到浮点数的。

1.5 注释

在大多数编程语言中,注释都是一项很有用的功能。随着程序越来越大,越来越复杂,就应在项目中添加说明,对你解决问题的方法进行大致的描述,注释让你能够使用自然语言在程序中添加说明。

1.5.1 如何编写注释

在 Python 中,注释用井号(#)标识。井号后面的内容都会被 Python 解释器忽略。

1.5.2 该编写什么样的注释

编写注释的主要目的是阐述代码要做什么,以及是如何做的。在开发项目期间,你对各个部分如何协同工作了如指掌,但过段时间后,有些细节你可能不记得了,当然,你总是可以通过阅读代码来确定各个部分的工作原理,但通过编写注释,以清晰的自然语言对解决方案进行概述,可以节省很多时间。

还有就是在一个公司中,你可能接手别人的代码,但是之前那个程序员没有写注释,这时候你就会很难受,因为你要看一段没有一点头绪的代码。上手的成本就会很高,所以养成写好注释的习惯,很重要。

1.6 小结

在本章中,你学习了:如何使用变量;如何创建描述性变量名以及如何消除名称错误和语法错误;字符串是什么,以及如何使用小写、大写和首字母大写方式显示字符串;使用空白来显示整洁的输出,以及如何剔除字符串中多余的空白;如何使用整数和浮点数;使用数值数据时需要注意的意外行为。你还学习了如何编写说明性注释,让代码对你和其他人来说更容易理解。

第二章、列表简介

2.1 列表是什么

列表是由一些列按特定顺序排列的元素组成。你可以创建包含字母表中的所有字母、数字 0~9 或所有家庭成员姓名的列表;也可以将任何东西加入列表中,其中的元素之间可以没有任何关系。鉴于列表通常包含多个元素,给列表指定一个小时复数的名称是个不错的主意。

在 Python 中,用方括号([])来表示列表,并用逗号来分隔其中的元素。

color = ['blue', 'yellow', 'red', 'green']
print(color) # 输出 >>>> ['blue', 'yellow', 'red', 'green']
2.1.1 访问列表元素

列表是有序集合,因此要访问列表的任何元素,只需要将该元素的位置或索引告诉 Python 即可。要访问列表元素,可指出元素的索引,并将其放在方括号内。

color = ['blue', 'yellow', 'red', 'green']
print(color[0]) # 输出 >>>> blue
2.1.2 索引从 0 开始而不是 1 开始

在 Python 中,第一个列表元素的索引为 0,而不是 1。在大多数编程语言中都是如此,这与列表操作的底层实现相关。根据这种简单的计数方式,要访问列表的任何元素,都可将其位置减 1,并将结果作为索引。

Python 为访问最后一个列表元素提供了一种特殊语法。通过将索引指定为 -1,可以让 Python 返回最后一个列表元素。这种语法很有用,因为你经常需要在不知道列表长度的情况下访问列表中最后的元素。这种约定也适用于其他负数索引,例如-2 返回倒数第二个元素,以此类推。

color = ['blue', 'yellow', 'red', 'green']
print(color[1]) # 访问列表中的第二个元素
print(color[-1]) # 访问列表中的最后一个元素
print(color[-2]) # 放回列表中倒数第二个元素
2.1.3 使用列表中的各个值

可以像使用其他变量一样使用列表中的各个值。例如,你可以使用拼接根据列表中的值来创建消息。

color = ['blue', 'yellow', 'red', 'green']
message = "My favorite color is " + color[0].title() + "."
print(message) # 输出 >>>> My favorite color is Blue.

2.2 修改、添加和删除元素

你创建的大多数列表都将是动态的,这意味着列表创建后,将随着程序的运行增删元素。

2.2.1 修改列表元素

修改列表元素的语法与访问列表元素的语法类似。要修改列表元素,可以指定列表名和要修改的元素的索引,再指定该元素的新值。

color = ['blue', 'yellow', 'red', 'green']
print(color) # 输出 >>>> ['blue', 'yellow', 'red', 'green']
color[0] = 'pink'
print(color) # 输出 >>>> ['pink', 'yellow', 'red', 'green']
2.2.2 添加列表元素

你可能处于众多原因需要在列表中添加新元素。Python 中提供了多种在现有列表中添加新数据的方式。

1. 在列表末尾添加元素

在列表中添加新元素时,最简单的方式是将元素附加到列表末尾。给列表附加元素时,它将添加到列表末尾。

color = ['blue', 'yellow', 'red', 'green']
print(color) # 输出 >>>> ['blue', 'yellow', 'red', 'green']
color.append('pink') # 方法 append() 将元素添加到列表末尾
print(color) # 输出 >>>> ['blue', 'yellow', 'red', 'green', 'pink']

# 使用方法 append() 可以动态的创建列表
color = []
color.append('blue')
color.append('red')
color.append('green')
print(color)
# 输出 >>>> ['blue', 'red', 'green']
2. 在列表中插入元素

使用方法 insert() 可以再列表中的任何位置添加新元素,为此,你只需要指定新元素的索引和值。这种操作会将列表中索引位置开始后面的元素都右移一个位置。

color = ['blue', 'red', 'green']
color.insert(1, 'yellow')
print(color)
# 输出 >>>> ['blue', 'yellow', 'red', 'green']
2.2.3 删除列表元素

你经常需要从列表中删除一个或多个元素。你可以根据位置或值来删除列表中的元素

1. 使用 del 语句删除元素

使用 del 语句可以删除任何位置处的列表元素,条件是知道其索引

color = ['blue', 'yellow', 'red', 'green']
print(color) # 输出 >>>> ['blue', 'yellow', 'red', 'green']
del color[0]
print(color) # 输出 >>>> ['yellow', 'red', 'green']
2. 使用 pop() 删除元素

有时候,你要将元素从列表中删除,并接着使用删除的值。方法 pop() 可以删除列表末尾的元素,并让你能够接着使用它。术语:弹出(pop)源自这样的类比;列表就像是一个栈,而删除列表末尾的元素相当于弹出栈顶元素。

color = ['blue', 'yellow', 'red', 'green']
print(color) # 输出 >>>> ['blue', 'yellow', 'red', 'green']

pop_color = color.pop()
print(pop_color) # 输出 >>>> green
print(color) # 输出 >>>> ['blue', 'yellow', 'red']
3. 弹出列表中任何位置处的元素

实际上,你可以使用 pop() 来删除列表中任何位置的元素,只需要在括号中指定要删除的元素的索引即可

color = ['blue', 'yellow', 'red', 'green']
print(color) # 输出 >>>> ['blue', 'yellow', 'red', 'green']
first_color = color.pop(0)
print(first_color) # 输出 >>>> blue
print(color) # 输出 >>>> ['yellow', 'red', 'green']

注意:每当你使用 pop() 时,被弹出的元素就不再列表中了。

如果你不确定该使用 del 语句还是 pop() 方法,下面是一个简单的判断标准:如果你要从列表中删除一个元素,且不再以任何方式使用它,就使用 del 语句;如果你要在删除元素后还能继续使用它, 那就使用 pop() 方法

4. 根据值删除元素

有时候你可能不知道要从列表中删除的元素所处的位置,如果你只知道要删除的元素的值,可以使用 remove() 方法

color = ['blue', 'yellow', 'red', 'green']
print(color) # 输出 >>>> ['blue', 'yellow', 'red', 'green']
remove_color = 'red'
color.remove(remove_color)
print(color) # 输出 >>>> ['blue', 'yellow', 'green']
print(remove_color + " is removed from list.")

注意:remove() 方法只删除列表中第一个指定的值。如果列表中有多个要删除的值,需要使用其他的方法

2.3 组织列表

在你创建的列表中,元素的排列顺序常常是无法预测的,因为你并非总能控制用户提供数据的顺序。这虽然在多数情况下都是不可避免的,但你经常需要以特定的顺序呈现列表信息。有时候你希望保留列表元素最初的排列顺序,而有时候又需要调整排序顺序。Python 提供了很多组织列表的方式。

2.3.1 使用 sort() 方法对列表进行永久性的排序

Python 中使用 sort() 方法可以让你较为轻松地对列表进行排序,不过该方法是永久性地修改列表元素的排序顺序,无法恢复到原来的排序顺序

color = ['blue', 'yellow', 'red', 'green']
print(color) # 输出 >>>> ['blue', 'yellow', 'red', 'green']

color.sort()
print(color) # 输出 >>>> ['blue', 'green', 'red', 'yellow']

# 你还可以指定排序的规则,只需要向 sort() 方法传递参数(reverse=True/False),默认为 False
color.sort(reverse=True)
print(color) # 输出 >>>> ['yellow', 'red', 'green', 'blue']
2.3.2 使用 sorted() 函数对列表进行临时排序

在对列表进行排序时,如果要保留列表元素原来的排列顺序,同时以特定的顺序呈现它们,可以使用 sorted() 函数。他能让你能够按特定顺序显示列表元素,同时不影响他们在列表中的原始排列顺序。同时,该方式也可以向方法传递参数以改变排序的规则。

color = ['blue', 'yellow', 'red', 'green']
print(color) # 输出 >>>> ['blue', 'yellow', 'red', 'green']
print(sorted(color)) # 输出 >>>> ['blue', 'green', 'red', 'yellow']
print(sorted(color, reverse=True)) # 输出 >>>> ['yellow', 'red', 'green', 'blue']
print(color) # 输出 >>>> ['blue', 'yellow', 'red', 'green']

注意: 在并非所有的值都是小写时,按字母顺序排序排列列表要复杂些。决定排列顺序时,有多重解读大写字母的方式,要指定准确的排列顺序,可能比我们这里所做的要更复杂。然而,大多数排序方式都本节类似。

2.3.3 倒着打印列表

要反转列表元素的排序顺序,可以使用 reverse() 方法,此方法也是永久性地修改列表的排序,不过只需要再次调用该方法即可恢复。

color = ['blue', 'yellow', 'red', 'green']
print(color) # 输出 >>>> ['blue', 'yellow', 'red', 'green']
color.reverse()
print(color) # 输出 >>>> ['green', 'red', 'yellow', 'blue']
color.reverse()
print(color) # 输出 >>>> ['blue', 'yellow', 'red', 'green']
2.3.4 确定列表的长度

使用函数 len() 可以快速的获取列表的长度

color = ['blue', 'yellow', 'red', 'green']
print(len(color)) # 输出 >>>> 4
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值