手边暂时没有电脑的战友可戳python大大给的网页链接(如下)直接用手机编程。https://www.tutorialspoint.com/execute_python_online.php
这是对第一天所学代码的深入理解版
首先看python大大的代码
下面是代码讲解(也就是大大昨天发的福利)
第一行代码
# Hello World program in Python
是注释,可以不要的。 记住在python里#后面都是注释,就是给人看的,让机器忽略的。
第二行代码
#coding=utf-8
简单来说,就是让程序可以容纳很多种字符的。啥叫utf-8,简单来说就是一种包含了很多字符的编码方式。这里就记住就好了。当然它还有别的写法# -*- coding: utf8 -*-
第三行代码
import datetime
大大说过python像个乐高,很多功能要用,只要打开工具箱。像这个就是时间包工具,用import的意思就是我们下面要用时间函数,给python说“打开时间工具箱吧”。这让我想到哆啦A梦从他的兜里掏出了神奇的时间工具箱,哈哈。
第四行代码
import pytz
import就是打开,导入功能的意思,pytz是一个时区工具包,接下来我们要对时区进行设置了。因为python大大给大家推荐的在线环境是在国外的,所以为了“核准”时间,需要把环境的时间调成咱中国的时区。就好像从国外下飞机,要调手表的时区一样。
第五行代码
import sys
引入系统的函数,为什么呢?因为我们接下来要让程序显示中文,需要用这个sys模块里的函数来设置程序可以显示中文哦,不然你直接试试不要接下来的2行,看能显示中文不。
第六行第七行代码
reload(sys)
sys.setdefaultencoding('gbk')
这2行设置了程序可以对外输出中文。事实上这两句不敲也能出一样的结果。
第八行代码
tz = pytz.timezone('Asia/Shanghai')
下面的这一行设置系统时区是“亚洲/上海"时区。在python里中国有五个时区:上海,哈尔滨,重庆,乌鲁木齐和喀什。
第九行代码
now = datetime.datetime.now(tz)
这行得到我们时区下的当前时间。还记得我们导入了datetime工具包吧,下面就是到工具包里拿出了datetime功能,然后从这个功能里调用了now这个小功能。得到当前时间的。可能你很佩服大大,说“大大,你怎么知道从datetime里去取datetimetime功能,然后再调用呢?“,我会笑嘻嘻的给你说,要听快的还是慢的?
要快的,就直接google,baidu查下,直接就能查到。要慢的,就是去研究python的厚厚程序api说明手册,然后查。呵呵!
datetime模块定义了下面这几类:
datetime.date:表示日期的类。常用的属性有year, month, day;datetime.time:表示时间的类。常用的属性有hour, minute, second, microsecond;datetime.datetime:表示日期时间。datetime.timedelta:表示时间间隔,即两个时间点之间的长度。datetime.tzinfo:与时区有关的相关信息。datetime.now([tz]):返回一个表示当前本地时间的datetime对象,如果提供了参数tz,则获取tz参数所指时区的本地时间。个人觉得这句话的理解方式就是记住这个套路。
第十行第十一行代码
if now.strftime("%H")=="12":
print "中午吃饭了"
接下来,就是用判断 if 去判断下,现在时间是不是中午12点。很多同学就在这里出的问题?
非得不在中午敲这个代码,结果,当然不会输出了。时间都不是12点,接下来的print肯定不会打印啊。
if是判断的意思。 记住,以后判断就用(if xxxxx :)这个样子。
为什么now后面接个strtime呢,因为我告诉你,你可以直接打印下now( print now )看看什么样子。肯定不会是你需要的数字。所以,我们会给python说,“乖,把取出的时间,按爸爸需要的格式给我吧”,然后strtime就是这个意思。然后%H就代表Hour,问题来了,如果要输出当前是多少分,多少秒呢?记住前面一定要有个%,这个就留作思考吧!
思考题答案
if now.strftime("%H:%M:%S")=="15:53:50":
我的代码图
那我来说一下我今天晚上第一次用python的感想,其实就是输短短一段程序,我输了40分钟。一共遇到了三个问题。
1.时区问题,一开始我输入的是我所在地点沈阳,输完发现系统好像不认识这个时区,我就老老实实的改成上海了,这个问题就不存在了。
2.现在时间问题,第10行的程序应该输入现在的时间的小时数,而不是照抄原程序。
3.谜一样的不可抗力。还是那个第十行程序,我自己输完它就是不出结果,但是我复制了一下大大给我打的那一行程序,很奇迹的就出结果了。我现在觉得应该是当时哪个地方敲错了自己没有找到,这个情况把那句删了重敲,不行的话把上一句删了重敲,这样自下而上总能对的。
不管怎么说,今天还是把这个程序做出来了 学到一点入门知识,有点小兴奋,谢谢大大。