python初学(1)字符串




1、字符串的形式 :
    单引号 '' 三单引号 ''' '''
    双引号 "" 三双引号 """ """
(1)为什么要设定单双引号?
防止类似所打印的字符串中出现单或双引号,当然也可以用转义字符来解决 \" \'
(2)三单与三双 与单的区别
三引号可以允许字符串里面出现换行符,打印文章
2、三种字符串
    长字符串 用三引号声明
    Unicode字符串 使用u作为前缀,可以说是ASCII码的扩展版
    原始字符串 用r做前缀,不会对反斜线特殊对待,就是说原始字符串不进行转义
3、格式化字符串
类似于C语言中的格式控制符,
实例:
pi = 3.14159
>>> format = "pi is %.3f" %  pi

name = "zhanchang xiaobao"
>>> format = "my name is %s" % name

格式转换符(与C语言同)

4、扩展 (模板字符串)
string 模块
实例 :subtitute 会将传递进来的foo替换$foo
>>> from string import Template
>>> s = Template('$x ,glorious $x!')
>>> s.subtitute(x='slurm')
如果被替换部分为单词的一部分,那么参数名就必须用{}括起来
用$$插入$符号
方法 safe_subtitute 不会因缺少值或者不正确使用$而出错

5、字符串方法
(1)、find 返回子串最左端的索引,找不到返回-1
(2)、index类似于find,但不能查找不存在的子串否则,会报错
(3)、count返回出现次数
(4)、join 添加分隔符,split的逆方法
    实例:(被连接的元素必须是字符串)
        sep = '+'
        s = ['1','2','3','4']
        >>> s.join(sep)
        1+2+3+4
(5)、split 分割字符串成一个列表
        实例:
        sep = '+'
        s = '1+2+3+4'
        >>> s.split(sep)
        ['1','2','3','4']
(6)、lower 全部小写(标准化)
(7)、title 所有单词的首字母都大写,但是有时候会出现不自然的情况
    capwords(来源于string模块)
        实例:
        import string
        >>> string.capwords("that's ok")
        That's Ok
(8)、replace 替换子串(但注意字符串是不可变现象)
(9)、strip 返回去除两侧(不包含内部)的字符串,默认删除空格
        实例:
        s = "***!!!liyilin***!!!"
        >>>s.strip("*!")
        liyilin
(10)、translate 只替换单个字符,可同时进行多个替换,有些时候
效率高于replace(更换某些银平台而异的字符)
    转换之前需先完成一张转换表,直接调用string模块里的maketrans函数
(10)2、maketrans方法接受两个参数:等长字符串,表示第一个字符串里的每个字符都用
第二个字符串里的对应位置字符替换
        实例:
        from string import maketrans
        table = maketrans("cs","kz")
        s = "this is an incredible text"
        >>>s.translate(table)
        thiz iz an inkredible text
translate的第二个参数是可选的,代表指定要删除的字符
(11)、成员资格 in
(12)、支持切片



应用:可以利用字符串的知识,写一个超简单的入门级爬虫,抓取图片,可以使用find函数,也可以直接遍历找开始位置和结束位置


抓取青岛科技大学主页图片爬虫代码


#!/usr/bin/env python
# -*- coding: utf-8 -*-
import urllib  //网络包


s = """            青岛科技大学                                            
科大要闻校园传真媒体科大>>更多
校园公告校内通知学术动态>>更多




校址:青岛市松岭路99号(崂山校区) 邮编:266061 青岛市郑州路53号(四方校区) 邮编:266042 山东省高密市杏坛西街1号(高密校区) 邮编:261500
版权所有 青岛科技大学 Email:[email protected]

""" temp = 'http://www.qust.edu.cn/images/slide/20160523043558.jpg' length = len(temp) head = 'img src="http:' tail = ".jpg" posx = -len(head) posy = -len(tail) i = 0 while i < s.count(head): posx = s.find(head,posx+len(head)) posy = s.find(tail,posx+len(tail)) if posy + len(tail) - posx == 63 : url = s[posx+9:posy+len(tail)] urllib.urlretrieve(url , str(i) + '.jpg') i = i+1

你可能感兴趣的:(python)