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)
运行结果:
以下输出2019年12月份的日历:
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)模块