编程学习

零基础学习Python作业本复盘(1-2)

2017-07-14  本文已影响0人  蜗牛0718

原码省略,主要目的是搞清楚每一行代码的意思及格式。

执行了两遍,第一遍是实验一下标点在中英文输入下有没有影响。答案是,有。

每一行的注释放在 # 后面,不影响执行。

第一遍

但是第二遍,把注释去掉后,执行不了,有一行的错误无法纠正。

今天查到了好几个实用的语法解释

python中的for i in range

for循环语句是Python中的一个循环控制语句,任何有序的序列对象内的元素都可以遍历,比如字符串、列表、元组等可迭代对象。for循环的一般格式:第一行是要先定义一个赋值目标(迭代变量),和要遍历(迭代)的对像;首行后面是要执行的语句块。

 for目标 in对像:

              print赋值目标

Python2.x中range()函数会返回一个列表,返回的对象便可以用for循环进行遍历。下面的例子中,for循环对range()返回的列表进行遍历并打印。

for i in range(1,5):

print i,

# 1 2 3 4

还有一个例子      第一个是开始值,第二个结束值,第三个是步长,默认为1,比如:

1 >>>for i in range(3,13,3):

2  print i

...

3

6

9

12

>>>

Python中用datetime包进行对时间的一些操作

A. 计算给出两个时间之间的时间差

1. importdatetime as dt

2.# current time

3.cur_time=dt.datetime.today()

4.# one day

5.pre_time=dt.date(2016,5,20)# eg: 2016.5.20

6.delta=cur_time-pre_time

7.# if you want to get discrepancy in days

8.printdelta.days

9.# if you want to get discrepancy in hours

10.printdelta.hours

11.# and so on

B. 获取n天前的时间

1. cur_time=dt.now()

2. # previous n days

3. pre_time=dt.timedelta(days=n)

C. 将给定的时间精确到天或者其他单位

1. cur_time=dt.now()

2. # get day of current time

3. cur_day=cur_time.replace(hour=0, minute=0, second=0, mircrosecond=0)

D 获取一连串的时间序列(返回list)

1.cur_time=dt.datetime.today()

2. datelist=[cur_time-dt.timedelta(days=x)forxinrange(0,100)]

或者

1.import pandas as pd

2. datelist=pd.date_range(pd.datetime.today(), periods=100).tolist()

E. 将时间字符串转化为datetime类型

1. date_formate="%Y-%m-%d"# year-month-day

2. time=dt.strptime('2016-06-22', date_format)

F. 将时间类型转化为字符串类型

1. time_str=dt.strftime("%Y-%m-%d", dt.now())# return like "2016-06-22"

Python基础篇之初识Python必看攻略

一、解释器

1. 如果想要类似于执行shell脚本一样执行python脚本,例: ./hello.py ,那么就需要在 hello.py 文件的头部指定解释器,如下:

1 #!/usr/bin/env python

2

3  print"hello,world"

ps:执行前需给予 hello.py 执行权限,chmod 755 hello.py

二、内容编码

python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)

ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。

UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...

所以,python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),如果是如下代码的话:

报错:ascii码无法表示中文

1

2

3

4

5#!/usr/bin/env python

print"你好,世界"

改正:应该显示的告诉python解释器,用什么编码来执行源代码,即:

1

2

3

4

5

6

7#!/usr/bin/env python

# -*- coding: utf-8 -*-

print"你好,世界"

上一篇下一篇

猜你喜欢

热点阅读