13-19 Python Number、Python字符串、Python列表(List)、集合的基本操作、元组、字典Dicttionnary、日期和时间

13 Python Number

Python Number数据类型用于存储数值。
数据类型是不允许改变的,这就是意味着如果改变Number数据类型的值,将重新分配内存空间。
以下实例在变量赋值时Number对象将被创建:

var1 = 1
var2 = 10

您也可以使用del语句删除一些Number对象引用。
del语句的语法是:

del var1[,var2[,var3[....,varN]]]]

您可以通过del语句删除单个或多个对象,例如:

del var
del var_a,var_b

Python支持四种不同的数据类型:
整型(Int) - 通常被称为是整型或整数,是正或负整数,不带小数点。
长整型(long integers) - 无限大小的整数,整数最后是一个大写或小写的L。
浮点型(floating point real values) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)
复数(complex numbers) - 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。
在这里插入图片描述
长整型也可以使用小写"L",但是还是建议您使用大写"L",避免与数字"1"混淆。Python使用"L"来显示长整型。
Python还支持复数,复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型

13.1Python math模块、cmath模块

Python 中数学运算常用的函数基本都在 math 模块、cmath 模块中。
Python math 模块提供了许多对浮点数的数学运算函数。
Python cmath 模块包含了一些用于复数运算的函数。
cmath 模块的函数跟 math 模块函数基本一致,区别是 cmath 模块运算的是复数,math 模块运算的是数学运算。
要使用 math 或 cmath 函数必须先导入:

import math

查看math包中的内容:

