Python中各模块完整介绍-CFTA注册金融科技分析师一级考点

模块介绍

导入模块,通过import实现:

仅导入模块内特定的函数,通过from…import…实现

在一个模块文件中也可以导入其他模块,通过调用已有模块的函数来完成新的模块功能构造,这样便于代码的多次利用。

时间和日期功能模块

calendar模块

运用 calendar模块中的 month函数可以获得某一特定年月的日历。

此模块的函数都是日历相关的,例如打印某月的字符月历。

星期一是默认的每周第一天,星期天是默认的最后一天。

更改设置需调用calendar.setfirstweekday()函数。模块包含了以下内置函数:

序号函数及描述
1calendar.calendar(year,w=2,l=1,c=6)
返回一个多行字符串格式的year年年历,3个月一行,间隔距离为c。 每日宽度间隔为w字符。每行长度为21* W+18+2* C。l是每星期行数。
2calendar.firstweekday(
)
返回当前每周起始日期的设置。默认情况下,首次载入caendar模块时返回0,即星期一。
3calendar.isleap(year)
是闰年返回True,否则为false。
4calendar.leapdays(y1,y2)
返回在Y1,Y2两年之间的闰年总数。
5calendar.month(year,month,w=2,l=1)
返回一个多行字符串格式的year年month月日历,两行标题,一周一行。每日宽度间隔为w字符。每行的长度为7* w+6。l是每星期的行数。
6calendar.monthcalendar(year,month)
返回一个整数的单层嵌套列表。每个子列表装载代表一个星期的整数。Year年month月外的日期都设为0;范围内的日子都由该月第几日表示,从1开始。
7calendar.monthrange(year,month)
返回两个整数。第一个是该月的星期几的日期码,第二个是该月的日期码。日从0(星期一)到6(星期日);月从1到12。
8calendar.prcal(year,w=2,l=1,c=6)
相当于 print calendar.calendar(year,w,l,c).
9calendar.prmonth(year,month,w=2,l=1)
相当于 print calendar.calendar(year,w,l,c)。
10calendar.setfirstweekday(weekday)
设置每周的起始日期码。0(星期一)到6(星期日)。
11calendar.timegm(tupletime)
和time.gmtime相反:接受一个时间元组形式,返回该时刻的时间辍(1970纪元后经过的浮点秒数)。
12calendar.weekday(year,month,day)
返回给定日期的日期码。0(星期一)到6(星期日)。月份为
1(一月) 到 12(12月)。

代码示例:

# 导入日历模块

import calendar

# 输入指定年份

yy = int(input('请输入年份:'))

# 输入指定月份

mm = int(input('请输入月份:'))

# 打印日历

print(calendar.month(yy, mm))

输出结果:

time模块

通过time模块中相关函数的操作可以获取当前操作系统的时间。

time():返回值为时间戳,以1970年1月1日0时0分0秒为计时起点。此时操作系统的时间距离计时起点的秒数(不考虑闰秒1)的浮点数形式。

获取年月日形式的时间:localtime()、asctime()、ctime()。

localtime():函数类似gmtime(),作用是格式化时间戳为本地的时间。

输出:time.struct_time(tm_year=2021, tm_mon=11, tm_mday=16, tm_hour=22, tm_min=0, tm_sec=36, tm_wday=1, tm_yday=320, tm_isdst=0)

asctime():参数形式为时间元祖,默认形式为localtime()的返回值,返回值为字符串。

输出:Tue Nov 16 22:00:36 2021

ctime():参数形式为时间戳,默认参数为time.time()返回的时间戳,返回值为字符串。

输出:Tue Nov 16 22:00:36 2021

datatime模块

datetime模块中的 datetime类也可以用来存储时间类型,以及进行一些转换和运算操作。

datetime对象之间可以进行减法运算,运算后会返回一个 timedelta对象,表示一个时间段。

datetime对象与它所保存的字符串格式时间戳之间可以互相转换,str()方法会将datetime对象转换成字符串的形式

