Python - 字符串

2018-03-10  本文已影响0人  不给时间回忆

字符串就是一系列字符。在Python中,用引号括起的都是字符串,其中的引号可以是单引号,也可以是双引号。

说明:在用单引号括起的字符串中,如果包含撇号,就将导致错误。这是因为这会
导致Python将第一个单引号和撇号之间的内容视为一个字符串,进而将余下的文本视为Python代码,从而引发错误。所以字符串中要使用撇号的时候,字符串最好用双引号括起来

字符串的创建

str = 'hello world'
##等价于
str = "hello world"

字符串的常用方法调用

str1 = 'hello,world!'
    print(len(str1))#长度
    print(str1.capitalize())#改变大写字母
    print(str1.upper())#转换成大写字母 lower是转换成小写字母
    print(str1.title())#每个单词的首字母大写
    print(str1)
    print(str1.find('or'))#寻找'or'是否在字符串str1中
    print(str1.find('shit'))
    # 与find类似但找不到子串时会引发异常
    # print(str1.index('or'))
    # print(str1.index('shit'))
    print(str1.startswith('He'))#字符串是否以'He'开头
    print(str1.startswith('hel'))
    print(str1.endswith('!'))
    print(str1.center(50, '*'))#字符串居中处理
    print(str1.rjust(50, ' '))#字符串右对齐
    str2 = 'abc123456'
    print(str2[2])#字符串切片
    print(str2[2:5])
    print(str2[-1:-3:-1])#字符串倒序输出
    # 检查字符串是否由数字构成
    print(str2.isdigit())  # False
    # 检查字符串是否以字母构成
    print(str2.isalpha())  # False
    # 检查字符串是否以数字和字母构成
    print(str2.isalnum())  # True)
    str3 = '  jackfrued@126.com '
    print(str3)
    print(str3.strip())#删除多余的空格   lstrip():删除开头空格
    #要永久删除这个字符串中的空白,必须将删除操作的结果存回到变量中

练习:打印滚动字幕

import os
import time

def word():
    s = '欢迎来到简书。。。。。。'
    while True:
        #清除输出的内容
        os.system('cls')
        print(s)
        #休眠0.5s
        time.sleep(0.5)
        s = s[1:] + s[0]
    # temp = s[1]
    # for n in range(len(s) - 1):
    #     s[n] = s[n + 1]
    # s[len(s) - 1] = temp
    # print(s)

练习:随机生成验证码

from random import randint
#函数,随机验证码,长度指定,大小写字母和数字,
def code(n):
    cod = ''
    for _ in range(n):
        num = randint(65, 123)
        if 65 <= num <= 90:
            cod += chr(num)
        elif 97 <= num <= 122:
            cod += chr(num)
        else:
            cod += str(randint(1, 9))
    return cod
#等价于
def code1(code_len=4):
    """
    生成不同长度的验证码

    :param code_len: 验证码的长度

    :return: 随机生成指定长度的大小写字母和数字的验证码
    """
    all_chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
    chars_len = len(all_chars) - 1
    cod = ''
    if code_len > 0:
        for _ in range(code_len):
            num = randint(0, chars_len)
            cod += all_chars[num]
        return cod
    else:
        return None

取出文件后缀名

def get_suffix(filename, hos = False):
    """
    获取文件后缀名

    :param filename: 文件的名字

    :param hos:取文件后缀名的时候是否要"."

    :return:返回文件后缀名
    """
    pos = filename.rfind(".")
    if 0 < pos < len(filename) - 1:
        index = pos if hos else (pos + 1)
        return filename[index : ]
    else:
        return ''

if __name__ == '__main__':
    print(get_suffix("hello.jpg"))
    print(get_suffix("hello.c"))
    print(get_suffix("hello.jpg", True))
    print(get_suffix(".abc"))
    print(get_suffix("abc."))

练习:判断字符是否为回文字符

def str_palindrome(s):
    low = 0
    high = len(s) - 1
    while high > low:
        if s[low] != s[high]:
            return False
        low += 1
        high -= 1
    return True

练习:判断回文数

def is_palindrome(num):
    """
    判断一个数是不是回文数
    :param num: 一个非负整数
    :return: 是回文数返回True
    """
    temp = num
    re_data = 0
    while temp > 0:
        re_data = re_data * 10 + temp % 10
        temp //= 10
    return re_data == num and pri(num)
上一篇 下一篇

猜你喜欢

热点阅读