C:\Users\toto>python
Python 3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:21:23) [MSC v.1916 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import math
>>> dir(math)
['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']
>>>

下文会介绍各个函数的具体应用。
查看cmath查看包中的内容

>>> import cmath
>>> dir(cmath)
['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atanh', 'cos', 'cosh', 'e', 'exp', 'inf', 'infj', 'isclose', 'isfinite', 'isinf', 'isnan', 'log', 'log10', 'nan', 'nanj', 'phase', 'pi', 'polar', 'rect', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau']
>>>

实例:

>>> import cmath
>>> cmath.sqrt(-1)
1j
>>> cmath.sqrt(9)
(3+0j)
>>> cmath.sin(1)
(0.8414709848078965+0j)
>>> cmath.log10(100)
(2+0j)
>>>

13.2Python数学函数

在这里插入图片描述

13.3Python随机数函数

随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。
Python包含以下常用随机数函数:
在这里插入图片描述

13.4Python三角函数

Python包括以下三角函数:
在这里插入图片描述

13.5Python数学常量

在这里插入图片描述

14Python字符串

字符串是Python中最常用的数据类型。我们可以使用引号(‘或”)来创建字符串。
创建字符串很简单,只要为变量分配一个值即可。例如:

var1 = ‘Hello World’
Var2 = “Python Runoob”

14.1Python访问字符串中的值

Python不支持单字符串类型,单字符串在Python中也是作为一个单字符串使用。Python访问字符串,可以使用方括号来截取字符串,如下实例:

# -*- coding: UTF-8 -*-

var1 = 'Hello World!'
var2 = "Python Runoob"

print("var1[0]: ",var1[0])
print("var2[1:5]:",var2[1:5])

运行结果:

var1[0]:  H
var2[1:5]: ytho

14.2Python字符串连接

我们可以对字符串进行截取并与其他字符串进行连接,如下实例:

# -*- coding: UTF-8 -*-

var1 = 'Hello World!'
print("输出:-",var1[:6] + 'Runoob!')

运行结果:

输出:- Hello Runoob!

14.3Python转义字符

在需要在字符中使用特殊字符时,python用反斜杠\转义字符。如下表:
在这里插入图片描述

14.4Python字符串运算符

下表实例变量a值为字符串”Hello”,b变量值为”Python”:
在这里插入图片描述
实例:

# -*- coding: UTF-8 -*-

a = "Hello"
b = "Python"

print("a + b输出结果:",a + b)
print("a * 2输出结果:",a * 2)
print("a[1] 输出结果:",a[1])
print("a[1:4] 输出结果:",a[1:4]);

if "H" in a:
    print("H 在变量a中")
else :
    print("H 不在变量a中")

if "M" not in a:
    print("M 不在变量a中")
else:
    print("M在变量a中")

print(r'\n')
print(R'\n')

运行结果:

a + b输出结果: HelloPython
a * 2输出结果: HelloHello
a[1] 输出结果: e
a[1:4] 输出结果: ell
H 在变量a中
M 不在变量a中
\n
\n

14.5Python字符串格式化

Python支持格式化字符串的输出。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符%s的字符串中。
在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。
如下实例:

# -*- coding: UTF-8 -*-

print("My name is %s and weight is %d kg!"%('Zara',21))

运行结果:

My name is Zara and weight is 21 kg!

Python字符串格式化符号:
在这里插入图片描述
格式化操作符辅助指令:
在这里插入图片描述
Python2.6开始,新增了一种格式化字符串的函数str.format(),它增强了字符串格式化的功能。

14.6Python三引号(triple quotes)

Python中三引号可以将复杂的字符串进行复制:
Python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。
三引号的语法是一对连续的单引号或者双引号(通常都是成对的用)

>>> hi = '''hi
... there'''
>>> hi
'hi\nthere'
>>> print(hi)
hi
there
>>>

三引号让程序员从引号和特殊字符串的泥潭里面解脱出来,自始至终保持一小块字符串的格式是所谓的WYSIWYG(所见即所得)格式的。
一个典型的用例是,当你需要一块HTML或者SQL时,这时当用三引号标记,使用传统的转义字符体系将十分费神。

errHTML = '''
<HTML><HEAD><TITLE>
Friends CGI Demo</TITLE></HEAD>
<BODY><H3>ERROR</H3>
<B>%s</B><P>
<FORM><INPUT TYPE=button VALUE=Back
ONCLICK="window.history.back()"></FORM>
</BODY></HTML>
'''
cursor.execute('''
CREATE TABLE users (  
login VARCHAR(8), 
uid INTEGER,
prid INTEGER)
''')

14.7Unicode字符串

Python中定义一个Unicode字符串和定义一个普通字符串一样简单:

>>> u'Hello World'
'Hello World'
>>>

引号前小写的”u”表示这里创建的是一个Unicode字符串。如果你想加入一个特殊字符,可以使用Python的Unicode-Escape编码。如下例所示:

>>> u'Hello\u0020World !'
'Hello World !'
>>>

被替换的 \u0020 标识表示在给定位置插入编码值为 0x0020 的 Unicode 字符(空格符)。

14.8Python的字符串内建函数

字符串方法是从python1.6到2.0慢慢加进来的——它们也被加到了Jython中。
这些方法实现了string模块的大部分方法,如下表所示列出了目前字符串内建支持的方法,所有的方法都包含了对Unicode的支持,有一些甚至是专门用于Unicode的。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

15Python列表(List)

序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
Python有6个序列的内置类型,但最常见的是列表和元组。
序列都可以进行的操作包括索引,切片,加,乘,检查成员。
此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:

list1 = [‘physics’,’chemistry’,1997,2000]
list2 = [1,2,3,4,5]
list3 = [“a”,”b”,”c”,”d”]

与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。

# -*- coding: UTF-8 -*-

list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1,2,3,4,5,6,7]

print("list1[0]:",list1[0])
print("list2[1:5]",list2[1:5])

运行结果:

list1[0]: physics
list2[1:5] [2, 3, 4, 5]

15.1更新列表

你可以对列表的数据项进行修改或更新,你可以使用append()方法来添加列表项,如下所示:

# -*- coding: UTF-8 -*-

listArray = []
listArray.append('Google')
listArray.append('Runoob')
print(listArray)

运行结果:

['Google', 'Runoob']

15.2删除元素

可以使用del语句来删除列表的元素,如下实例:

# -*- coding: UTF-8 -*-

list1 = ['physics','chemistry',1997,2000]

print(list1)
del list1[2]
print("After deleting value at index 2:")
print(list1)

运行结果:

['physics', 'chemistry', 1997, 2000]
After deleting value at index 2:
['physics', 'chemistry', 2000]

注意:我们会在接下来的章节讨论remove()方法的使用。

15.3Python列表脚本操作符

列表对+和*的操作符与字符串相似。+号用于组合列表,*号用于重复列表。
如下所示:
在这里插入图片描述

15.4Python列表截取

Python的列表截取实例如下:

>>> L = ['Google','Runoob','Taobao']
>>> L[2]
'Taobao'
>>> L[-2]
'Runoob'
>>> L[1:]
['Runoob', 'Taobao']
>>>

描述:
在这里插入图片描述

15.5Python列表函数&方法

Python包含以下函数
在这里插入图片描述
Python包含以下方法:
在这里插入图片描述

16Python3集合

集合(set)是一个无序的不重复的元素列表
可以使用大括号{}或者set()函数创建集合,注意:创建一个空集合必须用(set)而不是{},因为{}是用来创建一个空字典。
创建格式:

parame = {value01,value02,...}
或者
set(value)

实例:

>>> basket = {"apple","orange","apple","pear","orange","banana"}
>>> print(basket)                       #这里演示的是去重功能
{'orange', 'apple', 'banana', 'pear'}
>>> "orange" in basket                   #快速判断元素是否在集合内
True
>>> "crabgrass" in basket
False

#x下面展示两个集合的运算
>>> a = set("abracadabra")
>>> b = set("alacazam")
>>> a
{'a', 'r', 'b', 'c', 'd'}
>>> a - b                    # 集合a中包含而集合b中不包含的元素
{'b', 'd', 'r'}
>>> a | b                    #集合a或b中包含的所有元素
{'a', 'z', 'm', 'l', 'r', 'b', 'c', 'd'}
>>> a & b                   #集合a和b中都包含了的元素
{'a', 'c'}
>>> a ^ b                    #不同时包含与a和b的元素
{'z', 'm', 'r', 'l', 'b', 'd'}
>>>

类似列表推导式,同样集合支持集合推导式(Set comprehension):

>>> a = {x for x in 'abracadabra' if x not in 'abc'}
>>> a
{'d', 'r'}
>>>

16.1集合的基本操作

16.1.1添加元素

语法格式如下:

s.add(x)

将元素x添加到集合s中,如果元素已存在,则不进步任何操作。

thisset = set(("Google","Runoob","Taobao"))
thisset.add("Facebook")
print(thisset)

运行结果:

{'Facebook', 'Runoob', 'Taobao', 'Google'}

还有一个方法,也可以添加元素,且参数可以是列表,元组,字典等,语法格式如下:

s.update(x)

x可以有多个,用逗号分开。

# -*- coding: UTF-8 -*-

thisset = set(("Google","Runoob","Taobao"))
thisset.update({1,3})
print(thisset)

thisset.update([1,4],[5,6])
print(thisset)

运行结果:

{1, 'Taobao', 3, 'Google', 'Runoob'}
{1, 'Taobao', 3, 4, 5, 6, 'Google', 'Runoob'}

16.1.2移除元素

语法格式如下:

s.remove(x)

将元素x从集合s中移除,如果元素不存在,则会发生错误。

# -*- coding: UTF-8 -*-

thisset = set(("Google","Runoob","Taobao"))
thisset.remove("Taobao")
print(thisset)

thisset.remove("Facebook")   #不存在发生错误

运行结果:

Traceback (most recent call last):
{'Runoob', 'Google'}
  File "E:/workspace/python/python/菜鸟教程/集合/01_集合.py", line 7, in <module>
    thisset.remove("Facebook")   #不存在发生错误
KeyError: 'Facebook'

此外还有一个方法也是移除集合中的元素,且如果元素不存在,不会发生错误。格式如下所示:

s.discard(x)

实例

# -*- coding: UTF-8 -*-

thisset = set(("Google","Runoob","Taobao"))
thisset.remove("Taobao")
print(thisset)

thisset.remove("Facebook")   #不存在发生错误

运行结果:

Traceback (most recent call last):
{'Runoob', 'Google'}
  File "E:/workspace/python/python/菜鸟教程/集合/01_集合.py", line 7, in <module>
    thisset.remove("Facebook")   #不存在发生错误
KeyError: 'Facebook'

我们也可以设置随机删除集合中的一个元素,语法格式如下:

# -*- coding: UTF-8 -*-

thisset = set(("Google","Runoob","Taobao"))
thisset.discard("Facebook")   #不存在不会发生错误
print(thisset)

运行结果:

{'Runoob', 'Google', 'Taobao'}

我们也可以设置随机删除集合中的一个元素,语法格式如下:

s.pop()

案例:

# -*- coding: UTF-8 -*-

thisset = set(("Google", "Runoob", "Taobao", "Facebook"))
x = thisset.pop()
print(thisset)

运行结果:

{'Runoob', 'Taobao', 'Facebook'}

多次执行测试结果都不一样。
set 集合的 pop 方法会对集合进行无序的排列,然后将这个无序排列集合的左面第一个元素进行删除。

16.1.3计算集合元素的个数

语法格式如下:

len(s)

计算集合s元素个数

# -*- coding: UTF-8 -*-

thisset = set(("Google", "Runoob", "Taobao", "Facebook"))
print(len(thisset))

运行结果:

4

16.1.4清空集中

语法格式如下:

s.clear()

清空集合s

# -*- coding: UTF-8 -*-

thisset = set(("Google","Runoob","Taobao"))
thisset.clear()
print(thisset)

运行结果:

set()

16.1.5判断元素是否集合中存在

语法格式如下:

x in s

判断元素x是否在集合s中,存在返回True,不存在返回False。

# -*- coding: UTF-8 -*-

thisset = set(("Google","Runoob","Taobao"))
print("Runoob" in thisset)

集合内置方法完整列表
在这里插入图片描述

17Python元组

Python的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号,列表使用方括号。
元组创建很简单,值需要在括号中添加元素,并使用逗号隔开即可。
如下实例:

tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1,2,3,4,5)
tup3 = “a”,”b”,”c”,”d”

