2021-11-16py10

本文介绍了Python编程中关于re模块的使用,包括match、fullmatch、search、findall、finditer、split、sub和subn等函数的实例。同时,讲解了如何自定义一个名为Myrange的迭代器类,实现类似range的功能。通过这些示例,读者可以深入理解Python的正则表达式操作和迭代器的实现。

“”"
1.定义一个生成器函数,生成1-10
使用next(generator)方法获取1-10
使用for循环获取
“”"
def get_num():
for num in range(1, 11):
yield num

gen = get_num()
print(type(gen))

print(next(gen))

print(next(gen))

print(next(gen))

print(next(gen))

print(next(gen))

print(next(gen))

print(next(gen))

print(next(gen))

print(next(gen))

print(next(gen))

print(next(gen))

for i in gen: # 获取迭代器gen => gen.next()
print(i)
print("=" * 80)
“”"
2.# 自己定义一个MyIterator, 实现range的功能

# range(start, stop, step) => MyIterator

# range(10) # start=0, stop=10, step=1

# rang(10) # range(start=0, stop, step=1) =>start=10

# range(0,10)

# range(0,10,2)

# MyIterator(10)

# MyIterator(0,10)

# MyIterator(0,10,2)

“”"
class Myrange(object):
def init(self, stop=None, start=None, step=1):
self.start = start
self.stop = stop
self.step = step
print(start)

def __iter__(self):
    self.cur_val = self.start
    return self

def __next__(self):

    self.cur_val += self.step
    if self.cur_val < self.stop:

        return self.cur_val

    else:
        raise StopIteration

for i in Myrange(start=-2, stop=13, step=2):
print(i)
print("=" * 80)
“”"
3. re中函数的使用(自己写用例来使用):
match
fullmatch
search
findall
finditer
split
sub
subn
complie
“”"
import re

match

pattern = “hello”
string = “hello world”
result = re.match(pattern, string)
print(result, type(result))
print("=" * 80)

fullmatch

pattern = “hello”
string = “hello”
match_obj = re.fullmatch(pattern, string)
print(match_obj)
print("=" * 80)

search

pattern = “hello”
string1 = “hello world”
string2 = “world hello”
string3 = “hello world hello”
match_obj = re.search(pattern, string1)
print(match_obj)
match_obj = re.search(pattern, string2)
print(match_obj)
match_obj = re.search(pattern, string3)
print(match_obj)
print("=" * 80)

findall

string3 = “hello world hello”
pattern = “hello”
result = re.findall(pattern, string3)
print(result)
print("=" * 80)

finditer

string3 = “hello world hello”
pattern = “hello”
result = re.finditer(pattern, string3)
print(result)
for i in result:
print(i)
print("=" * 80)

split

result = re.split(pattern, string, maxsplit=1)
print(result)
print("=" * 80)

sub

result = re.sub(",", “-”, “计算机,软件,网络”, 1)
print(result)
print("=" * 80)

subn

result = re.subn(",", “-”, “计算机,软件,网络”, 1)
print(result)
print("=" * 80)

complie

string3 = “hello world hello”
pattern = “hello”

compile_obj = re.compile(pattern)
print(compile_obj.search(string3))
print(compile_obj.findall(string3))
print(compile_obj.match(string3))
print("=" * 80)

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

