3. 输入
name = input("请输入你的姓名:")
二、字符串切片字符串切片的语法: str[start: end: length] ( 此外,切片是左闭右开的区间 [start, end) ,负数倒着数 )
In [1]: str = "abcdefgh"
In [2]: str[0:4]
Out[2]: 'abcd'
In [3]: str[3:8]
Out[3]: 'defgh'
In [4]: str[3:]
Out[4]: 'defgh'
In [5]: str[3:-3]
逼逼赖赖(俗称前言):本文乃读 Python3.8 官方文档有感,公交车起步,请乡亲们站稳扶好。目录:字符串基本操作字符串切片字符串方法一、字符串基本操作打印# python 单双引号都可用于字符串(字符)print('hello world')print("hello world")# 下面两种原模原样输出,多行打印print('''helloworld''')print("""hellowor...
13.12.1 issubclass()
13.12.2 isinstance()
13.12.3 hasattr().cgetattr().csetattr().cdelattr()
13.12.4 dir()
13.12.5 super()
13.12.6 vars()
13.13 用特殊方法定制类
13.13.1 简单定制(RoundFloat2)
13.13.2 数值定制(Time60)
13.13.3 迭代器(RandSeq和AnyIter)
13.13.4 多类型定制(NumStr)
13.14 私有化
13.15 授权
13.15.1 包装
13.15.2 实现授权
13.16 新式类的高级特性(
Python
c2.2+)
13.16.1 新式类的通用特性
13.16.2 __slots__类属性
13.16.3 __getattribute__()特殊方法
13.16.4 描述符
13.16.5 元类和__metaclass__
13.17 相关模块和文档
13.18 练习
第14章 执行环境
14.1 可调用对象
14.1.1 函数
14.1.2 方法
14.1.3 类
14.1.4 类的实例
14.2 代码对象
14.3 可执行的对象声明和内建函数
14.3.1 callable()
14.3.2 compile()
14.3.3 eval()
14.3.4 exec
14.3.5 input()
14.3.6 使用
Python
在运行时生成和执行
Python
代码
14.4 执行其他(
Python
)程序
14.4.1 导入
14.4.2 execfile()
14.4.3 将模块作为脚本执行
14.5 执行其他(非
Python
)程序
14.5.1 os.system()
14.5.2 os.popen()
14.5.3 os.fork().cos.exec().cos.wait()
14.5.4 os.spawn()
14.5.5 subprocessc模块
14.5.6 相关函数
14.6 受限执行
14.7 结束执行
14.7.1 sys.exit()candcSystemExit
14.7.2 sys.exitfunc()
14.7.3 os._exit()c函数
14.7.4 os.kill()cFunction
14.8 各种操作系统接口
14.9 相关模块
14.10 练习
第2部分 高级主题
第15章 正则表达式
15.1 引言动机
15.2 正则表达式使用的特殊符号和字符
15.2.1 用管道符号()匹配多个正则表达式模式
15.2.2 匹配任意一个单个的字符(.)
15.2.3 从
字符串
的开头或结尾或单词边界开始匹配(^$cbcBc)
15.2.4 创建字符类([])
15.2.5 指定范围(-)和否定(^)
15.2.6 使用闭包操作符(,1+,1,1{})实现多次出现重复匹配
15.2.7 特殊字符表示.c字符集
15.2.8 用圆括号(())组建组
15.3 正则表达式和
Python
语言
15.3.1 re模块:核心函数和方法
15.3.2 使用compile()编译正则表达式
15.3.3 匹配对象和group().cgroups()方法
15.3.4 用match()匹配
字符串
15.3.5 search()在一个
字符串
中
查找
一个模式(搜索与匹配的比较)
15.3.6 匹配多个
字符串
()
15.3.7 匹配任意单个字符(.)
15.3.8 创建字符集合([])
15.3.9 重复.c特殊字符和子组
15.3.10 从
字符串
的开头或结尾匹配及在单词边界上的匹配
15.3.11 用findall()找到每个出现的匹配部分
15.3.12 用sub()(和subn())进行搜索和替换
15.3.13 用split()分割(分隔模式)
15.4 正则表达式示例
15.4.1 匹配一个
字符串
15.4.2 搜索与匹配的比较,1“贪婪”匹配
15.5 练习
第16章 网络编程
16.1 引言
16.1.1 什么是客户端服务器架构
16.1.2 客户端服务器网络编程
16.2 套接字:通信端点
16.2.1 什么是套接字
16.2.2 套接字地址:主机与端口
16.2.3 面向连接与无连接
16.3
Python
中的网络编程
16.3.1 socket()模块函数
16.3.2 套接字对象(内建)方法
16.3.3 创建一个TCP服务器
16.3.4 创建TCP客户端
16.3.5 运行我们的客户端与TCP服务器
16.3.6 创建一个UDP服务器
16.3.7 创建一个UDP客户端
16.3.8 执行UDP服务器和客户端
16.3.9 Socket模块属性
16.4 SocketServer模块
16.4.1 创建一个SocketServerTCP服务器
16.4.2 创建SocketServerTCP客户端
16.4.3 执行TCP服务器和客户端
16.5 Twisted框架介绍
16.5.1 创建一个TwistedcReactorcTCP服务器
16.5.2 创建一个TwistedcReactorcTCP客户端
16.5.3 执行TCP服务器和客户端
16.6 相关模块
16.7 练习
第17章 网络客户端编程
17.1 什么是因特网客户端
17.2 文件传输
17.2.1 文件传输网际协议
17.2.2 文件传输协议(FTP)
17.2.3
Python
和FTP
17.2.4 ftplib.FTP类方法
17.2.5 交互式FTP示例
17.2.6 客户端FTP程序举例
17.2.7 FTP的其他方面
17.3 网络新闻
17.3.1 Usenet与新闻组
17.3.2 网络新闻传输协议(NNTP)
17.3.3
Python
和NNTP
17.3.4 nntplib.NNTP类方法
17.3.5 交互式NNTP举例
17.3.6 客户端程序NNTP举例
17.3.7 NNTP的其他方面
17.4 电子邮件
17.4.1 电子邮件系统组件和协议
17.4.2 发送电子邮件
17.4.3
Python
和SMTP
17.4.4 smtplib.SMTP类方法
17.4.5 交互式SMTP示例
17.4.6 SMTP的其他方面
17.4.7 接收电子邮件
17.4.8 POP和IMAP
17.4.9
Python
和POP3
17.4.10 交互式POP3举例
17.4.11 poplib.POP3类方法
17.4.12 客户端程序SMTP和POP3举例
17.5 相关模块
17.5.1 电子邮件
17.5.2 其他网络协议
17.6 练习
第18章 多线程编程
18.1 引言动机
18.2 线程和进程
18.2.1 什么是进程
18.2.2 什么是线程
18.3
Python
.c线程和全局解释器锁
18.3.1 全局解释器锁(GIL)
18.3.2 退出线程
18.3.3 在
Python
中使用线程
18.3.4 没有线程支持的情况
18.3.5
Python
的threading模块
18.4 thread模块
18.5 threading模块
18.5.1 Thread类
18.5.2 斐波那契.c阶乘和累加和
18.5.3 threading模块中的其他函数
18.5.4 生产者-消费者问题和Queue模块
18.6 相关模块
18.7 练习
第19章 图形用户界面编程
19.1 简介
19.1.1 什么是Tcl.cTk和Tkinter
19.1.2 安装和使用Tkinter 533
19.1.3 客户端服务器架构 534
19.2 Tkinter与
Python
编程 534
19.2.1 Tkinter模块:把Tk引入你的程序
19.2.2 GUI程序开发简介
19.2.3 顶层窗口:Tkinter.Tk()
19.2.4 Tk组件
19.3 Tkinter举例
19.3.1 标签组件
19.3.2 按钮组件
19.3.3 标签和按钮组件
19.3.4 标签.c按钮和进度条组件
19.3.5 偏函数应用举例
19.3.6 中级Tkinter范例
19.4 其他GUI简介
19.4.1 TkcInterfaceceXtensionsc(Tix)
19.4.2
Python
cMegaWidgetsc(PMW)
19.4.3 wxWidgets和wx
Python
19.4.4 GTK+和PyGTK
19.5 相关模块和其他GUI
19.6 练习
第20章 Web编程
20.1 介绍
20.1.1 Web应用:客户端服务器计算
20.1.2 因特网
20.2 使用
Python
进行Web应用:创建一个简单的Web客户端
20.2.1 统一资源定位符
20.2.2 urlparse模块
20.2.3 urllib模块
20.2.4 urllib2模块
20.3 高级Web客户端
20.4 CGI:帮助Web服务器处理客户端数据
20.4.1 CGI介绍
20.4.2 CGI应用程序
20.4.3 cgi模块
cccc20.5 建立CGI应用程序
20.5.1 建立Web服务器
20.5.2 建立表单页
20.5.3 生成结果页
20.5.4 生成表单和结果页面
20.5.5 全面交互的Web站点
cccc20.6 在CGI中使用Unicode编码
20.7 高级CGI
20.7.1 Mulitipart表单提交和文件的上传
20.7.2 多值字段
20.7.3 cookie
20.7.4 使用高级CGI
20.8 Web(HTTP)服务器
20.9 相关模块
20.10 练习
第21章 数据库编程
21.1 介绍
21.1.1 持久存储
21.1.2 基本的数据库操作和SQL语言
21.1.3 数据库和
Python
21.2
Python
数据库应用程序程序员接口(DB-API)
21.2.1 模块属性
21.2.2 连接对象
21.2.3 游标对象
21.2.4 类型对象和构造器
21.2.5 关系数据库
21.2.6 数据库和
Python
:接口程序
21.2.7 使用数据库接口程序举例
21.3 对象-关系管理器(ORM)
21.3.1 考虑对象,1而不是SQL
21.3.2
Python
和ORM
21.3.3 雇员数据库举例
21.3.4 总结
21.4 相关模块
21.5 练习
第22章 扩展
Python
623
22.1 引言动机
22.1.1 什么是扩展
22.1.2 为什么要扩展
Python
22.2 创建
Python
扩展
22.2.1 创建您的应用程序代码
22.2.2 用样板来包装你的代码
22.2.3 编译
22.2.4 导入和测试
22.2.5 引用计数
22.2.6 线程和全局解释器锁(GIL)
cccc22.3 相关话题
22.4 练习
第23章 其他话题
23.1 Web服务
23.2 用Win32的COM来操作微软Office
23.2.1 客户端COM编程
23.2.2c微软Excel
23.2.3 微软Word 第1部分
Python
核心
23.2.4 微软PowerPoint
23.2.5 微软Outlook
23.2.6 中等规模的例子
cccc23.3 用Jython写
Python
和Java的程序
23.3.1 什么是Jython
23.3.2 SwingcGUI开发(Java或者
Python
!)
23.4 练习
23.2.4 微软PowerPoint
23.2.5 微软Outlook
23.2.6 中等规模的例子
23.3 用Jython写
Python
和Java的程序
23.3.1 什么是Jython
23.3.2 SwingcGUI开发(Java或者
Python
!)
23.4 练习1a1c1ac111c111a1a1
S.find(substring, [start [,end]]) #可指范围
查找
子串,返回索引值,否则返回-1
S.rfind(substring,[start [,end]]) #反向
查找
S.index(substring,[start [,end]]) #同find,只是找不到产生ValueError异常
S.rindex(substring,[start [,end]])#同上反向
查找
S.count(substring,[start [,end]]) #返回找到子串的个数
S.lowercase()
S.capitalize() #首字母大写
S.lower() #转小写
S.upper() #转大写
S.swapcase() #
大小写
互换
S.split(str, ' ') #将string转list,以空格切分
S.join(list, ' ') #将list转string,以空格连接
处理
字符串
的内置函数
len(str) #串长度
cmp("my friend", str) #
字符串
比较。第一个大,返回1
max('abcxyz') #寻找
字符串
中最大的字符
min('abcxyz') #寻找
字符串
中最小的字符
本书的目标读者是准备去硅谷找工作的码农,也适用于在国内找工作的码农,以及刚接触ACM算法竞赛的新手。
市场上讲解算法的书已经汗牛充栋,为什么还要写这本书呢?主要原因是我对目前市场上的大部分算法书都不太满意。 本书有如下特色:
背后有强大的AlgoHub支持。
本书的所有题目,都可以在 www.algohub.org(即将上线) 上在线判断代码。这样的一大好处是,读者可以边看书,边实现自己的代码,然后提交到网站上验证自己的想法是否正确。AlgoHub的使命是成为最好的算法学习和交流平台。AlgoHub囊括了 POJ, ZOJ, leetcode, HackerRank 等网站的经典题目(一些质量不高的题目则
忽略
),且 AlgoHub有非常简单的加题系统,用户不需要写一行代码即可自己添加题目,所以AlgoHub的题库还在飞速增长中。
每道题都有完整的代码。
市场上的大部分书,都会讲思路,但给出的代码都是片段,不是完整可编译的代码。本书每题都有完整的代码,且每个代码经过千锤百炼,保证可读性的前提下尽可能简短,方面读者在面试中能快速写出来。
每道题都有多种解法。
本书的宗旨是,用尽可能少的题目,覆盖尽可能多的算法。本书中的的每道题都有多种解法,每种解法不是简单的小改进,而是完全不同的思路,力求举一反三,让读者触类旁通。
本书支持多种主流编程语言。
目前支持 Java, C++, C#,
Python
, Ruby, JavaScript, Swift, Scala, Clojure, 将来还会支持更多编程语言。
https://www.gitbook.com/book/soulmachine/algorithm-essentials/
Remove Duplicates from Sorted Array
Remove Duplicates from Sorted Array II
Longest Consecutive Sequence
Two Sum
3Sum Closest
Remove Element
Move Zeroes
Next Permutation
Permutation Sequence
Valid Sudoku
Trapping Rain Water
Rotate Image
Plus One
Climbing Stairs
Set Matrix Zeroes
Gas Station
Candy
Majority Element
Rotate Array
Contains Duplicate
Contains Duplicate II
Contains Duplicate III
Product of Array Except Self
Game of Life
Increasing Triplet Subsequence
Reverse Linked List
Odd Even Linked List
Add Two Numbers
Reverse Linked List II
Partition List
Remove Duplicates from Sorted List
Remove Duplicates from Sorted List II
Rotate List
Remove Nth Node From End of List
Swap Nodes in Pairs
Reverse Nodes in k-Group
Copy List with Random Pointer
Linked List Cycle
Linked List Cycle II
Reorder List
LRU Cache
Palindrome Linked List
Valid Palindrome
Implement strStr()
String to Integer (atoi)
Add Binary
Longest Palindromic Substring
Regular Expression Matching
Wildcard Matching
Longest Common Prefix
Valid Number
Integer to Roman
Roman to Integer
Count and Say
Anagrams
Valid Anagram
Simplify Path
Length of Last Word
Isomorphic Strings
Word Pattern
Min Stack
Valid Parentheses
一、通用操作1、
Python
len()方法返回对象(字符、列表、元组等)长度或项目个数。语法len()方法语法:len( q )参数q -- 对象。返回值返回对象长度。实例以下实例展示了 len() 的使用方法:>>>str = "runoob"
>>> len(str) #
字符串
长度
>>> l = [1,2,...
本组囊括
字符串
相关题目,难度均为简单。58. Length of Last Word 题目描述:简单解法一:
python
中的split能很好地解决这个问题:使用split删除空格后逆着遍历即可得到第一个非空字符的长度:class Solution:
def lengthOfLastWord(self, s: str) -> int:
new_s = s.split('...
08.01
字符串
内建函数 capitalize()方法.png
08.02
字符串
内建函数 center()方法.png
08.03
字符串
内建函数 count()方法.png
08.04
字符串
内建函数 bytes.decode()方法.png
08.05
字符串
内建函数 encode()方法.png
08.06
字符串
内建函数 endswith()方法.png
08.07
字符串
内建函数 expandtabs()方法.png
08.08
字符串
内建函数 find()方法.png
08.09
字符串
内建函数 index()方法.png
08.10
字符串
内建函数 isalnum()方法.png
08.11
字符串
内建函数 isalpha()方法.png
08.12
字符串
内建函数 isdigit()方法.png
08.13
字符串
内建函数 islower()方法.png
08.14
字符串
内建函数 isnumeric()方法.png
08.15
字符串
内建函数 isspace()方法.png
08.16
字符串
内建函数 istitle()方法.png
08.17
字符串
内建函数 isupper()方法.png
08.18
字符串
内建函数 join()方法.png
08.19
字符串
内建函数 len()方法.png
08.20
字符串
内建函数 ljust()方法.png
08.21
字符串
内建函数 lower()方法.png
08.22
字符串
内建函数 lstrip()方法.png
08.23
字符串
内建函数 maketrans()方法.png
08.24
字符串
内建函数 max()方法.png
08.25
字符串
内建函数 min()方法.png
08.26
字符串
内建函数 replace()方法.png
08.27
字符串
内建函数 rfind()方法.png
08.28
字符串
内建函数 rindex()方法.png
08.29
字符串
内建函数 rjust()方法.png
08.30
字符串
内建函数 rstrip()方法.png
08.31
字符串
内建函数 split()方法.png
08.32
字符串
内建函数 splitlines()方法.png
08.33
字符串
内建函数 startswith()方法.png
08.34
字符串
内建函数 strip()方法.png
08.35
字符串
内建函数 swapcase()方法.png
08.36
字符串
内建函数 title()方法.png
08.37
字符串
内建函数 translate()方法.png
08.38
字符串
内建函数 upper()方法.png
08.39
字符串
内建函数 zfill()方法.png
08.40
字符串
内建函数 isdecimal()方法.png
09 列表.png
09.01 列表函数 List len()方法.png
09.02 列表函数 List max()方法.png
09.03 列表函数 List min()方法.png
09.04 列表函数 List list()方法.png
09.05 列表方法 List append()方法.png
09.06 列表方法 List count()方法.png
09.07 列表方法 List extend()方法.png
09.08 列表方法 List index()方法.png
09.09 列表方法 List insert()方法.png
09.10 列表方法 List pop()方法.png
09.11 列表方法 List remove()方法.png
09.12 列表方法 List reverse()方法.png
09.13 列表方法 List sort()方法.png
09.14 列表方法 List clear()方法.png
09.15 列表方法 List copy()方法.png
10 元组.png
11 字典.png
11.01 字典 clear()方法.png
11.02 字典 copy()方法.png
11.02.01 直接赋值、浅拷贝和深度拷贝解析.png
11.03 字典 fromkeys()方法.png
11.04 字典 get() 方法.png
11.05 字典 in 操作符.png
11.06 字典 items() 方法.png
11.07 字典 keys() 方法.png
11.08 字典 setdefault() 方法.png
11.09 字典 update() 方法.png
11.10 字典 values() 方法.png
11.11 字典 pop() 方法.png
11.12 字典 popitem() 方法.png
12 编程第一步.png
13 条件控制.png
14 循环语句.png
15 迭代器与生成器.png
16 函数.png
17 数据结构.png
18 模块.png
19 输入和输出.png
20 File 方法.png
20.01 File close() 方法.png
20.02 File flush() 方法.png
20.03 File fileno() 方法.png
20.04 File isatty() 方法.png
20.05 File next() 方法.png
20.06 File read() 方法.png
20.07 File readline() 方法.png
20.08 File readlines() 方法.png
20.09 File seek() 方法.png
20.10 File tell() 方法.png
20.11 File truncate() 方法.png
20.12 File write() 方法.png
20.13 File writelines() 方法.png
21 OS 文件_目录方法.png
21.01 os.access() 方法.png
21.02 os.chdir() 方法.png
21.03 os.chflags() 方法.png
21.04 os.chmod() 方法.png
21.05 os.chown() 方法.png
21.06 os.chroot() 方法.png
21.07 os.close() 方法.png
21.08 os.closerange() 方法.png
21.09 os.dup() 方法.png
21.10 os.dup2() 方法.png
21.11 os.fchdir() 方法.png
21.12 os.fchmod() 方法.png
21.13 os.fchown() 方法.png
21.14 os.fdatasync() 方法.png
21.15 os.fdopen() 方法.png
21.16 os.fpathconf() 方法.png
21.17 os.fstat() 方法.png
21.18 os.fstatvfs() 方法.png
21.19 os.fsync() 方法.png
21.20 os.ftruncate() 方法.png
21.21 os.getcwd() 方法.png
21.22 os.getcwdu() 方法.png
21.23 os.isatty() 方法.png
21.24 os.lchflags() 方法.png
21.25 os.lchmod() 方法.png
21.26 os.lchown() 方法.png
21.27 os.link() 方法.png
21.28 os.listdir() 方法.png
21.29 os.lseek() 方法.png
21.30 os.lstat() 方法.png
21.31 os.major() 方法.png
21.32 os.makedev() 方法.png
21.33 os.makedirs() 方法.png
21.34 os.minor() 方法.png
21.35 os.mkdir() 方法.png
21.36 os.mkfifo() 方法.png
21.37 os.mknod() 方法.png
21.38 os.open() 方法.png
21.39 os.openpty() 方法.png
21.40 os.pathconf() 方法.png
21.41 os.pipe() 方法.png
21.42 os.popen() 方法.png
21.43 os.read() 方法.png
21.44 os.readlink() 方法.png
21.45 os.remove() 方法.png
21.46 os.removedirs() 方法.png
21.47 os.rename() 方法.png
21.48 os.renames() 方法.png
21.49 os.rmdir() 方法.png
21.50 os.stat() 方法.png
21.51 os.stat_float_times() 方法.png
21.52 os.statvfs() 方法.png
21.53 os.symlink() 方法.png
21.54 os.tcgetpgrp() 方法.png
21.55 os.tcsetpgrp() 方法.png
21.56 os.ttyname() 方法.png
21.57 os.unlink() 方法.png
21.58 os.utime() 方法.png
21.59 os.walk() 方法.png
21.60 os.write() 方法.png
22 错误和异常.png
23 面向对象.png
24 标准库概览.png
25 实例.png
25.01 Hello World 实例.png
25.02 数字求和.png
25.03 平方根.png
25.04 二次方程.png
25.05 计算三角形的面积.png
25.06 随机数生成.png
25.07 摄氏温度转华氏温度.png
25.08 交换变量.png
25.09 if 语句.png
25.10 判断
字符串
是否为数字.png
25.11 判断奇数偶数.png
25.12 判断闰年.png
25.13 获取最大值函数.png
25.14 质数判断.png
25.15 输出指定范围内的素数.png
25.16 阶乘实例.png
25.17 九九乘法表.png
25.18 斐波那契数列.png
25.19 阿姆斯特朗数.png
25.20 十进制转二进制、八进制、十六进制.png
25.21 ASCII码与字符相互转换.png
25.22 最大公约数算法.png
25.23 最小公倍数算法.png
25.24 简单计算器实现.png
25.25 生成日历.png
25.26 使用递归斐波那契数列.png
25.27 文件 IO.png
25.28
字符串
判断.png
25.29
字符串
大小写
转换.png
25.30 计算每个月天数.png
25.31 获取昨天日期.png
25.32 list 常用操作.png
26 正则表达式.png
27 CGI编程.png
28 MySQL 数据库连接.png
29 网络编程.png
30 SMTP发送邮件.png
31 多线程.png
32 XML解析.png
33 JSON 数据解析.png
34 日期和时间.png
34.01 time clock()方法.png
34.02 time mktime()方法.png
34.03 time tzset()方法.png
35 内置函数.png
35.01 abs() 函数.png
35.02 all() 函数.png
35.03 any() 函数.png
35.04 ascii() 函数.png
35.05 bin() 函数.png
35.06 bool() 函数.png
35.07 bytearray() 函数.png
35.08 bytes 函数.png
35.09 callable() 函数.png
35.10 chr() 函数.png
35.11 classmethod 修饰符.png
35.12 compile() 函数.png
35.13 complex() 函数.png
35.14 delattr() 函数.png
35.15 dict() 函数.png
35.16 dir() 函数.png
35.17 divmod() 函数.png
35.18 enumerate() 函数.png
35.19 eval() 函数.png
35.20 exec 函数.png
35.21 filter() 函数.png
35.22 float() 函数.png
35.23 format 格式化函数.png
35.24 frozenset() 函数.png
35.25 getattr() 函数.png
35.26 globals() 函数.png
35.27 hasattr() 函数.png
35.28 hash() 函数.png
35.29 help() 函数.png
35.30 hex() 函数.png
35.31 id() 函数.png
35.32 input() 函数.png
35.33 int() 函数.png
35.34 isinstance() 函数.png
35.35 issubclass() 函数.png
35.36 iter() 函数.png
35.37 len()方法.png
35.38 list()方法.png
35.39 locals() 函数.png
35.40 map() 函数.png
35.41 max() 函数.png
35.42 memoryview() 函数.png
35.43 min() 函数.png
35.44 next() 函数.png
35.45 oct() 函数.png
35.46 open() 函数.png
35.47 ord() 函数.png
35.48 pow() 函数.png
35.49 print() 函数.png
35.50 property() 函数.png
35.51 range() 函数用法.png
35.52 repr() 函数.png
35.53 reversed 函数.png
35.54 round() 函数.png
35.55 set() 函数.png
35.56 setattr() 函数.png
35.57 slice() 函数.png
35.58 sorted() 函数.png
35.59 staticmethod() 函数.png
35.60 str() 函数.png
35.61 sum() 函数.png
35.62 super() 函数.png
35.63 tuple 函数.png
35.64 type() 函数.png
35.65 vars() 函数.png
35.66 zip() 函数.png
35.67 __import__() 函数.png
这篇文章主要介绍了
python
爬虫 正则表达式解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
– re.I #
忽略
大小写
– re.M # 多行匹配,将正则作用到源数据的每一行
– re.S # 单行匹配,将正则作用到整个源数据,输出一个整体
字符串
(包括换行符也打印)
string = '''fall in love with you
i love you very much
i love she
i love her'''
# 去除以i开头的每一行数据
re.findall('^i.*',string,re.M)
[‘i love
15.2.1 用管道符号(|)匹配多个正则表达式模式
15.2.2 匹配任意一个单个的字符(.)
15.2.3 从
字符串
的开头或结尾或单词边界开始匹配(^/$ /\b /\B )
15.2.4 创建字符类([])
15.2.5 指定范围(-)和否定(^)
15.2.6 使用闭包操作符(*,+,?,{})实现多次出现/重复匹配
15.2.7 特殊字符表示、字符集
15.2.8 用圆括号(())组建组
15.3 正则表达式和
Python
语言
15.3.1 re模块:核心函数和方法
15.3.2 使用compile()编译正则表达式
15.3.3 匹配对象和group()、groups()方法
15.3.4 用match()匹配
字符串
15.3.5 search()在一个
字符串
中
查找
一个模式(搜索与匹配的比较)
15.3.6 匹配多个
字符串
(|)
15.3.7 匹配任意单个字符(.)
15.3.8 创建字符集合([])
15.3.9 重复、特殊字符和子组
15.3.10 从
字符串
的开头或结尾匹配及在单词边界上的匹配
15.3.11 用findall()找到每个出现的匹配部分
15.3.12 用sub()(和subn())进行搜索和替换
15.3.13 用split()分割(分隔模式)
15.4 正则表达式示例
15.4.1 匹配一个
字符串
15.4.2 搜索与匹配的比较,“贪婪”匹配
15.5 练习
第16章 网络编程
16.1 引言
16.1.1 什么是客户端/服务器架构
16.1.2 客户端/服务器网络编程
16.2 套接字:通信端点
16.2.1 什么是套接字
16.2.2 套接字地址:主机与端口
16.2.3 面向连接与无连接
16.3
Python
中的网络编程
16.3.1 socket()模块函数
16.3.2 套接字对象(内建)方法
16.3.3 创建一个TCP服务器
16.3.4 创建TCP客户端
16.3.5 运行我们的客户端与TCP服务器
16.3.6 创建一个UDP服务器
16.3.7 创建一个UDP客户端
16.3.8 执行UDP服务器和客户端
16.3.9 Socket模块属性
16.4 *SocketServer模块
16.4.1 创建一个SocketServerTCP服务器
16.4.2 创建SocketServerTCP客户端
16.4.3 执行TCP服务器和客户端
16.5 Twisted框架介绍
16.5.1 创建一个Twisted Reactor TCP服务器
16.5.2 创建一个Twisted Reactor TCP客户端
16.5.3 执行TCP服务器和客户端
16.6 相关模块
16.7 练习
第17章 网络客户端编程
17.1 什么是因特网客户端
17.2 文件传输
17.2.1 文件传输网际协议
17.2.2 文件传输协议(FTP)
17.2.3
Python
和FTP
17.2.4 ftplib.FTP类方法
17.2.5 交互式FTP示例
17.2.6 客户端FTP程序举例
17.2.7 FTP的其他方面
17.3 网络新闻
17.3.1 Usenet与新闻组
17.3.2 网络新闻传输协议(NNTP)
17.3.3
Python
和NNTP
17.3.4 nntplib.NNTP类方法
17.3.5 交互式NNTP举例
17.3.6 客户端程序NNTP举例
17.3.7 NNTP的其他方面
17.4 电子邮件
17.4.1 电子邮件系统组件和协议
17.4.2 发送电子邮件
17.4.3
Python
和SMTP
17.4.4 smtplib.SMTP类方法
17.4.5 交互式SMTP示例
17.4.6 SMTP的其他方面
17.4.7 接收电子邮件
17.4.8 POP和IMAP
17.4.9
Python
和POP3
17.4.10 交互式POP3举例
17.4.11 poplib.POP3类方法
17.4.12 客户端程序SMTP和POP3举例
17.5 相关模块
17.5.1 电子邮件
17.5.2 其他网络协议
17.6 练习
第18章 多线程编程
18.1 引言/动机
18.2 线程和进程
18.2.1 什么是进程
18.2.2 什么是线程
18.3
Python
、线程和全局解释器锁
18.3.1 全局解释器锁(GIL)
18.3.2 退出线程
18.3.3 在
Python
中使用线程
18.3.4 没有线程支持的情况
18.3.5
Python
的threading模块
18.4 thread模块
18.5 threading模块
18.5.1 Thread类
18.5.2 斐波那契、阶乘和累加和
18.5.3 threading模块中的其他函数
18.5.4 生产者-消费者问题和Queue模块
18.6 相关模块
18.7 练习
第19章 图形用户界面编程
19.1 简介
19.1.1 什么是Tcl、Tk和Tkinter
19.1.2 安装和使用Tkinter 533
19.1.3 客户端/服务器架构 534
19.2 Tkinter与
Python
编程 534
19.2.1 Tkinter模块:把Tk引入你的程序
19.2.2 GUI程序开发简介
19.2.3 顶层窗口:Tkinter.Tk()
19.2.4 Tk组件
19.3 Tkinter举例
19.3.1 标签组件
19.3.2 按钮组件
19.3.3 标签和按钮组件
19.3.4 标签、按钮和进度条组件
19.3.5 偏函数应用举例
19.3.6 中级Tkinter范例
19.4 其他GUI简介
19.4.1 Tk Interface eXtensions (Tix)
19.4.2
Python
MegaWidgets (PMW)
19.4.3 wxWidgets和wx
Python
19.4.4 GTK+和PyGTK
19.5 相关模块和其他GUI
19.6 练习
第20章 Web编程
20.1 介绍
20.1.1 Web应用:客户端/服务器计算
20.1.2 因特网
20.2 使用
Python
进行Web应用:创建一个简单的Web客户端
20.2.1 统一资源定位符
20.2.2 urlparse模块
20.2.3 urllib模块
20.2.4 urllib2模块
20.3 高级Web客户端
20.4 CGI:帮助Web服务器处理客户端数据
20.4.1 CGI介绍
20.4.2 CGI应用程序
20.4.3 cgi模块
20.5 建立CGI应用程序
20.5.1 建立Web服务器
20.5.2 建立表单页
20.5.3 生成结果页
20.5.4 生成表单和结果页面
20.5.5 全面交互的Web站点
20.6 在CGI中使用Unicode编码
20.7 高级CGI
20.7.1 Mulitipart表单提交和文件的上传
20.7.2 多值字段
20.7.3 cookie
20.7.4 使用高级CGI
20.8 Web(HTTP)服务器
20.9 相关模块
20.10 练习
第21章 数据库编程
21.1 介绍
21.1.1 持久存储
21.1.2 基本的数据库操作和SQL语言
21.1.3 数据库和
Python
21.2
Python
数据库应用程序程序员接口(DB-API)
21.2.1 模块属性
21.2.2 连接对象
21.2.3 游标对象
21.2.4 类型对象和构造器
21.2.5 关系数据库
21.2.6 数据库和
Python
:接口程序
21.2.7 使用数据库接口程序举例
21.3 对象-关系管理器(ORM)
21.3.1 考虑对象,而不是SQL
21.3.2
Python
和ORM
21.3.3 雇员数据库举例
21.3.4 总结
21.4 相关模块
21.5 练习
第22章 扩展
Python
623
22.1 引言/动机
22.1.1 什么是扩展
22.1.2 为什么要扩展
Python
22.2 创建
Python
扩展
22.2.1 创建您的应用程序代码
22.2.2 用样板来包装你的代码
22.2.3 编译
22.2.4 导入和测试
22.2.5 引用计数
22.2.6 线程和全局解释器锁(GIL)
22.3 相关话题
22.4 练习
第23章 其他话题
23.1 Web服务
23.2 用Win32的COM来操作微软Office
23.2.1 客户端COM编程
23.2.2 微软Excel
23.2.3 微软Word 第1部分
Python
核心
23.2.4 微软PowerPoint
23.2.5 微软Outlook
23.2.6 中等规模的例子
23.3 用Jython写
Python
和Java的程序
23.3.1 什么是Jython
23.3.2 Swing GUI开发(Java或者
Python
!)
23.4 练习
23.2.4 微软PowerPoint
23.2.5 微软Outlook
23.2.6 中等规模的例子
23.3 用Jython写
Python
和Java的程序
23.3.1 什么是Jython
23.3.2 Swing GUI开发(Java或者
Python
!)
23.4 练习
匹配的3个函数
match :只从
字符串
的开始与正则表达式匹配,匹配成功返回matchobject,否则返回none;
re.match(pattern, string, flags=0) ##flags标志位,用于控制正则表达式的匹配方式,如:是否区分
大小写
,多行匹配等等。
search :将
字符串
的所有字串尝试与正则表达式匹配,如果所有的字串都没有匹配成功,返回none,否则返回matchobject;(re.search相当于perl中的默认行为)
findall方法,返回所有的与给定的表达式匹配的一个list;
mypatten = re
A.正则表达式,使用IGNORECASE标志
>>> import re
>>> m = re.search('multi', 'A mUltiCased string', re.IGNORECASE)
>>> bool(m)
B.在比较前把2个
字符串
转换成同样大写,用upper()方法,或小写,lower()
>>> s = 'A mUltiCased string'.lo