创建空元组

tup1 = ()

元组中只包含一个元素时,需要在元素后面添加逗号

tup1 = (50,)

元组与字符串类似,下标索引从0开始,可以进行截取,组合等。

17.1 访问元组

元组可以使用下标索引来访问元组中的值,如下实例:

# -*- coding: UTF-8 -*-

tup1 = ('physics','chemistry',1997,2000)
tup2 = (1,2,3,4,5,6,7)

print("tup1[0]:",tup1[0])
print("tup2[1:5]:",tup2[1:5])

运行结果:

tup1[0]: physics
tup2[1:5]: (2, 3, 4, 5)

17.2修改元组

元组中的元素值是不允许修改的,但我们可以对元组进行组合,如下实例:

# -*- coding: UTF-8 -*-

tup1 = (12,34,56)
tup2 = ('abc','xyz')

#以下修改元组操纵是非法的。
#tup1[0] = 100

#创建一个新的元组
tup3  = tup1 + tup2
print(tup3)

运行结果:

(12, 34, 56, 'abc', 'xyz')

17.3删除元组

元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组,如下实例:

# -*- coding: UTF-8 -*-

tup = ('physics','chemistry',1997,2000)

print(tup)
del tup
print("After deleting tup:")
print(tup)

以上实例元组被删除后,输出变量会有异常信息,输出如下所示:

