美文网首页呆鸟的Python数据分析
《利用Python进行数据分析》:Python语言精要(标量类型

《利用Python进行数据分析》:Python语言精要(标量类型

作者: cshuangc | 来源:发表于2019-06-20 11:08 被阅读3次

2.2 标量类型

标准的Python标量类型

此外还有日期/时间类型的数据,后面会单独讨论,它们是由标准库中的datetime模块提供的。

2.2.1 数值类型

主要是int和float,浮点数也可以用科学记数法表示。在Python3中,整数除法除不尽时就会产生一个浮点数。

2.2.2 字符串

既可以用单引号也可以用双引号。Python字符串是不可变的,要修改就只能创建一个新的,或者string.replace ( a, b )。对比以下两个示例:

a = 'this is a string'

a[10] = 'f'

---------------------------------------------------------------------------

TypeError                                                        Traceback (most recent call last)<ipython-input-2-85038afe6a01>in<module>                                                                        1a='this is a string'                                                                                                ----> 2 a[10]='f'                                                                                                                      3b=a.replace('string','longer string')                                                                                  4b

TypeError: 'str' object does not support item assignment

b = a.replace('string', 'longer string')

b

Ouput:'this is a long string'

许多Python对象都可以用str函数转换为字符串。

a = 5.6

s = str(a)

s

Ouput:'5.6'

字符串格式化:以一个%开头且后面跟着一个或多个格式字符的字符串是需要插入值的目标。

template = '%.2f %s are worth $%d'       

#%.2f表示一个带有2位小数的数字,%d表示一个整数

#用实参替换格式化形参,用到二元运算符%以及由值组成的元组。

template % (4.5560, 'Argentine Pesos', 1)

Ouput:'4.56 Argentine Pesos are worth $1'

2.2.3 布尔值

两个布尔值:True和False。几乎所有Python类型以及任何定义了_nonzero_魔术方法的类都能在if语句中被解释为True或False。

a = [1, 2, 3]

if a:

    print('I found something!')

Output:I found something!

b = []

if not b:

    print('Empty!')

Output:Empty!

可以用bool函数判断某个对象被强制转换合成哪个布尔值。

bool([]), bool([1, 2, 3]), bool('Hello world!'), bool(''), bool(0), bool(1)

Output:(False, True, True, False, False, True)

2.2.4 类型转换

str、bool、int以及float等类型也可以用作将值转换成该类型的函数。

s = '3.14159'

fval = float(s)

type(fval)              #Output:float

int(fval)                 #Output:3

bool(fval)              #Output:True

bool(0)                  #Output:False

2.2.5 None

不是一个保留关键字,知识NoneType的一个实例而已。

2.2.6 日期和时间

Python内置的datetime模块提供了datetime、date以及time等类型。datetime用的最多,它合并保存了在date和time中的信息。

from datetime import datetime, date, time

dt = datetime(2011, 10, 29, 20, 30, 21)

dt.day                 #Output:29

dt.minute            #Output:30

给定一个datetime实例,可以通过调用其date和time方法提取相应的对象。

dt.date()                    #Output: datetime.time(2011, 10, 29)

dt.time()                    #Output:datetime.time(20, 30, 21)

strftime方法用于将datetime格式化为字符串。

dt.strftime('%m/%d/%Y %H:%M')                    #Output:'10/29/2011 20:30'

字符串可通过striptime函数转换(解析)为datetime对象。

datetime.strptime('20091031', '%Y%m%d')         

#Output:datetime.datetime(2009, 10, 31, 0, 0)

替换datetime中一些字段。

dt.replace(minute=0, second=0)                                                          #Output:datetime.datetime(2011, 10, 29, 20, 0)

两个datetime对象的差对产生一个datetime.timedelta类型,将一个timedelta加到一个datetime上会产生一个新的datetime。

dt2 = datetime(2011, 11, 15, 22, 30)

delta = dt2 - dt

print(delta)                     #Output:17 days, 1:59:39

type(delta)                     #Output:datetime.timedelta

dt + delta                       #Output:datetime.datetime(2011, 11, 15, 22, 30)  

相关文章

网友评论

    本文标题:《利用Python进行数据分析》:Python语言精要(标量类型

    本文链接:https://www.haomeiwen.com/subject/wfzrqctx.html