zoukankan      html  css  js  c++  java
  • python基础查漏补缺3--函数&字符串

    1. 全局变量  global

    name = 'jack'
    def say_hello():
        print('hello ' + name + '!')
    def change_name(new_name):
        global name
        name = new_name
    
    >>> say_hello()
    hello jack!
    >>> change_name('Piper')
    >>> say_hello()
    hello Piper!

    2. 字符函数 ord chr:ascii

    >>> ord('a')
    97
    >>> ord('c')
    99
    >>> chr(97)
    'a'
    >>> chr(100)
    'd'

    3. 字符串长度计算 len

    >>> len('\')
    1
    >>> len('abc')
    3
    >>> len('a
    b
    c')
    5

    4. 字符串切片str[start:end:step]

    >>> food = 'apple pie'
    >>> food[0:4]
    'appl'
    >>> food[0:4:2]
    'ap'
    >>> food[0:6:2]
    'ape'
    >>> food[::-1]
    'eip elppa'
    >>> food[-1:-5:-1]
    'eip '

    5. 字符串测试函数

    函  数  名 什么情况返回True
     s.endswith(t) s 以字符串 t 结尾 
     s.startswith(t) s 以字符串 t 开头 
     s.isalnum() s 只包含字母或数字 
     s.isalpha() s 只包含字母 
     s.isdecimal() s 只包含十进制数字的字符 
     s.isdigit() s 只包含数字字符 
     s.isidentifier()

    s 是合法的标识符 

     s.islower() s 只包含小写字母
     s.isnumeric() s 只包含数字 
     s.isprintable() s 只包含可打印字符 
     s.isspace()  s 只包含空白字符 
     s.istitle() s 是个大小写符合标准要求的字符串(title-case)的字符串 
     s.isupper() s 只包含大写字母
     t in s s 包含字符串 t
    >>> 'abcd'.endswith('d')
    True
    >>> 'abcd'.endswith('c')
    False
    >>> 'abcd'.startswith('a')
    True
    >>> 'abcd'.startswith('b')
    False
    >>> 'abcd'.isalnum()
    True
    >>> '123'.isalnum()
    True
    >>> 'abcd123'.isalnum()
    True
    >>> 'abcd123.'.isalnum()
    False
    >>> 'abcd'.isalpha()
    True
    >>> 'abcd1'.isalpha()
    False
    >>> '123'.isdecimal()
    True
    >>> '123d'.isdecimal()
    False
    >>> 'abc'.isidentifier()
    True
    >>> '~~~'.isidentifier()
    False
    >>> 'abc'.islower()
    True
    >>> 'Abc'.islower()
    False
    >>> '123.1'.isnumeric()
    False
    >>> '-123'.isnumeric()
    False
    >>> '123'.isnumeric()
    True
    >>> '12.3'.isdecimal()
    False
    >>> '\\'.isprintable()
    True
    >>> '
    '.isprintable()
    False
    >>> ''.isspace()
    False
    >>> ' '.isspace()
    True
    >>> 'This Is A Title'.istitle()
    True
    >>> 'ABC'.isupper()
    True
    >>> 'AbcC'.isupper()
    False
    >>> 'a' in 'abc'
    True
    >>> 'd' in 'abc'
    False

    6. 字符串搜索函数

    函  数  名 返  回  值
    s.find(t) 如果没有找到字符串 t,返回-1;否则返回 t 在 s 中的起始位置
    s.rfind(t) 与find相同,但是从右向左搜索
    s.index(t) 与find相同,但如果在 s 中找不到 t, 则引发ValueError异常
    s.rindex(t) 与index相同,但从右向左搜索
    >>> 'abc'.find('b')
    1
    >>> 'abcd'.find('a')
    0
    >>> 'abcd'.rfind('a')
    0
    >>> 'abcda'.rfind('a')
    4
    >>> 'abc'.find('ccc')
    -1
    >>> 'abcda'.index('a')
    0
    >>> 'abcda'.rindex('a')
    4
    >>> 'abcda'.index('m')
    Traceback (most recent call last):
      File "<pyshell#101>", line 1, in <module>
        'abcda'.index('m')
    ValueError: substring not found

     7.  改变大小写的函数

    函 数 名 返回的字符串
    s.capitalize() 将 s[0] 改为大写,其余小写
    s.lower() 让 s 的所有字母都小写
    s.upper() 让 s 的所有字母都大写
    s.swapcase() 将小写字母改为大写,并将大写字母改为小写
    s.title() 让 s 的大小写符合标题的要求
    >>> 'abcd'.capitalize()
    'Abcd'
    >>> 'ABCD'.lower()
    'abcd'
    >>> 'abcd'.upper()
    'ABCD'
    >>> 'AbCd'.swapcase()
    'aBcD'
    >>> 'hello world'.title()
    'Hello World'

    8. 设置字符串格式的函数

    函 数 名 返回的字符串
    s.center(n, ch) 包含 n 个字符的字符串,其中 s 位于中央,两边用字符 ch 填充
    s.ljust(n, ch)  包含 n 个字符的字符串,其中 s 位于左边,右边用字符 ch 填充
    s.rjust(n, ch) 包含 n 个字符的字符串,其中 s 位于右边,左边用字符 ch 填充
    >>> 'abcd'.center(10, 'm')
    'mmmabcdmmm'
    >>> 'abcd'.ljust(10, 'm')
    'abcdmmmmmm'
    >>> 'abcd'.rjust(10, 'm')
    'mmmmmmabcd'

    9. 字符串剥离函数

    函 数 名 返回的字符串
    s.strip(ch) 从 s 开头和末尾删除所有包含在字符串ch中的字符
    s.lstrip(ch) 从 s 开头(左端)删除所有包含在字符串 ch 中的字符
    s.rstrip(ch) 从 s 末尾(右端)删除所有包含在字符串 ch 中的字符
    >>> '   abc    '.strip()
    'abc'
    >>> 'aaaabbbbbccccaaaa'.strip('a')
    'bbbbbcccc'
    >>> 'aaaabbbbbccccaaaa'.strip('ab')
    'cccc'
    >>> '    abc    '.lstrip()
    'abc    '
    >>> 'aaaabbbbccccaaaa'.lstrip('a')
    'bbbbccccaaaa'
    >>> 'aaaabbbbbccccaaaa'.lstrip('ab')
    'ccccaaaa'
    >>> 'aaaabbbbbccccaaaa'.rstrip('a')
    'aaaabbbbbcccc'
    >>> 'aaaabbbbbccccaaaabbbb'.rstrip('ab')
    'aaaabbbbbcccc'

    10. 字符串拆分函数

    函 数 名 返回的字符串
    s.partition(t) 将 s 拆分为三个字符串(head、t 和 tail), 其中 head 为 t 前面的子串,tail 为 t 后面的子串
    s.rpartition(t) 与 partition相同,但从 s 的右侧开始搜索 t
    s.split(t) 以 t 为分隔符,将 s 划分成一系列的子串,并返回一个由这些子串组成的列表
    s.rsplit(t) 与 split 相同,但从 s 的右端开始搜索 t
    s.splitlines() 返回一个由 s 中的各行组成的列表
    >>> 'www.google.com'.partition('.')
    ('www', '.', 'google.com')
    >>> 'www.google.com'.rpartition('.')
    ('www.google', '.', 'com')
    >>> 'www.google.com'.split('.')
    ['www', 'google', 'com']
    >>> 'aaa
    bbb
    '.splitlines()
    ['aaa', 'bbb']

    11. 字符串替换函数

    函 数 名 返回的字符串
    s.replace(old, new) 将 s 中的每个 old 替换为 new
    s.expandtabs(n)   将 s 中的每个制表符扩展为空格,制表符宽度为n
    >>> 'abcd'.replace('a','A')
    'Abcd'
    >>> 'a b c'.expandtabs(4)
    'au3000bu3000c'

    12. 其他字符串函数

    函 数 名 返回的值
    s.count(t) t 在 s 中出现的次数
    s.encode() 设置 s 的编码
    s.join(sep) 使用 s 将 sep 中的字符串连接成一个字符串
    s.maketrans(old, new) 创建一个转换表,用于将 old 中的字符改为 new 中相应的字符;
    s.translate(table) 使用指定转换表(使用 maketrans 创建的)对 s 中的字符进行替换
    s.zfill(width) 在 s 左边添加足够多的 0,让字符串的长度为 width
    >>> 'abca'.count('a')
    2
    >>> 'abcd'.encode()
    b'abcd'
    >>> b'abcd'.decode()
    'abcd'
    >>> '-'.join(['www','google','com'])
    'www-google-com'
    >>> lee_table = ''.maketrans('EIOBT', '31087')
    >>> 'BE COOL. SPEAK LEET!'.translate(lee_table)
    '83 C00L. SP3AK L337!'
    >>> '23'.zfill(4)
    '0023'
    >>> '-85'.zfill(5)
    '-0085'
  • 相关阅读:
    ASP.NET Core的Kestrel服务器(转载)
    ASP.NET Core MVC中的IActionFilter.OnActionExecuting方法,可以获取Controller的Action方法参数值
    SQL 中常用存储过程xp_cmdshell运行cmd命令 (转载)
    SQL Server数据库中外键强制约束的好处是什么,什么时候设置外键非强制约束?(转载)
    EF Core中如何取消跟踪DbContext中所有被跟踪的实体
    c# .NET开发邮件发送功能的全面教程(含邮件组件源码)
    jquery操作select(取值,设置选中) 基础
    Visiual Studio2012 CLR20r3问题
    关于同时查询父子名称的SQL查询语句的写法 id name parentId parentName .
    Linq to SQL Like Operator
  • 原文地址:https://www.cnblogs.com/yunmenzhe/p/7506414.html
Copyright © 2011-2022 走看看