Python编程学习笔记(一)
players = ["Messi","Ronaldo","Neymar","Mbappe","Wulei"]
for player in players:
print(player)
Messi
Ronaldo
Neymar
Mbappe
Wulei
注意:Python和C/C++/Java编程语言在基本语句编写上的一个明显的不同点,就是Python在每个语句的结尾处是没有类似于C/C++/Python中的“;”这样的代表一句语句结束的标志的,Python是通过换行和不同的缩进来识别一个语句的结束或是某些语句是否在某一循环体中,例如上面的例子,在上面这段代码当中,可以明显的看到print(player)
前面是有一个缩进的单位的,这样缩进之后意味着这个语句是属于上面的for循环的循环体中的语句;相反的,如果该语句前面没有缩进,就代表该语句是循环体外的语句。
for循环是我们在编程过程中较早接触的循环结构,也是我们比较常用的一个循环语句,接下来对for循环的一些特性和在python中的写法做出一些说明
我们早早在C/C++语言当中就曾经接触过这种循环结构,循环结构是用来重复的完成一系列重复的工作的实现方式,避免我们为重复的操作而敲大量的代码。
在上面我们已经初步使用了python的for循环语句,比较容易发现在python当中是没有像C/C++语言当中的{ }这样的规定循环体的范围的标识的,在Python当中,我们用缩进来表示一段代码是否属于某一函数体/循环体, 比如在for循环的语句当中,for语句末尾会有“:”代表此语句之后的带有比for语句多一个缩进单位的语句是属于该for循环的循环体的,而此后的第一个和for循环语句前的缩进单位相同的语句出现代表for循环的循环体截止于此语句之前
只看文字的说明会比较晦涩,可以直接参考下面的例子:
players = ["Messi","Ronaldo","Neymar","Mbappe","Wulei"]
for player in players:
print(player+" is one of the best football players in the world!")
print("That's all")
Messi is one of the best football players in the world!
Ronaldo is one of the best football players in the world!
Neymar is one of the best football players in the world!
Mbappe is one of the best football players in the world!
Wulei is one of the best football players in the world!
That's all
range()
具体使用的方式如下:
for value in range(1,5):
print(value)
for value in range(1,10,2):
print(value)
1
2
3
4
1
3
5
7
9
我们不单单可以用range()函数进行一些列连续数字序列的输出,也可以通过range()函数创建一个连续数字序列的数字列表,这时候我们还要用到一个新的函数list(),通过这两个函数进行连续数字序列的数字列表的创建,具体实现方法如下:
numbers = list(range(1,6))
print(numbers)
[1, 2, 3, 4, 5]
我们在日常的学习工作中可能会很多的遇到需要将大量的数据进行数据处理的场景,这时候python的一些方便的操作就能帮助我们更高效的完成这些原理简单的操作,但是在其他高级编程语言中很少会直接提供这样便利的数据统计的函数或方法,尽管这些简单的操作实现原理很简单,但毕竟相比其他语言还是可以减少好几行的代码量,长此以往python的编写简洁性会更受到青睐。
接下来说明数字列表的最简单的几种统计方法:
numbers = [7,3,5,1,9,2,10,6,8,4]
print(min(numbers))
print(max(numbers))
print(sum(numbers))
1
10
55
我们在日常列表的使用当中,可能会遇到只需要列表的一部分的情况,在其他语言的类似结构的操作中,我们只能通过for循环和对索取部分的限定条件取得序列的一部分,但幸运的是,Python语言为我们提供了直接得到列表的一部分的方法,这种方法就是列表切片。
和range()函数的使用方法类似,我们使用切片时的方法如下:
players = ["Messi","Ronaldo","Neymar","Mbappe","Wulei"]
print(players[1:4])
print(players[:4])
print(players[1:])
print(players[-5:-2])
print(players[4:1])
['Ronaldo', 'Neymar', 'Mbappe']
['Messi', 'Ronaldo', 'Neymar', 'Mbappe']
['Ronaldo', 'Neymar', 'Mbappe', 'Wulei']
['Messi', 'Ronaldo', 'Neymar']
[]
players[1:4]
代表列表的一部分切片,“[ ]”中的数字意思是索引的开始和结束的数值,当然我们也可以选择不指定索引,如果起始值不指定就代表从头开始,同理,如果截至值不指定就代表在列表结尾处切片。列表的切片本质上就是一个列表,所以我们针对列表的操作对列表切片同样适用
根据这样的原则,我们同样可以对列表切片进行遍历或单一数据的访问等操作,同时我们也可以通过对切片起始和结束点的规定进行列表的复制等操作。
具体实现方法和列表的正常操作基本相同,接下来举例其中的几个操作,不过多赘述。
players = ["Messi","Ronaldo","Neymar","Mbappe","Wulei"]
for player in players[1:5]:
print(player)
lista = players[:4]
print(lista)
listb = players
print(listb)
Ronaldo
Neymar
Mbappe
Wulei
['Messi', 'Ronaldo', 'Neymar', 'Mbappe']
['Messi', 'Ronaldo', 'Neymar', 'Mbappe', 'Wulei']
在这里引入一个新的有关列表的概念,我们正常定义和使用的列表在程序的运行过程当中,其元素是可改变的,也就是说,我们可以随时改变列表内的某个元素的值(value)。但在实际的程序编写运行解决问题的过程中,我们有时可能会需要建立一个不可被改变的序列,此时我们就需要元组来满足我们的需求。
元组的基本使用方法如下:
numbers = (10,20)
print(numbers[0])
print(numbers[1])
for number in numbers:
print(number)
10
20
10
20
numbers = (10,20)
print(numbers)
numbers = (10,100)
print(numbers)
(10, 20)
(10, 100)
在我们学习计算机编程语言的过程中,我们会接触到各种结构,比如:顺序结构、循环结构等,而if语句所涉及到的结构就是选择结构, 我们可以使用判断语句判断目前我们所处的情况,并根据我们判断的结果继续进行相应的操作
下面是一个简单的示例:
cars = ["audi", "bmw", "honda", "toyota", "benz"]
for car in cars:
if car == "bmw":
print(car.upper())
else:
print(car)
audi
BMW
honda
toyota
benz
在我们用到if语句需要判断某个条件的时候,我们总是需要判断某样事物是否符合某个条件,而在我们的计算机语言当中,因为计算机内都是二进制代码,所以我们更多的使用真或假来判断是否符合某个条件,也就是说,我们的条件都具有真或假的性质。
比如下面的例子:
car = "bmw"
car == "bmw"
True
and
或or
来连接多个条件,来满足我们对判断条件的需求。
具体实例如下:
car = "bmw"
print(car != "bmw")
num = 18
print(num < 18)
print(num <= 18)
if num < 21 and num>=18:
print(1)
if num < 21 or num > 50:
print(2)
False
False
True
1
2
具体使用方法如下:
cars = ["bmw", "audi", "toyota", "honda"]
"benz" in cars
False
cars = ["bmw", "audi", "toyota", "honda"]
"bens" not in cars
True
这里我们简单的使用了in
和not in
的语句,在日常的使用中,我们更多的会把它当作if当中的判断条件使用,而不是单独的出现。
在这一部分的讲述和演示当中我们经常会看到True和False的形式,在此对布尔型做出一个简单的说明,因为布尔型比较容易理解而且我们在其他的语言中也一定对此有过接触,所以就一带而过,简单说说。
在这一部分开始到现在,我们已经铺垫了很多有关判断语句,条件测试等内容,而这些内容在我们日常的使用中一般是直接结合if语句进行使用的,很少会出现单独使用的情况,所以if语句的使用才是这一部分的关键所在,也是我们接触的比较基础的且常用的语句之一。
在我们学习其他的语言的时候,相信大家都曾接触过有关if语句的使用,也对if语句有一个基本的了解,在Python当中,if语句的基本使用也和其他语言当中的使用方法差别不是特别大。使用方法如下:
test = True
if test:
print("yes")
yes
在这样一个简单的示例中,我们展示了if语句的最基本使用方法,可以明显看到if后的条件需要反馈给我们一个布尔表达式,方便我们为接下来的操作做出选择。
当然,仅仅对返回True的条件进行操作在我们平时的使用时是远远不够的,所以我们引入了if-else和if-elif-else操作,如果你之前有过其它语言的编程基础,你也一定对这种形式有一些熟悉,这样的使用方式和C/C++当中的if-else if-else的使用方法是几乎相同的。
具体的使用实例如下:
age = 20
if age >= 18:
print("you are an adult")
else:
print("you are under age")
you are an adult
接下来是if-elif-else语句,这是if语句的最复杂的形式,可以完成很多层if语句嵌套的效果,这也为我们的条件测试提供了更多的选择,我们可以直接对条件进行一个基本的分类,选择他们分别进行不同的操作:
grade = 95
if grade > 90:
print("you get A")
elif grade >= 80 and grade < 90:
print("you get B")
elif grade >= 70 and grade < 80:
print("you get C")
elif grade >= 60 and grade < 70:
print("you get D")
else:
print("sorry,you get E")
you get A
列表是Python语言的一个很常用的工具,所以我们对列表的一些操作也要力求简单方便,针对列表内的一些检查和筛选,我们还是要用到判断语句,来方便我们对列表进行一些整理操作。
比如下面的这个简单的例子:
nums = [12,54,76,99,34,123,654,385]
for num in nums:
if num%2 == 0:
nums.remove(num)
print(nums)
[54, 99, 123, 385]
在上述的例子当中,我们使用了for循环和if语句的嵌套,结合列表的基本操作,将列表当中的所有偶数都删除掉,最终的列表当中就仅剩奇数,上述的例子在实际的运行当中是有逻辑上的一个小问题的,大家也可以自己思考一下问题所在和解决方法,但是为了让大家能够容易理解,就还是忽略问题保留这个形式比较简单的示例了。
上面的例子实际上不过是多种结构的嵌套,而对于列表来说,在python中我们还可以通过判断语句直接判断列表是否为空,操作方法如下:
cars = []
if cars:
print("not empty")
else:
print("empty")
empty
我们在这一部分学习了众多的操作,而在我们实际应用的过程中,我们很有可能会综合型的用到我们平时零散的内容,但所有的应用规则都是不变的,我们只需要在编写程序的时候灵活的把我们需要用到的结构或是语句结合到一起即可。
Python编程学习笔记(一):数据类型;列表基础;函数、方法、语句辨析;
Python编程学习笔记(二):列表操作;判断语句(if);
Python编程学习笔记(三):字典;
这次更新拖得有一点久…以后争取保证至少每周一更,督促自己学习,如果本文对您有帮助的话可以点赞或收藏,谢谢大家!
本文的讲解忽略了一些比较基础的名词的解释,如果有问题或发现错误可以回复或私信博主,讲述的顺序主要是参照了图灵图书的《Python编程:从入门到实践》,推荐大家购买正版的纸质或电子版书籍。
转载请注明出处。