python基础知识---模块&包

1. 模块定义:

模块是包含一组函数的文件(后缀是.py的文件)

1.1 创建模块:

如需创建模块,只需将所需代码保存在文件扩展名为 .py 的文件中:
把我们实现的函数都保存在一个.py文件中,这样一个模块就有了。

例如: 我定义了模块 function.py

其中定义了函数: 
# 使用def定义函数
def my_fuc(var1,var2):
    print("value is :", str(var1 + var2))
    return str(var1 + var2)

1.2 模块使用:          

模块在其他地方使用,需要通过import进行引入。

1.2.1 模块函数的调用:

 调用语法是:module_name.function_name

import function

x = function.my_fuc1(55,'tst')
print(x)
1.2.2  模块中变量的调用:

           模块名称.变量名称    

print(function.fuc_var)
1.2.3  重命名模块

使用import  模块名称 as  模块别名 方式重命名模块

import function as fuc

x = fuc.my_fuc1(55,'tst')
print(x)

print(fuc.fuc_var)
1.2.4  部分导入

使用 from 模块名称 import 导入部分(类/函数/变量)

例如下面代码中 导入了  模块testClass类MyCar,并重命名为mc

import function as fuc
from testClass import MyCar as mc
import platform

c = mc('Yellow','BMW')
print(c.showMyCar())

提示: 可以导入python内置模块platform,使用 dir函数获取模块的所有函数名(或变量名)

 例如:

import function as fuc
from testClass import MyCar as mc
import platform

print(dir(fuc))

1.3 日期模块使用

import datetime

print(datetime.datetime.now())
print(datetime.datetime.now().utctimetuple())
print(datetime.date(2018,12,21))
print(datetime.date.today())
print(datetime.date(2024,5,6).ctime())

时间模块还有其他的,可以看看这位作者的博文:Python时间函数汇总-优快云博客

2. Python包

包中包含模块所需的所有文件。
模块是可以包含在项目中的 Python 代码库。

2.1 包管理

Python中使用包或者模块管理叫PIP

注释:如果您使用的是 Python 3.4 或更高版本,则默认情况下会包含 PIP。

2.1.1 安装 PIP

如果没有安装 PIP,可以从此页面下载并安装:https://pypi.org/project/pip/

2.1.2 包下载、卸载、使用

  例如下载包numpy,  

C:\Users\Your Name>pip install numpy

卸载包: C:\Users\Your Name>pip uninstall numpy

列出已安装包: C:\Users\Your Name>pip list

包使用: import numpy

import numpy

arr = numpy.array([1, 2, 3, 4, 5])
print(arr)

2.2 Python JSON 使用

JSON 是用于存储和交换数据的语法。
JSON 是用 JavaScript 对象表示法(JavaScript object notation)编写的文本。

import json  导入json包

2.2.1 json格式数据解析

使用json.loads() 进行解析json格式数据,返回结果是字典,例如:

import json

# json格式数据解析,返回结果是字典
x =  '{ "name":"test123", "age":44, "city":"beijing"}'
y = json.loads(x)
print(y)
print(y["city"])
2.2.2 python转换成json:

python对象转换成json使用:json.dumps()

import json

# python转json,使用json.dumps()
a =  { "name":"test123", "age":44, "city":"beijing"}
b = json.dumps(a)
print(b)

# 转换后格式化json,indent定义缩进
print(json.dumps(a, indent=4))

# separators定义分割符这意味着使用逗号和空格分隔每个对象,使用冒号和空格将键与值分开,
print(json.dumps(a, indent=4, separators=(". ", " = ")))

#sort_keys参数来指定是否应对结果进行排序
print(json.dumps(a, indent=4, sort_keys=True))

还可以把下面的对象转json字符串:

dict
list
tuple
string
int
float
True
False
None

import json

#json
print(json.dumps(["test1", "test2","test3"]))
print(json.dumps(("test1", "test2","test3")))
print(json.dumps("Test123"))
print(json.dumps(55))
print(json.dumps(43.12))
print(json.dumps(True))
print(json.dumps(False))
print(json.dumps(None))
2.2.3 python转换json,等效项:

