Python学习系列(三)(字符串)
一个月没有更新博客了,最近工作上有点小忙,实在是没有坚持住,丢久又有感觉写的必要了,可见本人的坚持精神不佳,本系列没有任何目的,纯属业余学习,或者说是一时兴趣所致。通过本文,能够学习字符串的基本操作,日积月累,多多练习,学到了,会用了才是王道。
一、基本概念
>>> s="Hello 'Jack'……"
>>> print s
Hello 'Jack'……
>>>
2)\转义字符:
>>> s="Hello \"Jack\"……"
>>> print s
Hello "Jack"……
>>>
3)'''三引号方式:
>>> s='''Hello "Jack"……'''
>>> print s
Hello "Jack"……
>>>
2,特殊字符:
1)转义字符:\n回车换行;\t下一制表位;\"双引号;\'单引号;\\输出斜杠
2)原字符串(输出):
>>> print 'E:\temp\node\test.py'
E: emp
ode est.py
>>> print r'E:\temp\node\test.py'
E:\temp\node\test.py
>>>
3,字符串访问:
>>> s='www.baidu.com'
>>> print s[0],s[1],s[2]
w w w
>>>
2)slice切片:Str_name[Start:end:step]==>start:访问字符串的起点;end为终点;step为步长,默认为+1
>>> s='www.baidu.com'
>>> print s[2:5]
w.b
>>>
i)正切片:step为正数,方向从左至右
不指定start:
>>> print s[:6]
www.ba
>>>
不指定end:
>>> print s[4:]
baidu.com
>>>
start和end都不指定:
>>> print s[:]
www.baidu.com
>>>
step不为1:
>>> print s[::2]
wwbiucm (说明:相当于ww w. ba id u. co m按照空格分割)
>>>
ii)负切片:step为负数,方向从右至左
>>> print s[13:-3:-1]
mo
>>>
start为负,end为负,step为负:
>>> print s[-1:-3:-1]
mo
>>>
start和end都不指定,step为-1:
>>> print s[::-1]
moc.udiab.www
>>>
4、字符串运算:
>>> s1='www.baidu.com'
>>> s2='python'
>>> print s1,s2 #对比一下逗号的用法
www.baidu.com python
>>> print s1+s2
www.baidu.compython
>>>
2)乘法:相当于同一个字符(串)的n次相加(Python独有的)
>>> print s1*2
www.baidu.comwww.baidu.com
>>>
3)(not)in运算:判断一个字符(串)是否在某个字符串里面,(不)存在返回为真,否则为假
>>> print 'w' in s1
True
>>> print 'k' in s1
False
>>> print 'k' not in s1
True
>>>
5,字符串函数:
例:
>>> print s1.find('w',2)
2
>>> print s1.find('j')
-1
>>> print s1.count('w')
3
>>> print s1.replace('w','k',2)
kkw.baidu.com
>>>
二、实践演练(本部分后续补上完整实例)
1,提取网页中的超级链接地址
1)分析步骤:(编程思路很重要!!!)
- 浏览网页http://www.cnblogs.com/zhangbc/
- 分析网页代码
- 取第一个连接
- 打印
s="""<a href="http://www.cnblogs.com/zhangbc/p/3501205.html" class="c_b_p_desc_readmore">阅读全文</a>"""
url=s[s.find('href')+6:s.find('html')+4]
print url
网址加载在浏览器:
import webbrowser as web #引入第三方库,并用as取别名
url='http://www.cnblogs.com/zhangbc'
web.open_new_tab(url)
关闭浏览器:
import os
import time
time.sleep(10) os.system('taskkill /F /IM SogouExplorer.exe')#注意空格
三,总结
本文介绍了Python的字符串知识的相关使用,通过练习,应该对Python的字符串有一个初步的认识。
Python学习系列(三)(字符串)的更多相关文章
- python学习第三次记录
python学习第三次记录 python中常用的数据类型: 整数(int) ,字符串(str),布尔值(bool),列表(list),元组(tuple),字典(dict),集合(set). int.数 ...
- Python学习系列(九)(IO与异常处理)
Python学习系列(九)(IO与异常处理) Python学习系列(八)( 面向对象基础) 一,存储器 1,Python提供一个标准的模块,称为pickle,使用它既可以在一个文件中存储任何Pytho ...
- Python学习系列(六)(模块)
Python学习系列(六)(模块) Python学习系列(五)(文件操作及其字典) 一,模块的基本介绍 1,import引入其他标准模块 标准库:Python标准安装包里的模块. 引入模块的几种方式: ...
- Python学习系列(五)(文件操作及其字典)
Python学习系列(五)(文件操作及其字典) Python学习系列(四)(列表及其函数) 一.文件操作 1,读文件 在以'r'读模式打开文件以后可以调用read函数一次性将文件内容全部读出 ...
- Python学习系列(四)(列表及其函数)
Python学习系列(四)(列表及其函数) Python学习系列(一)(基础入门) Python学习系列(二)(基础知识) Python学习系列(三)(字符串) 一.基本概念 1,列表是什么? ...
- Python学习系列(二)(基础知识)
Python基础语法 Python学习系列(一)(基础入门) 对于任何一门语言的学习,学语法是最枯燥无味的,但又不得不学,基础概念较繁琐,本文将不多涉及概念解释,用例子进行相关解析,适当与C语言对比, ...
- Python学习系列(四)Python 入门语法规则2
Python学习系列(四)Python 入门语法规则2 2017-4-3 09:18:04 编码和解码 Unicode.gbk,utf8之间的关系 2.对于py2.7, 如果utf8>gbk, ...
- Python学习系列(八)( 面向对象基础)
Python学习系列(八)( 面向对象基础) Python学习系列(七)( 数据库编程) 一,面向对象 1,域:属于一个对象或类的变量.有两种类型,即实例变量—属于每个实例/类的对象:类变量—属于类 ...
- Python学习系列(七)( 数据库编程)
Python学习系列(七)( 数据库编程) Python学习系列(六)(模块) 一,MySQL-Python插件 Python里操作MySQL数据库,需要Python下安装访 ...
随机推荐
- C++结构体定义和C的区别
对于C来说,struct定义的结构体不是一种数据类型,所以每次声明的时候需要加上struct让编译器知道这是结构体,为了不每次都加上struct关键字,可以在定义结构体的时候加上typedef关键字: ...
- C++ string 用法总结
string查找替换.分割字符串.比较.截取.类型转换.排序等功能都提供了强大的处理函数,可以代替字符数组来使用. 熟练掌握好string的各种使用方法,能极大的提高编程效率哦 ^_^. #inclu ...
- MessageFormat与占位符使用
占位符替换,花括号中为索引占位,对应可变参数后面的值 String pattern = "ErrorMessage=This is Error Message : {0},{1}" ...
- 用idea编译器写第一个Java程序——步骤
- Codeforces Round #448 (Div. 2) B
题目描述有点小坑,ij其实是没有先后的 并且y并不一定存在于a中 判断y的个数和所给数组无关 对于2 - 7来说 中间满足%2==0的y一共有3个 2 4 6 这样 可以看出对于每个数字a 都能够二分 ...
- 4.微信小程序-B站:先把首页造出来
(小安娜:失踪人口已上线,大家快来喷喷喷他!),sorry++,最近身边发生太多事情,导致这最关键的实战开篇都未写,(小安娜-分身1:懒就是懒,不负责任,我之前学的都忘了),(小安娜-分身2:上一篇双 ...
- scala学习手记22 - 参数化类型的可变性
java 的代码中多少有些不是很严谨的内容,比如下面的这段代码: public class Trouble { public static void main(String[] args) { Int ...
- Eclipse_下载地址
1. http://www.eclipse.org/downloads/ http://www.eclipse.org/downloads/packages/ http://archive.eclip ...
- NFV及vIMS的部署实施
随着5G和物联网等领域的快速发展,移动数据业务飞速增长,而传统电信网络基于专用硬件的架构和封闭式的网元,已经成为运营商拓展新业务的严重障碍.NFV能够根据用户和业务需求灵活动态地进行网络资源配置,实现 ...
- LeetCode第[10]题(Java):Regular Expression Matching
题目:匹配正则表达式 题目难度:hard 题目内容:Implement regular expression matching with support for '.' and '*'. '.' Ma ...