zoukankan      html  css  js  c++  java
  • Python之字符串的特性及常用方法

    字符串的特性

    索引: (索引是从0开始)

    s='hello'
    print(s[0])
    print(s[4])
    print(s[-1]) #拿出最后一个字符

    h
    o
    o
    1
    2
    3
    4
    5
    6
    7
    8
    截取s[start:stop:step] 从start开始到stop结束,步长为step

    print(s[0:3])
    print(s[0:4:2])
    print(s[:]) #显示所有的字符
    print(s[:3]) #显示前3个字符
    print(s[1:]) #除了第一个字符之外的其他全部字符
    print(s[::-1]) #字符串的翻转

    hel
    hl
    hello
    hel
    ello
    olleh
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    重复

    print(s * 10)

    hellohellohellohellohellohellohellohellohellohello
    1
    2
    3
    连接

    print('hello ' + 'python')

    hellopython
    1
    2
    3
    成员操作符

    print('he' in s)
    print('aa' in s)
    print('he' not in s)

    True
    False
    False
    1
    2
    3
    4
    5
    6
    7
    for循环遍历

    for i in s:
    print(i)

    h
    e
    l
    l
    o
    1
    2
    3
    4
    5
    6
    7
    8
    -------------练习1------------

    判断一个整数是否是回文数。

    # nmb=input('请输入一个数:')
    # nmbs=nmb[ : :-1]
    # if(nmb == nmbs):
    # print('此数是回文数')
    # else:
    # print('此数不是回文数')
    1
    2
    3
    4
    5
    6
    不用字符串特性

    # nmb = input('输入数字:')
    # c = len(nmb)
    # b = int(c / 2)
    # a = 0
    # for j in range(b):
    # if (nmb[a] != nmb[c - 1 - a]):
    # print('不是回文数')
    # break
    # else:
    # print('是回文数')
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    字符串的常用方法

    判断是否是标题、大写、小写、以及大小写、标题的转换、将字符串的首字母大写其余字母全部小写
    str.istitle()
    str.isupper()
    str.islower()
    str.title() #将字符串中的所有单词的首字母大写,其余字母全部小写;单词以任何标点符号区分的
    str.captialize() #将字符串的首字母大写,其余字母全部小写
    str.upper()
    str.lower()

    >>> 'Hello'.istitle()
    True
    >>> 'hello'.istitle()
    False
    >>> 'hello'.isupper()
    False
    >>> 'Hello'.isupper()
    False
    >>> 'HELLO'.isupper()
    True
    >>> 'hello'.islower()
    True
    >>> 'HELLO'.islower()
    False
    >>> 'HELLO'.lower()
    'hello'
    >>> 'hello'.upper()
    'HELLO'
    >>> 'hello'.title()
    'Hello'
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    前缀和尾缀的匹配

    filename = 'hello.logrrrr'
    if filename.endswith('.log'):
    print(filename)
    else:
    print('error.file')

    error.file

    url = 'https://172.25.254.250/index.html'
    if url.startswith('http://'):
    print('爬取网页')
    else:
    print('不能爬取')

    不能爬取
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    去除左右两边的空格,空格为广义的空格 包括:

    >>> s = ' hello '
    >>> s
    ' hello '
    >>> s.lstrip()
    'hello '
    >>> s.rstrip()
    ' hello'
    >>> s.strip()
    'hello'
    >>> s = ' hello '
    >>> s
    ' hello '
    >>> s.strip()
    'hello'
    >>> s.rstrip()
    ' hello'
    >>> s.lstrip()
    'hello '
    >>> s = 'helloh'
    >>> s.strip('h')
    'ello'
    >>> s.strip('he')
    'llo'
    >>> s.lstrip('he')
    'lloh'
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    字符串的判断

    str.isdigit() #全数字
    str.isalpha() #全字母
    str.isalnum() #只有数字和字母

    -------------练习--------------

    判断变量名定义是否合法:
    1.变量名可以由字母 数字 下划线组成
    2.变量名只能以字母和或者下划线开头

    sname = input('请输入变量名:')
    if not (sname[0].isalpha()) or sname[0] == '_':
    print('illegal')
    else:
    a =0
    for i in sname:
    if sname[a] =='_' or sname[a].isalnum():
    a += 1
    else:
    print('illegal')
    break
    else:
    print('合法')

    ----------------OR--------------------
    # while True:
    # s = input('变量名:')
    # if s == 'exit':
    # print('exit')
    # break
    # if s[0].isalpha() or s[0] == '_':
    # for i in s[1:]:
    # if not(i.isalnum() or i == '_'):
    # print('%s变量名不合法' %(s))
    # break
    #
    # else:
    # print('%s变量名合法' %(s))
    #
    # else:
    # print('%s变量名不合法' %(s))
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    字符串的对齐

    print('jjj'.center(30))
    print('jjj'.center(30,'*'))
    print('jjj'.ljust(30,'#'))
    print('jjj'.rjust(30,'$'))

    jjj
    *************jjj**************
    jjj###########################
    $$$$$$$$$$$$$$$$$$$$$$$$$$$jjj
    1
    2
    3
    4
    5
    6
    7
    8
    9
    字符串的搜索和替换

    s = 'hello world hello'
    1
    #find找到子字符串,并返回最小的索引

    print(s.find('hello'))
    print(s.find('world'))
    print(s.rfind('hello'))
    1
    2
    3
    #替换字符串中的hello为westos

    print(s.replace('hello','westos'))
    1
    字符串的统计及串长

    print('hello'.count('l')) 2
    print('hello'.count('ll')) 1

    print(len('westosssss')) 10
    1
    2
    3
    4
    字符串的分割和连接

    #分割 通过指定的连接符进行

    s = '172.25.254.250'
    s1 = s.split('.')
    print(s1)
    print(s1[::-1])

    date = '2019-05-24'
    date1 = date.split('-')
    print(date1)
    1
    2
    3
    4
    5
    6
    7
    8
    #连接 通过指定的连接符,连接每个字符串

    print(''.join(date1))
    print('/'.join(date1))
    print('~~'.join('hello'))
    1
    2
    3
    -------------练习--------------

    #小米笔试练习:给定一个句子(只有字母和空格,单词用一个空格隔开)将句子中单词的位置反转

    # while True:
    # str = input('请输入句子: ')
    # if str == 'exit':
    # exit()
    # else:
    # str1 = str.split(' ')
    # print(' '.join(str1[::-1]))
    1
    2
    3
    4
    5
    6
    7
    -------------练习---------------

    #设计程序:帮助小学生练习10以内的加法
    #detail:随机生成加法题目,学生查看题目并输入答案,判别,退出统计答题总数,正确数,正确率

    # import random
    # a=0
    # b=0
    # while True:
    # str = input('答题:y or n ')
    # if str == 'n':
    # print('答题总数为%d,正确数为%d,正确率为%.2f' %(a,b,b/a))
    # exit()
    # else:
    # nmb1 = random.randint(0, 10)
    # nmb2 = random.randint(0, 10)
    # jug = nmb1 + nmb2
    # print('%d + %d=' % (nmb1, nmb2), end='')
    # ans = int(input())
    # if ans == jug:
    # b+=1
    # print('正确')
    # else:
    # print('错误')
    # a+=1
    #
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    ------------练习-------------

    #设计程序:百以内的算术练习
    #功能:提供10道±*/题目,练习者输入答案,程序自动判断并显示

    import random
    opt = ['+', '-', '*', '/']
    print('开始答题:')
    for i in range(10):
    nmb1 = random.randint(0, 100)
    nmb2 = random.randint(0, 100)
    f = random.choice(opt)
    print('%d%s%d= ' % (nmb1, f, nmb2),end='')
    ans = int(input( ))
    if (f == opt[0]):
    jug = nmb1 + nmb2
    elif (f == opt[1]):
    jug = nmb1 - nmb2
    elif (f == opt[2]):
    jug = nmb1 * nmb2
    else:
    jug = nmb1 / nmb2
    if ans == jug:
    print('正确')
    else:
    print('错误')
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21

  • 相关阅读:
    Quit Procrastinating! 20 Ways to Energize Out of Your Slump
    [转]会让你人生失败的31种原因
    Control Panel Applets
    MemTest
    The server at www.abstractspoon.com is taking too long to respond.
    拖延者 <<拖延心理学>>
    [转]How to Uninstall Windows Movie Maker
    经典街机
    Causes and Cures for Procrastination
    给页面添加关键词和简介
  • 原文地址:https://www.cnblogs.com/hyhy904/p/10971688.html
Copyright © 2011-2022 走看看