运行结果:

('physics', 'chemistry', 1997, 2000)
Traceback (most recent call last):
After deleting tup:
  File "E:/workspace/python/python/14_Python元组/03_删除元组.py", line 8, in <module>
    print(tup)
NameError: name 'tup' is not defined

17.4元组运算符

与字符串一样,元组之间可以使用+号和*号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组 。
在这里插入图片描述

17.5元组索引,截取

因为元组也是一个序列,所以,我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素,如下所示:

L = (‘spam’,’Spam’,’APAM’)

在这里插入图片描述

17.6无关闭分隔符

任意无符号的对象,以逗号隔开,默认为元组,如下实例:

# -*- coding: UTF-8 -*-

print('abc', -4.24e93, 18+6.6j, 'xyz')
x,y = 1,2

print("Value of x,y:",x,y)

运行结果:

abc -4.24e+93 (18+6.6j) xyz
Value of x,y: 1 2

17.7元组内置函数

在这里插入图片描述

18Python字典Dictionary

字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值key=>value对用冒号:分割,每个键值对之间用逗号”,”分割,整个字典包括在{}中,格式如下所示:

d = {key1:value1,key2:value2}

键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。

>>> dict={'a':1,'b':2,'b':3}
>>> dict['b']
3
>>> dict
{'a': 1, 'b': 3}
>>>