datetime模块中包含如下类:

类名功能说明

其中datetime对象为最常使用的,获取系统日期

now=datetime.datetime.now()

#获取小时

hour=now.hour

日期转换:

import datetime

# str转时间格式:

dd = '2019-03-17 11:00:00'

dd = datetime.datetime.strptime(dd, "%Y-%m-%d %H:%M:%S")

print(dd,type(dd))

# 时间格式转str:

dc = dd.strftime("%Y-%m-%d %H:%M:%S")

print(dc,type(dc))

输出: 2019-03-17 11:00:00 <class 'datetime.datetime'>

2019-03-17 11:00:00 <class 'str'>

List类型与操作

列表是可变对象,列表中元素及其元素的个数允许被更改,即可以增加、插入或者删除列表中的元素。

增加列表元素

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

#!/usr/bin/python

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

list = [] ## 空列表

list.append('Google') ## 使用 append() 添加元素,每次在末尾添加

list.append('Runoob')

print (list)

输出:

['Google', 'Runoob']

增加还有insert和extend函数,其中:

Insert: 按位置插入

li=['a', 'b']

li.insert(0,"c") #在指定位置插入

#输出为:['c', 'a', 'b']

extend: 将两个列表链接

li=['a','b']

li.extend([2,'e'])

#输出为:['a', 'b', 2, 'e']

删除列表元素

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

#!/usr/bin/python

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]

查询列表元素

获取列表中的单个元素

正向索引0到N-1 举例list[0]

逆向索引从N到 -1 举例list[-N]

指定索引不存在,抛出indexError

示例:

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

print(list1[0])

print(list1[-1])

输出:

physics

2000

tuple类型与操作

元祖是序列类型的数据,序列类型的操作同样适用于元祖。

元祖不可变对象,不能增加、删除其中的元素,可以进行连接创建一个新的对象。

代码示例:

#!/usr/bin/python

tup1 = (12, 34.56);

tup2 = ('abc', 'xyz');

# 注意:以下修改元组元素操作是非法的。

# tup1[0] = 100;

# 创建一个新的元组

tup3 = tup1 + tup2;

print (tup3);

#以上实例输出结果:

#(12, 34.56, 'abc', 'xyz')

range类型与操作

Python3 range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表。

Python3 list() 函数是对象迭代器,可以把range()返回的可迭代对象转为一个列表,返回的变量类型为列表。

Python2 range() 函数返回的是列表。

函数语法

range(stop)

range(start, stop[, step])

参数说明:

start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);

stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5

step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

实例

>>>range(5)

range(0, 5)

>>> for i in range(5):

... print(i)

...

0

1

2

3

4

>>> list(range(5))

[0, 1, 2, 3, 4]

>>> list(range(0))

[]

有两个参数或三个参数的情况(第二种构造方法)::

>>>list(range(0, 30, 5))

[0, 5, 10, 15, 20, 25]

>>> list(range(0, 10, 2))

[0, 2, 4, 6, 8]

>>> list(range(0, -10, -1))

[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]

>>> list(range(1, 0))

[]

Str字符串操作

字符串分割与连接

1 连接

python 中的 join() 方法,可以把一个字符串列表连接起来,成为一个独立的字符串。

print(','.join(['红','绿','黄']))

print('-'.join(['红','绿','黄']))

运行结果:

红,绿,黄

红-绿-黄

注意: 调用 join() 方法的字符串, 会被插入到 join() 列表参数中每个字符串之间,作为分隔符 。

2 分割

split() 方法会把一个字符串,分割为一个字符串列表。

print('红 绿 黄'.split())

print('红,绿,黄'.split(','))

运行结果:

['红', '绿', '黄']

['红', '绿', '黄']

默认情况下,split() 方法会按照各种空白字符进行分割, 自动识别比如空格、 制表符或换行符。我们也可以向 split()方法传入一个分割字符串, 让它按照我们所指定的字符串进行分割。