(E:\VSCodeVenv\isat_env) E:\VSCodeProjects>conda install pytorch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 pytorch-cuda=11.8 -c pytorch -c nvidia 3 channel Terms of Service accepted Channels: - pytorch - nvidia - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge - defaults Platform: win-64 Collecting package metadata (repodata.json): done Solving environment: done ## Package Plan ## environment location: E:\VSCodeVenv\isat_env added / updated specs: - pytorch-cuda=11.8 - pytorch==2.3.1 - torchaudio==2.3.1 - torchvision==0.18.1 The following packages will be downloaded: package | build ---------------------------|----------------- blas-1.0 | mkl 6 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free brotli-python-1.0.9 | py38hd77b12b_8 347 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main certifi-2024.8.30 | py38haa95532_0 163 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main charset-normalizer-3.3.2 | pyhd3eb1b0_0 44 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main cuda-cccl-12.9.27 | 0 16 KB nvidia cuda-cccl_win-64-12.9.27 | 0 1.1 MB nvidia cuda-cudart-11.8.89 | 0 1.4 MB nvidia cuda-cudart-dev-11.8.89 | 0 723 KB nvidia cuda-cupti-11.8.87 | 0 11.5 MB nvidia cuda-libraries-11.8.0 | 0 1 KB nvidia cuda-libraries-dev-11.8.0 | 0 1 KB nvidia cuda-nvrtc-11.8.89 | 0 72.1 MB nvidia cuda-nvrtc-dev-11.8.89 | 0 16.1 MB nvidia cuda-nvtx-11.8.86 | 0 43 KB nvidia cuda-profiler-api-12.9.79 | 0 19 KB nvidia cuda-runtime-11.8.0 | 0 1 KB nvidia cuda-version-12.9 | 3 17 KB nvidia filelock-3.13.1 | py38haa95532_0 21 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main freetype-2.4.10 | 0 1.0 MB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free gmpy2-2.1.2 | py38h7f96b67_0 160 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main idna-3.7 | py38haa95532_0 115 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main intel-openmp-2025.0.0 | haa95532_1164 2.1 MB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main jinja2-3.1.4 | py38haa95532_0 271 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main jpeg-8d | 0 175 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free libcublas-11.11.3.6 | 0 33 KB nvidia libcublas-dev-11.11.3.6 | 0 375.9 MB nvidia libcufft-10.9.0.58 | 0 6 KB nvidia libcufft-dev-10.9.0.58 | 0 144.6 MB nvidia libcurand-dev-10.3.10.19 | 0 242 KB nvidia libcusolver-11.4.1.48 | 0 29 KB nvidia libcusolver-dev-11.4.1.48 | 0 94.1 MB nvidia libcusparse-11.7.5.86 | 0 13 KB nvidia libcusparse-dev-11.7.5.86 | 0 175.7 MB nvidia libjpeg-turbo-2.0.0 | h196d8e1_0 618 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main libnpp-11.8.0.86 | 0 294 KB nvidia libnpp-dev-11.8.0.86 | 0 143.2 MB nvidia libnvjpeg-11.9.0.86 | 0 4 KB nvidia libnvjpeg-dev-11.9.0.86 | 0 1.9 MB nvidia libpng-1.6.17 | 0 477 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free libtiff-4.0.2 | 1 627 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free libuv-1.48.0 | h827c3e9_0 322 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main libwebp-1.2.4 | h2bbff1b_0 67 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main libwebp-base-1.2.4 | h2bbff1b_1 304 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main markupsafe-2.1.3 | py38h2bbff1b_0 25 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main mkl-2021.4.0 | h0e2418a_729 181.7 MB https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge mkl-service-2.4.0 | py38h2bbff1b_0 51 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main mkl_fft-1.3.1 | py38h277e83a_0 139 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main mkl_random-1.2.2 | py38hf11a4ad_0 225 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main mpc-1.1.0 | h7edee0f_1 260 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main mpfr-4.0.2 | h62dcd97_1 1.5 MB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main mpir-3.0.0 | hec2e145_1 1.3 MB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main mpmath-1.3.0 | py38haa95532_0 832 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main networkx-3.1 | py38haa95532_0 2.7 MB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main numpy-1.24.3 | py38hf95b240_0 11 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main numpy-base-1.24.3 | py38h005ec55_0 6.1 MB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main pillow-9.3.0 | py38hdc2b20a_1 1011 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main pysocks-1.7.1 | py38haa95532_0 31 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main pytorch-2.3.1 |py3.8_cuda11.8_cudnn8_0 1.39 GB pytorch pytorch-cuda-11.8 | h24eeafa_6 7 KB pytorch pytorch-mutex-1.0 | cuda 3 KB pytorch pyyaml-6.0.2 | py38h827c3e9_0 173 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main requests-2.32.3 | py38haa95532_0 100 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main six-1.16.0 | pyhd3eb1b0_1 18 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main sympy-1.13.3 | py38haa95532_0 11.3 MB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main tbb-2021.8.0 | h59b6b97_0 149 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main tk-8.6.14 | h5e9d12e_1 3.5 MB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main torchaudio-2.3.1 | py38_cu118 7.0 MB pytorch torchvision-0.18.1 | py38_cu118 7.7 MB pytorch typing_extensions-4.11.0 | py38haa95532_0 61 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main urllib3-2.2.3 | py38haa95532_0 182 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main win_inet_pton-1.1.0 | py38haa95532_0 35 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main yaml-0.2.5 | he774522_0 62 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main zlib-1.2.13 | h8cc25b3_1 131 KB https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main ------------------------------------------------------------ Total: 2.63 GB The following NEW packages will be INSTALLED: blas anaconda/pkgs/free/win-64::blas-1.0-mkl brotli-python anaconda/pkgs/main/win-64::brotli-python-1.0.9-py38hd77b12b_8 certifi anaconda/pkgs/main/win-64::certifi-2024.8.30-py38haa95532_0 charset-normalizer anaconda/pkgs/main/noarch::charset-normalizer-3.3.2-pyhd3eb1b0_0 cuda-cccl nvidia/win-64::cuda-cccl-12.9.27-0 cuda-cccl_win-64 nvidia/win-64::cuda-cccl_win-64-12.9.27-0 cuda-cudart nvidia/win-64::cuda-cudart-11.8.89-0 cuda-cudart-dev nvidia/win-64::cuda-cudart-dev-11.8.89-0 cuda-cupti nvidia/win-64::cuda-cupti-11.8.87-0 cuda-libraries nvidia/win-64::cuda-libraries-11.8.0-0 cuda-libraries-dev nvidia/win-64::cuda-libraries-dev-11.8.0-0 cuda-nvrtc nvidia/win-64::cuda-nvrtc-11.8.89-0 cuda-nvrtc-dev nvidia/win-64::cuda-nvrtc-dev-11.8.89-0 cuda-nvtx nvidia/win-64::cuda-nvtx-11.8.86-0 cuda-profiler-api nvidia/win-64::cuda-profiler-api-12.9.79-0 cuda-runtime nvidia/win-64::cuda-runtime-11.8.0-0 cuda-version nvidia/noarch::cuda-version-12.9-3 filelock anaconda/pkgs/main/win-64::filelock-3.13.1-py38haa95532_0 freetype anaconda/pkgs/free/win-64::freetype-2.4.10-0 gmpy2 anaconda/pkgs/main/win-64::gmpy2-2.1.2-py38h7f96b67_0 idna anaconda/pkgs/main/win-64::idna-3.7-py38haa95532_0 intel-openmp anaconda/pkgs/main/win-64::intel-openmp-2025.0.0-haa95532_1164 jinja2 anaconda/pkgs/main/win-64::jinja2-3.1.4-py38haa95532_0 jpeg anaconda/pkgs/free/win-64::jpeg-8d-0 libcublas nvidia/win-64::libcublas-11.11.3.6-0 libcublas-dev nvidia/win-64::libcublas-dev-11.11.3.6-0 libcufft nvidia/win-64::libcufft-10.9.0.58-0 libcufft-dev nvidia/win-64::libcufft-dev-10.9.0.58-0 libcurand nvidia/win-64::libcurand-10.3.10.19-0 libcurand-dev nvidia/win-64::libcurand-dev-10.3.10.19-0 libcusolver nvidia/win-64::libcusolver-11.4.1.48-0 libcusolver-dev nvidia/win-64::libcusolver-dev-11.4.1.48-0 libcusparse nvidia/win-64::libcusparse-11.7.5.86-0 libcusparse-dev nvidia/win-64::libcusparse-dev-11.7.5.86-0 libjpeg-turbo anaconda/pkgs/main/win-64::libjpeg-turbo-2.0.0-h196d8e1_0 libnpp nvidia/win-64::libnpp-11.8.0.86-0 libnpp-dev nvidia/win-64::libnpp-dev-11.8.0.86-0 libnvjpeg nvidia/win-64::libnvjpeg-11.9.0.86-0 libnvjpeg-dev nvidia/win-64::libnvjpeg-dev-11.9.0.86-0 libpng anaconda/pkgs/free/win-64::libpng-1.6.17-0 libtiff anaconda/pkgs/free/win-64::libtiff-4.0.2-1 libuv anaconda/pkgs/main/win-64::libuv-1.48.0-h827c3e9_0 libwebp anaconda/pkgs/main/win-64::libwebp-1.2.4-h2bbff1b_0 libwebp-base anaconda/pkgs/main/win-64::libwebp-base-1.2.4-h2bbff1b_1 markupsafe anaconda/pkgs/main/win-64::markupsafe-2.1.3-py38h2bbff1b_0 mkl anaconda/cloud/conda-forge/win-64::mkl-2021.4.0-h0e2418a_729 mkl-service anaconda/pkgs/main/win-64::mkl-service-2.4.0-py38h2bbff1b_0 mkl_fft anaconda/pkgs/main/win-64::mkl_fft-1.3.1-py38h277e83a_0 mkl_random anaconda/pkgs/main/win-64::mkl_random-1.2.2-py38hf11a4ad_0 mpc anaconda/pkgs/main/win-64::mpc-1.1.0-h7edee0f_1 mpfr anaconda/pkgs/main/win-64::mpfr-4.0.2-h62dcd97_1 mpir anaconda/pkgs/main/win-64::mpir-3.0.0-hec2e145_1 mpmath anaconda/pkgs/main/win-64::mpmath-1.3.0-py38haa95532_0 networkx anaconda/pkgs/main/win-64::networkx-3.1-py38haa95532_0 numpy anaconda/pkgs/main/win-64::numpy-1.24.3-py38hf95b240_0 numpy-base anaconda/pkgs/main/win-64::numpy-base-1.24.3-py38h005ec55_0 pillow anaconda/pkgs/main/win-64::pillow-9.3.0-py38hdc2b20a_1 pysocks anaconda/pkgs/main/win-64::pysocks-1.7.1-py38haa95532_0 pytorch pytorch/win-64::pytorch-2.3.1-py3.8_cuda11.8_cudnn8_0 pytorch-cuda pytorch/win-64::pytorch-cuda-11.8-h24eeafa_6 pytorch-mutex pytorch/noarch::pytorch-mutex-1.0-cuda pyyaml anaconda/pkgs/main/win-64::pyyaml-6.0.2-py38h827c3e9_0 requests anaconda/pkgs/main/win-64::requests-2.32.3-py38haa95532_0 six anaconda/pkgs/main/noarch::six-1.16.0-pyhd3eb1b0_1 sympy anaconda/pkgs/main/win-64::sympy-1.13.3-py38haa95532_0 tbb anaconda/pkgs/main/win-64::tbb-2021.8.0-h59b6b97_0 tk anaconda/pkgs/main/win-64::tk-8.6.14-h5e9d12e_1 torchaudio pytorch/win-64::torchaudio-2.3.1-py38_cu118 torchvision pytorch/win-64::torchvision-0.18.1-py38_cu118 typing_extensions anaconda/pkgs/main/win-64::typing_extensions-4.11.0-py38haa95532_0 urllib3 anaconda/pkgs/main/win-64::urllib3-2.2.3-py38haa95532_0 win_inet_pton anaconda/pkgs/main/win-64::win_inet_pton-1.1.0-py38haa95532_0 yaml anaconda/pkgs/main/win-64::yaml-0.2.5-he774522_0 zlib anaconda/pkgs/main/win-64::zlib-1.2.13-h8cc25b3_1 Proceed ([y]/n)? y Downloading and Extracting Packages: pytorch-2.3.1 | 1.39 GB | #############6 | 10% libcublas-dev-11.11. | 375.9 MB | ######2 | 5% mkl-2021.4.0 | 181.7 MB | #################################################################################################################################### | 100% libcusparse-dev-11.7 | 175.7 MB | #################1 | 13% libcufft-dev-10.9.0. | 144.6 MB | #################################################################################################################################### | 100% libnpp-dev-11.8.0.86 | 143.2 MB | #################################################################################################################################### | 100% libcusolver-dev-11.4 | 94.1 MB | ###########6 | 9% cuda-nvrtc-11.8.89 | 72.1 MB | ######### | 7% cuda-nvrtc-dev-11.8. | 16.1 MB | | 0% cuda-cupti-11.8.87 | 11.5 MB | | 0% sympy-1.13.3 | 11.3 MB | | 0% torchvision-0.18.1 | 7.7 MB | | 0% torchaudio-2.3.1 | 7.0 MB | | 0% numpy-base-1.24.3 | 6.1 MB | | 0% tk-8.6.14 | 3.5 MB | | 0% networkx-3.1 | 2.7 MB | | 0% intel-openmp-2025.0. | 2.1 MB | | 0% libnvjpeg-dev-11.9.0 | 1.9 MB | | 0% mpfr-4.0.2 | 1.5 MB | | 0% cuda-cudart-11.8.89 | 1.4 MB | | 0% mpir-3.0.0 | 1.3 MB | | 0% cuda-cccl_win-64-12. | 1.1 MB | | 0% freetype-2.4.10 | 1.0 MB | | 0% ... (more hidden) ...
最新发布
08-07
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值