值可以取任何类型,但键必须是不可变的,如字符串,数字和元组。
一个简单的字典实例:

dict = {‘Alice’:2341,’Beth’:9102,’Cecil’:3258}

也可如此创建字典:

dict1 = { 'abc': 456 }
dict2 = { 'abc': 123, 98.6: 37 }

18.1访问字典里的值

把相应的键放入熟悉的方括号,如下实例:

# -*- coding: UTF-8 -*-

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}

print("dict['Name']:",dict['Name'])
print("dict['Age']:",dict['Age'])

运行结果:

dict['Name']: Zara
dict['Age']: 7

如果用字典里没有的访问数据,会输出错误如下:

# -*- coding: UTF-8 -*-

dict = {'Name':'Zara','Age':7,'Class':'First'}

print("dict['Alice']:",dict['Alice'])

运行结果如下:

D:\installed\Anaconda3\python.exe E:/workspace/python/python/15_Python字典(Dictionary)/02_访问没有的键访问数据.py
Traceback (most recent call last):
  File "E:/workspace/python/python/15_Python字典(Dictionary)/02_访问没有的键访问数据.py", line 5, in <module>
    print("dict['Alice']:",dict['Alice'])
KeyError: 'Alice'

18.2修改字典

向字典添加新的内容的方法是增加新的键/值对,修改或删除已有键/值对如下实例:

# -*- coding: UTF-8 -*-

dict = {'Name':'Zara','Age':7,'Class':'First'}

dict['Age'] = 8  #更新
dict['School'] = "RUNOOB"    #添加

print("dict['Age']:",dict['Age'])
print("dict['School']:",dict['School'])
print(dict)

运行结果:

dict['Age']: 8
dict['School']: RUNOOB
{'Name': 'Zara', 'Age': 8, 'Class': 'First', 'School': 'RUNOOB'}

删除字典元素
显示删除一个字典用del命令,如下实例:

# -*- coding: UTF-8 -*-

dict = {'Name':'Zara','Age':7,'Class':'First'}

del dict['Name']  #删除键是‘Name’的条目
dict.clear()      #清空字典所有条目
del dict          #删除字典

print("dict['Age']:",dict['Age'])
print("dict['School']:",dict['School'])

运行结果:

Traceback (most recent call last):
  File "E:/workspace/python/python/15_Python字典(Dictionary)/04_删除字典元组.py", line 9, in <module>
    print("dict['Age']:",dict['Age'])
TypeError: 'type' object is not subscriptable

18.3字典键的特征

字典值可以没有限制地取任何Python对象,既可以是标准的对象,也可以是用户自定义的,但键不行。
两个重要的点需要记住:
1)不允许同一个键出现两次。创建时如果同一个键不被赋值两次,后一个值会被记住。如下实例:

# -*- coding: UTF-8 -*-

dict = {'Name':'Zara','Age':7,'Name':'Manni'}

print("dict['Name']:",dict['Name'])

