一起学Python——数据类型详解

和学习其他编程语言一样,首先要了解一门语言的数据类型。

Python的数据类型有整型、浮点型、字符串、布尔型、日期时间类型、list列表、set集合、tuple元组、dict词典等。

1、整型
就是数学中的整数,包括负整数。
定义整型的方法:

a = 100 b = -100 print(a) print(b) 结果: 100 -100

Python定义变量的语法和其他的编程语言不一样,例如Java定义整型变量的语法:int a = 10;

Python是根据你的变量的值来确定变量的类型。
a = 12就是整型,a = "abc"就是字符串。

2、浮点型
就是数学中的小数。例如:

a = 12.3 print(a)

变量a为浮点型。如果浮点变量的值很多或者很小,则建议用科学计数法定义一个浮点变量。例如:

a = 3.14e9 print(a)。

3、字符串
用单引号'、双引号"或者'''三引号扩起来的文本。
下面的代码定义了三个变量,str1和str2的值都是123qaz。
str3的值为:
123qaz
456wsx
'''三引号用于定义多行字符串。

str1 = '123qaz' str2 = "123qaz" str3 = '''123qaz 456wsx''' print(str1) print(str2) print(str3)

4、布尔型
只有True和False两个值,例如:

flag True print(flag) flag False print(flag)

布尔类型一般用作条件判断,例如:

a = 1 b = 2 if a > b: print(a) else: print(b)

布尔类型还可以用于or、and和not逻辑运算。

or逻辑或运算,当两个布尔变量的值有一个为True时,结果就是True,所有的布尔类型的数值都为False时,结果才是False。例如:

flag1 = True flag2 = False print(flag1 or flag1) flag3 = False flag4 = False print(flag3 or flag4)

打印结果:
True
False

and逻辑与运算,只有所有的布尔变量为True是,结果才是True,否则结果是False,例如:

flag1 = True flag2 = False print(flag1 and flag1) flag3 = True flag4 = True print(flag3 or flag4)

not逻辑非运算,not False的结果为True,not True的结果为False,这是一个单目逻辑运算符。

5、日期时间类型
Python提供了time模块处理时间。

获取当前时间戳:

>>> import time >>> print(time.time()) 1541082277.3144386

time()函数返回的是浮点数。

localtime()函数返回的是一个struct_time元组,struct_time元组中有9个元素,分别代表年、月、日、小时等。

>>> print(time.localtime(time.time())) time.struct_time(tm_year=2018, tm_mon=11, tm_mday=1, tm_hour=22, tm_min=30, tm_sec=56, tm_wday=3, tm_yday=305, tm_isdst=0)

struct_time元组中每个元素代表的意义如下:
| 属性 | 值 | 代表的意义 |
|-----|-----|------|
| tm_year | 2018 | 年 |
| tm_mon | 1-12 | 月 |
| tm_mday | 1-31 | 日 |
| tm_hour |0-23 |小时|
|tm_min | 0-59 |分钟|
|tm_sec | 0-61 |秒,61是闰秒 |
|tm_wday| 0-6 |周一到周日,0是周一|
|tm_yday |1-366 | 一年中的第几日|
|tm_isdst |0,1,-1|夏令时标识,1是夏令时,0不是夏令时,默认值是-1|

Name Academy score
Harry Potter   Gryffindor   90  
Hermione Granger   Gryffindor   100  
Draco Malfoy   Slytherin   90  

strftime()方法将时间转化为字符串,具体用法如下:
python >>> print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime()))#精确到秒的日期格式 2018-11-01 23:00:36 >>> print(time.strftime('%Y',time.localtime()))#显示年份 2018 >>> print(time.strftime('%m',time.localtime()))#月份 11 >>> print(time.strftime('%d',time.localtime()))#显示日 01 >>> print(time.strftime('%H:%M:%S',time.localtime()))#显示当前的时间 23:01:19 >>> print(time.strftime('%Y-%m-%d',time.localtime()))#显示当前的日期 2018-11-01 >>> print(time.strftime('%U',time.localtime()))#显示一年当中的第几周 43 >>> print(time.strftime('%w',time.localtime()))#显示周几,4表示周四,0表示周日 4 python

两个日期相减。
如果日期是字符串形式,则必须转为秒数才能相减:

>>> import datetime >>> from_time = "2018-11-01 10:10:20" >>> to_time = "2017-12-23 12:12:12" >>> d = datetime.datetime.strptime(from_time,"%Y-%m-%d %H:%M:%S") >>> b = datetime.datetime.strptime(to_time,"%Y-%m-%d %H:%M:%S") >>> print(time.mktime(d.timetuple()) - time.mktime(b.timetuple())) 27035888.0

datetime.datetime.strptime()方法将字符串格式的日期转换为struct_time元组,time.mktime()方法将struct_time元组日期转为秒。

字符串日期格式和秒互转
字符串日期格式转为秒:

from_time = "2018-11-01 23:36:35" d = datetime.datetime.strptime(from_time,"%Y-%m-%d %H:%M:%S") from_time_float = time.mktime(d.timetuple())

秒转为字符串日期格式:

current_time = time.time() print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(current_time)))

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpfjss.html