英文字母大小写转换操作

以下代码演示了如何将字符串转换为大写字母,或者将字符串转为小写字母等:

str = "runoob.com"

print(str.upper()) # 把所有字符中的小写字母转换成大写字母

print(str.lower()) # 把所有字符中的大写字母转换成小写字母

print(str.capitalize()) # 把第一个字母转化为大写字母,其余小写

print(str.title()) # 把每个单词的第一个字母转化为大写,其余小写

执行以上代码输出结果为:

WWW.RUNOOB.COM

runoob.com

Www.runoob.com

Www.Runoob.Com

字符串的查找、删除与替换:

去空格及特殊符号

s.strip()

s.lstrip()

s.rstrip()

s.strip().lstrip().rstrip(',')

声明:s为字符串,rm为要删除的字符序列

s.strip(rm) 删除s字符串中开头、结尾处,位于 rm删除序列的字符

s.lstrip(rm) 删除s字符串中开头处,位于 rm删除序列的字符

s.rstrip(rm) 删除s字符串中结尾处,位于 rm删除序列的字符

其中的rm如果不传参数,则默认为删除空格

复制字符串

#strcpy(str1,str2)

str1 = 'strcpy'

str2 = str1

str1 = 'strcpy2'

print (str2)

查找字符

# 返回找到的第一个匹配字符的位置,如< 0 为未找到

str1 = 'strchr'

str2 = 's'

nPos = str1.find(str2)

print (nPos)

注意:还有另外一个类似函数index,当找不到子串时程序会报错

删除任意位置字符:

str.replace(被替换的字符, '');

#将需要被删除的字符替换为控制符;

#一次只能替换一种字符;

s = 'abc:cba'

s1 = s.replace(':', '')

print(s1)

#输出:abccba

字符串切片

代码:

x='hello world'

print(x[1:3])

输出:

el

说明:按索引从0开始,索引为1的字母是’e’;终止索引为3(不包括3这个自身索引),因此索引为2的字母是’l’。所以返回’el’

Dict字典类型操作

字典初始化

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值 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 }

访问字典里的值

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

实例

#!/usr/bin/python

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

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

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

以上实例输出结果:

dict['Name']: Zara

dict['Age']: 7

注意:如果访问字典里没有的键,会输出错误KeyError

实例

#!/usr/bin/python

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

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

以上实例输出结果:

dict['Alice']:

Traceback (most recent call last):

File "test.py", line 5, in <module>

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

KeyError: 'Alice'

修改字典

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

实例

#!/usr/bin/python

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

dict['Age'] = 8 # 更新

dict['School'] = "RUNOOB" # 添加

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

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

以上实例输出结果:

dict['Age']: 8

dict['School']: RUNOOB

删除字典元素

能删单一的元素也能清空字典,清空只需一项操作。

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

实例

#!/usr/bin/python

# -*- 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'])

但这会引发一个异常,因为用del后字典不再存在:

异常输出:

dict['Age']:

Traceback (most recent call last):

File "test.py", line 8, in <module>

print "dict['Age']: ", dict['Age']

TypeError: 'type' object is unsubscriptable

字典键的特性

字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。

两个重要的点需要记住:

1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,如下实例:

实例

#!/usr/bin/python

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

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

以上实例输出结果:

dict['Name']: Manni

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

实例

#!/usr/bin/python

dict = {['Name']: 'Zara', 'Age': 7}

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

以上实例输出结果:

Traceback (most recent call last):

File "test.py", line 3, in <module>

dict = {['Name']: 'Zara', 'Age': 7}

TypeError: list objects are unhashable

Set集合类型与操作

增加元素

add() 方法用于给集合添加元素,如果添加的元素在集合中已存在,则不执行任何操作。

fruits = {"apple", "banana", "cherry"}

fruits.add("orange")

print(fruits)

#输出

{'apple', 'banana', 'orange', 'cherry'}

合并集合

fruites.update({“orange”})

删除指定元素

s.remove( x )

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值