运行结果:

dict['Name']: Manni

2)键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行,如下实例:

Traceback (most recent call last):
  File "E:/workspace/python/python/15_Python字典(Dictionary)/05_字典键的特征.py", line 3, in <module>
    dict = {['Name']:'Zara','Age':7}
TypeError: unhashable type: 'list'

18.4字典内置函数&方法

Python字典包含了以下内置函数:
在这里插入图片描述
Python字典包含了以下内置方法:
在这里插入图片描述

19Python日期和时间

Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能。
Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间。
时间间隔是以秒为单位的浮点小数。
每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示。
Python 的 time 模块下有很多函数可以转换常见日期格式。如函数time.time()用于获取当前时间戳, 如下实例:
实例:

# -*- coding: UTF-8 -*-

import time;    #引入time模块

ticks = time.time()
print("当前时间戳为:",ticks)

运行结果:

当前时间戳为: 1575823304.4681962
     时间戳单位最适于做日期运算。但是1970年之前的日期无法从此表示了。太遥远的日期也不行。UNIX和Windows只支持到2038年。

19.1什么是时间元组?

很多Python函数用一个元组装起来的9组数字处理时间:
在这里插入图片描述
上述也就是struct_time元组。这种结构具有如下属性:
在这里插入图片描述

19.2获取当前时间
从返回浮点数的时间戳方式向时间元组转换,只要将浮点数传递给如localtime之类的函数。

# -*- coding: UTF-8 -*-

import time

localtime = time.localtime(time.time())
print("本地时间为:",localtime)
print("tm_year=",localtime.tm_year,
      "tm_mon=",localtime.tm_mon,
      "tm_mday=",localtime.tm_mday,
      "tm_hour=",localtime.tm_hour,
      "tm_min=",localtime.tm_min,
      "tm_sec=",localtime.tm_sec,
      "tm_wday=",localtime.tm_wday,
      "tm_yday=",localtime.tm_yday,
      "tm_isdst=",localtime.tm_isdst)

19.3格式化日期

我们可以使用time模块的strftime 方法来格式化日期:

time.strftime(format[,t])

实例演示:

# -*- coding: UTF-8 -*-

import time

print(time.localtime())

# 格式化成2016-03-20 11:45:39形式
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))

# 格式化成Sat Mar 28 22:24:24 2016形式
print(time.strftime("%a %b %d %H:%M:%S %Y", time.localtime()))

# 将格式字符串转换为时间戳
a = "Sat Mar 28 22:24:24 2016"
print(time.mktime(time.strptime(a, "%a %b %d %H:%M:%S %Y")))

运行结果:

time.struct_time(tm_year=2019, tm_mon=12, tm_mday=9, tm_hour=11, tm_min=18, tm_sec=38, tm_wday=0, tm_yday=343, tm_isdst=0)
2019-12-09 11:18:38
Mon Dec 09 11:18:38 2019
1459175064.0

Python中时间日期格式化符号:
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身

19.4获取某月日历

Calendar模块有很广泛的方法用来处理年历和月历,例如打印某月的月历

# -*- coding: UTF-8 -*-

import calendar

cal = calendar.month(2019,12)

print("以下输出2019年12月份的日历:")
print(cal)

运行结果:

以下输出201912月份的日历:
   December 2019
Mo Tu We Th Fr Sa Su
                   1
 2  3  4  5  6  7  8
 9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

19.5Time模块

Time模块包含了以下内置函数,既有时间处理的,也有转换时间格式的:
在这里插入图片描述
根据环境变量TZ重新初始化时间相关设置。
Time模块包含了以下2个非常重要的属性:
序号 属性及描述
1 time.timezone
属性time.timezone是当地时区(未启动夏令时)距离格林威治的偏移秒数(>0,美洲;<=0大部分欧洲,亚洲,非洲)。
2 time.tzname
属性time.tzname包含一对根据情况的不同而不同的字符串,分别是带夏令时的本地时区名称,和不带的。

19.6日历(Calendar)模块

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值