微x模块怎么导入主题_记录学习python第10天-模块/正则
生活随笔
收集整理的這篇文章主要介紹了
微x模块怎么导入主题_记录学习python第10天-模块/正则
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近上班比較忙,就只能抽空學習了
筆記依舊更新在石墨文檔。
Python基礎知識 《Python基礎知識》,可復制鏈接后用石墨文檔 App 或小程序打開
6.5 模塊和包
6.5.1 模塊的導入和使用
模塊導入:
注:導入模塊,會先一次性加載模塊里面的所有
——如果不希望進行其調用,可以使用__name__
__name__:
- 在自己的模塊中是main
- 如果在其他模塊中調用/導入,就是其他模塊名
包的導入:
from 包名.模塊名 import xxx
里面調用外面模塊:
所有的from都是基于項目下
包模塊的__init__:
__init__.py文件,在導入包的時候,默認加載調用
作用:
注:
from 模塊 import * 會出現一個問題?
模塊調入不了,這是為什么呢?
解決方法:在__init__.py文件中寫上__all__ = ['模塊名'],表示開放模塊。
6.5.2 模塊的循環導入
'''循環導入:A:模塊def test()f()B:模塊def f():test() '''6.5.3 常見模塊
sys模塊:
系統運行環境的模塊
time模塊:
import timet = time.time() # 時間戳 print(t) # 將時間戳轉化為字符串 print(time.ctime(t)) # 時間結構,將時間戳變成元組的形式 t2 = time.localtime(t) print(t2) # 將元組轉化為時間戳 t3 = time.mktime(t2) print(t3) # 將元組的方式轉化成字符串 t4 = time.strftime('%Y-%m-%d %H:%M:%S') print(t4) # 將字符串轉化成元組的方式 r = time.strptime('2019/08/04', '%Y/%m/%d') print(r)datatime模塊:
import datetime # 獲得當前時間 print(datetime.datetime.now()) # 時間差 timedel = datetime.timedelta(days=3) # 時間延遲3天random模塊:
import random # 獲得0-1之間的隨機數 ran = random.random() print(ran) # 自定義隨機數范圍 ran1 = random.randrange(1, 9) print(ran1) # 隨機選取 list1 = ['a', 'b', 'c'] ran2 = random.choice(list1) print(ran2)hashlib模塊
# 加密算法 md5/sha 都是不可逆加密 import hashlibmsg = '秘密信息' md5 = hashlib.md5(msg.encode('utf-8')) sha1 = hashlib.sha1(msg.encode('utf-8')) sha256 = hashlib.sha256(msg.encode('utf-8')) print(md5.hexdigest()) print(sha1.hexdigest()) print(sha256.hexdigest())第三方模塊:
pip install 第三方模塊名 【建議使用鏡像加載】
7.正則表達式(regex)
定義:對字符串(包括普通字符和特殊字符)操作的一種邏輯規則
7.1 正則匹配常見寫法:
正則表達式的r:
Python中字符串前面加上 r 表示原生字符串(rawstring)例子:
import random import re username = 'admin001' # 例如,用戶名可以是字母或數字,但不能以數字開頭 # ~從開頭起匹配,$匹配到結尾結束 result = re.search('^[a-zA-Z][0-9a-zA-Z]{5,}$', username) # 5 位以上匹配 print(result)# 手機的正則匹配 phone = '12345678911' # {x}:固定x位 # {x:}: >= x位 # {x:y}: 介于x-y位數之間 result1 = re.match('1[35789]d{9}$', phone)# 分組 # 匹配數字0-100數字,?匹配前面的子表達式零次或一次,或指明一個非貪婪限定符 n = random.randint(1, 101) result = re.match(r'[1-9]?d?$|100$', str(n)) print(result)# findall依次匹配 # match匹配一次 # +表示大于等于1 # 匹配兩個字母之間有數字 msg = 'a7aap88ps7778all9oo0065wjh589aw' result = re.findall('[a-z][0-9]+[a-z]', msg) print(resu7.1.1 分組匹配:
# 分組匹配 import rephone = '010-123456789' result = re.match(r'(d{3}|d{4})-(d{9})$', phone) print(result) # 分別提取 print(result.group(1), result.group(2))# msg = '<html>abc</html>' msg1 = '<h1>hello</h1>' result = re.match(r'<[0-9a-zA-Z]+>(.+)</[0-9a-zA-Z]+>$', msg) print(result) # 提取一個標簽內的值 print(result.group(1))# number # 讓標簽成對,防止前后標簽不一致的情況出現 result = re.match(r'<([0-9a-zA-Z]+)>(.+)</1>', msg) # 后面的1表示引用第一組 # 看看前后標簽是否相同 print(result) msg = '<html><h1>abc</h1></html>' result = re.match(r'<([0-9a-zA-Z+])>(.+)</2></1>', msg) print(msimport re # 起名方式:(?P<名字>正則)(?P=名字) msg = '<html><h1>abc</h1></html>' ressult = re.match(r'<(?P<name1>w+)><(?P<name2>w+)>(.+)</(?P=name2)></(?P=name1)>', msg) print(msg)7.2 貪婪和非貪婪
貪婪模式變成非貪婪模式,加?
總結
以上是生活随笔為你收集整理的微x模块怎么导入主题_记录学习python第10天-模块/正则的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 4.GraphPad常见统计分析方法
- 下一篇: 分享五款智能配音软件,声音堪比真人,制作