Python    JSON
dict            Object
list               Array
tuple            Array
str               String
int               Number
float            Number
True            rue
False            false
None            null

2.3  正则表达式(Rex)使用:

RegEx正则表达式是形成搜索模式的字符序列。
RegEx 可用于检查字符串是否包含指定的搜索模式。

Python 提供名为 re 的内置包,可用于处理正则表达式。

导入正则表达式包: import re

import re

txt = "Test is a test"
x = re.search("^Test.*test", txt)
print(x)

2.3.1 RegEx 函数


re 模块提供了一组函数,允许我们检索字符串以进行匹配:

函数    描述
findall
    返回包含所有匹配项的列表, 如果没有匹配的就返回空列表 []
search    如果字符串中的任意位置存在匹配,则返回 Match 对象, 如果多次匹配,只返回第一个                  匹配项,如无匹配项,则返回None
split    返回在每次匹配时拆分字符串的列表,可以通过maxSplit参数限制匹配次数。

        x = re.split("\s", str, 1)  第一次出现时分割字符串。

sub    用字符串替换一个或多个匹配项; 

     您可以通过指定 count 参数来控制替换次数: 控制替换前两次出现

  x = re.sub("\s", "9", str, 2)
2.3.2 元字符

元字符是具有特殊含义的字符:

符    描述                                                            示例    
[]    一组字符                                                        "[a-m]"    
\    示意特殊序列(也可用于转义特殊字符)        "\d"    
.    任何字符(换行符除外)                                 "he..o"    
^    起始于                                                            "^hello"    
$    结束于                                                            "world$"    
*    零次或多次出现                                                "aix*"    
+    一次或多次出现                                                "aix+"    
{}    确切地指定的出现次数                                    "al{2}"    
|    两者任一                                                          "falls|stays"    
()    捕获和分组      

2.3.3 特殊序列

 特殊序列指的是 \ 后跟下表中的某个字符,拥有特殊含义:

字符描述示例
\A如果指定的字符位于字符串的开头,则返回匹配项"\AThe"
\b返回指定字符位于单词的开头或末尾的匹配项r"\bain"
r"ain\b"
\B返回指定字符存在的匹配项,但不在单词的开头(或结尾处)r"\Bain"
r"ain\B"
\d返回字符串包含数字的匹配项(数字 0-9)"\d"
\D返回字符串不包含数字的匹配项"\D"
\s返回字符串包含空白字符的匹配项"\s"
\S返回字符串不包含空白字符的匹配项"\S"
\w返回一个匹配项,其中字符串包含任何单词字符"\w"
\W返回一个匹配项,其中字符串不包含任何单词字符"\W"
\Z如果指定的字符位于字符串的末尾,则返回匹配项"Spain\Z"
2.3.4 集合set

集合(Set)是一对方括号 [] 内的一组字符,具有特殊含义:

集合描述
[arn]返回一个匹配项,其中存在指定字符(a,r 或 n)之一
[a-n]返回字母顺序 a 和 n 之间的任意小写字符匹配项
[^arn]返回除 a、r 和 n 之外的任意字符的匹配项
[0123]返回存在任何指定数字(0、1、2 或 3)的匹配项
[0-9]返回 0 与 9 之间任意数字的匹配
[0-5][0-9]返回介于 0 到 9 之间的任何数字的匹配项
[a-zA-Z]返回字母顺序 a 和 z 之间的任何字符的匹配,小写或大写
[+]在集合中,+、*、.、|、()、$、{} 没有特殊含义,因此 [+] 表示:返回字符串中任何 + 字符的匹配项
2.3.5 Match 对象

Match 对象是包含有关搜索和结果信息的对象

注释:如果没有匹配,则返回值 None,而不是 Match 对象。

Match 对象提供了用于取回有关搜索及结果信息的属性和方法:

  • span() 返回的元组包含了匹配的开始和结束位置
  • .string 返回传入函数的字符串
  • group() 返回匹配的字符串部分
import re

txt = "Test is a test"
x = re.search("^Test.*test", txt)
x1 = re.findall("c",txt)
print(x.string)
print(x.span())
print(x.group())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值