Python语言本身就是一门简单的语言,入门非常容易。本文以 Eric Matthes 的《Python编程从入门到实践》为基础。对书中内容提炼总结,希望对入门python的你有帮助。
变量和简单数据类型
运行hello_world.py时发生的情况
运行hello_world.py时,Python都做了些什么呢?下面来深入研究一下。实际上,即便是运行简单的程序,Python所做的工作也相当多
hello_world.py
print("Hello Python world!")
运行文件hello_world.py时,末尾的.py指出这是一个Python程序,因此编辑器将使用Python解解释释器器 来运行它。Python解释器读取整个程序,确定其中每个单词的含义。例如,看到单 词print 时,解释器就会将括号中的内容打印到屏幕,而不会管括号中的内容是什么。
变量
下面来尝试在hello_world.py中使用一个变量。在这个文件开头添加一行代码,并对第2行代码进行修改,如下所示:
hello_world.py
message = "Hello Python world!"
print(message)
运行这个程序,看看结果如何。你会发现,输出与以前相同:
我们添加了一个名为message 的变变量量 。每个变量都存储了一个值 ——与变量相关联的信息。在这里,存储的值为文本“Hello Pythonworld!”。 添加变量导致Python解释器需要做更多工作。处理第1行代码时,它将文本“Hello Pythonworld!”与变量message 关联起来;而处理第2行代码时,它将与变量message 关联的值打 印到屏幕。
变量命名规则
在Python中使用变量时,需要遵守一些规则和指南。违反这些规则将引发错误,而指南旨在让你编写的代码更容易阅读和理解。请务必牢记下述有关变量的规则。
- 变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打头,例如,可将变量命名为message_1,但不能将其命名为1_message。
- 变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名greeting_message可行,但变量名greetingmessage会引发错误。
- 不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词,如print 。
- 变量名应既简短又具有描述性。例如,name比n好,student_name比s_n好,name_length比length_of_persons_name好。
- 慎用小写字母l和大写字母O,因为它们可能被人错看成数字1和0。
字符串
字符串就是一系列字符。在Python中,用引号括起的都是字符串,其中的引号可以是单引号,也可以是双引号,还可以同时使用。如:
"This is a string."
'This is also a string.'
字符串的简单运算
对于字符串,可执行的最简单的操作之一是修改其中的单词的大小写。请看下面的代码,并尝试判断其作用:
name = "minger"
print(name.title())
title() 以首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写。这很有用,因为你经常需要将名字视为信息。
name = "minger"
print(name.upper())
upper()、lower() 将字符串改为全部大写或全部小写。
注意:title()、upper()、lower() 均不改变原字符串,只是输出了一个新的字符串。
合并(拼接)字符串
Python使用加号(+ )来合并字符串。在示例中,我们使用+ 来合并first_name 、空格和last_name ,以得到完整的姓名,如下:
first_name = "xiao"
last_name = "ming"
full_name = first_name + " " + last_name
print(full_name)
使用制表符或换行符来添加空白
在编程中,空白泛指任何非打印字符,如空格、制表符和换行符。你可使用空白来组织输出,以使其更易读。 要在字符串中添加制表符,可使用字符组合\t ,如下述代码的处所示:
print('\tPython')
print('Hello,\nPython')
删除空白
在程序中,额外的空白可能令人迷惑。对程序员来说,‘python’ 和’python ’ 看起来几乎没什么两样,但对程序来说,它们却是两个不同的字符串。Python能够发 现’python ’ 中额外的空白,并认为它是有意义的——除非你告诉它不是这样的。
rstrip() 删除右侧空白,lstrip() 删除左侧空白,strip() 删除两端空白。
注意执行完去空格命令后,再打印出 msg,还是原来的字符串,这说明 strip() 也不改变原来的字符串。
使用字符时避免语法错误
语法错误 是一种时不时会遇到的错误。程序中包含非法的Python代码时,就会导致语法错误。例如,在用单引号括起的字符串中,如果包含撇号,就将导致错误。这是因为这会 导致Python将第一个单引号和撇号之间的内容视为一个字符串,进而将余下的文本视为Python代码,从而引发错误。
Python 2 中的 print 语句
在Python 2中,print语句的语法稍有不同:
在Python 2中,无需将要打印的内容放在括号内。从技术上说,Python 3中的print 是一个函数,因此括号必不可少。有些Python 2 print 语句也包含括号,但其行为与Python 3中 稍有不同。简单地说,在Python 2代码中,有些print 语句包含括号,有些不包含。
数字
整数
在Python中,可对整数执行加(+)减(-)乘(*)除(/)运算。
Python使用两个乘号表示乘方运算:
Python还支持运算次序,因此你可在同一个表达式中使用多种运算。你还可以使用括号来修 改运算次序,让Python按你指定的次序执行运算,如下所示:
浮点数
Python将带小数点的数字都称为浮点数。大多数编程语言都使用了这个术语,它指出了这样一个事实:小数点可出现在数字的任何位置。
从很大程度上说,使用浮点数时都无需考虑其行为。你只需输入要使用的数字,Python通常都会按你期望的方式处理它们:
但需要注意的是,结果包含的小数位数可能是不确定的:
所有语言都存在这种问题,没有什么可担心的。Python会尽力找到一种方式,以尽可能精确地表示结果,但鉴于计算机内部表示数字的方式,这在有些情况下很难。后面将会学习更多的处理方式。
使用函数str()避免类型错误
如果用数字跟字符串拼接,就会出现类型错误。为避免这个问题,可以使用 str() 将数字转换为字符串再进行操作。
注释
在Python中,注释用井号(# )标识。井号后面的内容都会被Python解释器忽略,如下所示:
# 公众号【程序猿编码】
print("Hello 程序猿编码!")
列表
列表 由一系列按特定顺序排列的元素组成。你可以创建包含字母表中所有字母、数字0~9或所有家庭成员姓名的列表;也可以将任何东西加入列表中,其中的元素之间可以没有 任何关系。鉴于列表通常包含多个元素,给列表指定一个表示复数的名称(如letters 、digits 或names )是个不错的主意。
在Python中,用方括号([])来表示列表,并用逗号来分隔其中的元素。
修改、增加、删除元素
修改元素
修改列表元素的语法与访问列表元素的语法类似。要修改列表元素,可指定列表名和要修改的元素的索引,再指定该元素的新值。
添加元素
可以在末尾添加,也可以在任意位置插入。
插入元素
使用方法insert() 可在列表的任何位置添加新元素。为此,你需要指定新元素的索引和值。
删除元素
1、del:按索引删除
2、 pop():删除列表最后一个元素并返回最后一个元素的值。也可以传索引删除任意位置的值。
3、remove():按值删除
注意:方法remove() 只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值。
如果你不确定该使用del语句还是pop()方法,下面是一个简单的判断标准:如果你要从列表中删除一个元素,且不再以任何方式使用它,就使用del语句;如果你要在删除元素后还能继续使用它,就使用方法pop()。
组织列表
列表的排序主要有两种方式:
使用方法sort()对列表进行永久性排序
使用函数sorted()对列表进行临时排序
使用方法sort()对列表进行永久性排序
使用 sort() 方法将改变原列表。如果要反转排序,只需向sort()方法传递参数 reverse=True。
使用函数sorted()对列表进行临时排序
函数 sorted() 让你能够按特定顺序显示列表元素,同时不影响它们在列表中的原始排列顺序。
如果要反转排序,只需向 sorted() 传递参数 reverse=True。
反转列表
要反转列表元素的排列顺序,可使用方法 reverse()。 reverse() 也会改变原始列表。reverse() 只会按原来的顺序反转,不会进行额外的按字母排序。
确定列表的长度
使用函数len()可快速获悉列表的长度。
注意: Python计算列表元素数时从1开始,因此确定列表长度时,你应该不会遇到差一错误。
操作列表
循环
使用 for…in 循环。
python 以缩进来区分代码块,所以需要正确的缩进
list = ['super', 'solo', 'alex', 'douglas']
for lists in list:
print(lists)
range() 会产生包含第一个参数但不包含第二个参数的一系列数值。
Python函数range() 让你能够轻松地生成一系列的数字。例如,可以像下面这样使用函数range() 来打印一系列的数字:
numbers = list(range(1,6))
print(numbers)
range() 还可以指定步长。下面的例子生成了从0开始,到11的偶数:
numbers = list(range(0,11,2))
print(numbers)
对列表简单的计算
有几个专门用于处理数字列表的Python函数。
min():计算最小值
max():计算最大值
sum():计算总和
numbers = list(range(0,11,2))
print(numbers)
print(min(numbers))
print(max(numbers))
print(sum(numbers))
列表解析
列表解析将for 循环和创建新元素的代码合并成一行,并自动 附加新元素。面向初学者的书籍并非都会介绍列表解析,这里之所以介绍列表解析,是因为等你开始阅读他人编写的代码时,很可能会遇到它们。
squares = [value**2 for value in range(1,11)]
print(squares)
要使用这种语法,首先指定一个描述性的列表名,如squares ;然后,指定一个左方括号,并定义一个表达式,用于生成你要存储到列表中的值。在这个示例中,表达式 为value2 ,它计算平方值。接下来,编写一个for 循环,用于给表达式提供值,再加上右方括号。在这个示例中,for 循环为for value in range(1,11) ,它将值 1~10提供给表达式value2 。请注意,这里的for 语句末尾没有冒号。
切片
要创建切片,可指定要使用的第一个元素和最后一个元素的索引。与函数range()一样,Python在到达你指定的第二个索引前面的元素后停止。要输出列表中的前三个元素,需要指定索引0~3,这将输出分别为0、1和2的元素。
names = ['lisi','wangwu','zhangsan','laoliu']
print(names[1:4])
如果你没有指定第一个索引,Python将自动从列表开头开始:
如果没有指定终止索引,将自动取到列表末尾
names = ['lisi','wangwu','zhangsan','laoliu']
print(names[2:])
也可以使用负数索引,比如返回最后三个元素
names = ['lisi','wangwu','zhangsan','laoliu']
print(names[-2:])
遍历切片
names = ['lisi','wangwu','zhangsan','laoliu']
for name in names[1:3]:
print(name)
复制列表
可以使用切片来快速复制列表,不指定开始索引和结束索引。
names = ['lisi','wangwu','zhangsan','laoliu']
name =names[:]
print(name)
用切片复制出来的新列表,跟原来的列表是完全不同的列表,改变其实一个不会影响另一个列表。
names = ['lisi','wangwu','zhangsan','laoliu']
name =names[:]
print(name)
names.append('xiaoming')
print(names)
print(name)
元组
列表非常适合用于存储在程序运行期间可能变化的数据集。列表是可以修改的,这对处理网站的用户列表或游戏中的角色列表至关重要。然而,有时候你需要创建一系列不可修 改的元素,元组可以满足这种需求。Python将不能修改的值称为不可变的的 ,而不可变的列表被称为元组。
元组看起来犹如列表,但使用圆括号而不是方括号来标识。定义元组后,就可以使用索引来访问其元素,就像访问列表元素一样。
food = ('apple', 'orange')
print(food[0])
总结
今天就总结到这里了,主要是简单描述了变量、数据类型和列表。时间很晚了,下一篇我们在总结Python快速入门系列(二),希望自己总结的内容对你快速入门Python有帮助。
欢迎关注公众号【程序猿编码】,添加本人微信号(17865354792),回复:领取学习资料。或者回复:进入技术交流群。网盘资料有如下: