Python学习之认识python
Python 版本
? Python 从1989年诞生的第一个版本,到目前为止,存在 python2 和 python3 两个版本,并且两个版本不兼容。目前python 程序中 python2 占比依然大于 python3,但 python2 已于2020-01-01官方不再维护,因此学习 python,强烈推荐 python3。
第一个 python 程序
判断当前分钟数为奇数还是偶数,并打印信息
from datetime import datetime odds =[1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59] now_this_minute = datetime.today().minute if now_this_minute in odds: print(f"当前分钟数为奇数:{now_this_minute}") else: print(f"当前分钟数为偶数:{now_this_minute}") >>>当前分钟数为奇数:17
from datetime import datetime
datetime 是 python 的标准库提供的模块,可以获取当前的时间,年、日、月、时、分、秒。
标准库又叫 python 的“内置电池”,里面包含了各种各样的方法,以此满足 python 程序员的各种需求,当然,python 也支持导入第三方的库(如果已安装对应库)。
为什么从 datetime 导入 datetime 呢?可能这会有些别扭,但这是 python 的固定写法,也许这也是 python 的特点之一
odds=[]
这是 python 其中一种数据结构-列表,python 还有其他三种数据结构,包括:元组、字典、集合。列表是一种有序可修改的,存储各种数据类型的数据结构,在 python 中非常常用,和其他语言的数组类似。
= 是 python 给变量赋值的方式
now_this_minute = datetime.today().minute
使用 datetime 模块的 today 方法,获取当前的分钟数,并赋值给变量 now_this_minute。
if now_this_minute in odds
if:python 的判断方式,和其他语言一样。
in:是 python 的一种判断一个变量是否在一个列表中或者对象中的方式,若在,则返回 True,否则返回 False。
else:
print(f"当前分钟数为奇数:{now_this_minute}")
print:python 打印信息的方法(pirnt 在 python2 中是一个关键字,而在 python3 中是一个方法)
f"{}":python 中字符串格式化的方式之一,也是当前最推荐使用的方法,除此之外,还有两种方法也可以格式化字符串,% 以及 format,% 是许多语言都支持的一种方式,但已经不推荐使用该种方式,而 format 则是 python 另外推荐使用的一种方式。
通过上面程序,对 python 有了一个初步的认识。但这个程序只能执行一次判断一次,如果想要执行一次可迭代判断多次的话,该如何实现呢?
在 python 中想要实现循环迭代,常用的方法有 for 和 while。如果已知道需要迭代的次数,则推荐使用 for 循环; while 循环是一个深度循环,需要适时的跳出循环,否则容易进入死循环。但死循环也是有应用场景的,比如:ATM
实现判断当前分钟数为奇数还是偶数,并打印信息,循环迭代5次的代码如下:
from datetime import datetime from time import sleep import random odds =[1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59] for i in range(5): now_this_minute = datetime.today().minute if now_this_minute in odds: print(f"当前分钟数为奇数:{now_this_minute}") else: print(f"当前分钟数为偶数:{now_this_minute}") wait_time = random.randint(1, 60) sleep(wait_time) >>>当前分钟数为偶数:12 >>>当前分钟数为奇数:13 >>>当前分钟数为偶数:14 >>>当前分钟数为偶数:14 >>>当前分钟数为偶数:14
上面的程序使用了 for 循环,time 模块,以及 random 模块
for i in range(5)
循环执行5次,怎么确定是执行了5次呢?这归功于 range 函数,range 函数最基本的形式是接收一个整数参数,并返回一个可迭代的数字列表,从 1 开始,到指定的参数结束,比如:range(5),则返回的结果为 [1, 2, 3, 4, 5]
random.randint(1, 60)
random 是内置的标准库模块,randint 函数能从给定的范围中随机获取一个数,randint(1, 60):从1~60中随机获取一个整数
time
time 是内置的标准库模块,提供与时间相关的处理方法,sleep 是一个睡眠等待方法,可以使得程序暂停等待指定的秒数
学习内容来自《Head First Python》