字符串操作

常用的字符串使用方法及描述,如下表所示:

方法

描述

string.center(width)

返回一个原字符串居中,并使用空格填充至长度 width 的新字符串

string.find(str, beg=0, end=len(string))

检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1

string.format()

格式化字符串

string.index(str, beg=0, end=len(string))

跟find()方法一样,只不过如果str不在 string中会报一个异常

string.isalnum()

如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False

string.isalpha()

如果 string 至少有一个字符并且所有字符都是字母则返回 True,否则返回 False

string.islower()

如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False

string.isnumeric()

如果 string 中只包含数字字符,则返回 True,否则返回 False

string.isspace()

如果 string 中只包含空格,则返回 True,否则返回 False.

string.istitle()

如果 string 是标题化的(见 title())则返回 True,否则返回 False

string.join(seq)

以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串

string.lower()

转换 string 中所有大写字符为小写

max(str)

返回字符串 str 中最大的字母

min(str)

返回字符串 str 中最小的字母

string.rstrip()

删除 string 字符串末尾的空格

string.split(str="", num=string.count(str))

以 str 为分隔符切片 string,如果 num 有指定值,则仅分隔 num+ 个子字符串

string.strip([obj])

在 string 上执行 lstrip()和 rstrip()

string.title()

返回"标题化"的 string,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())

string.upper()

转换 string 中的小写字母为大写


异常处理

捕捉异常使用try/except语句****。try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。如果你不想在异常发生时结束你的程序,只需在try里捕获它。

以下为简单的try…except…else的语法:

try:
	 <语句>        #运行别的代码
except <名字>:
	 <语句>        #如果在try部份引发了'name'异常
except <名字>,<数据>:
	 <语句>        #如果引发了'name'异常,获得附加的数据
else:
	 <语句>        #如果没有异常发生

计算人体基础代谢率(Python语言):

"""
功能:
1,计算男或女的基础代谢率(BMR);
2,用户输入内容计算BMR (每次输入一个/一次输入多个);
3,字符串格式化(str.format());
4,处理异常操作(try-except)。
"""

    """BMR"""
    
        def main():
            """主函数"""
            y_or_n = input("是否退出程序(y/n):")
    
        while y_or_n == "n":
    
            #输入多个值
            input_str = input("请输入以下信息(用空格分隔开)\n性别(男/女) 体重(KG) 身高(cm) 年龄:")


             str_list = input_str.split(" ")
            try:
                gender = str_list[0]
                weight = float(str_list[1])
                height = float(str_list[2])
                age = float(str_list[3])
    
                if gender == "男":
                    bmr = (13.7 * weight) + (5.0 * height) - 6.8 * age + 66
    
                elif gender == "女":
                bmr = (9.6 * weight) + (1.8 * height) - 4.7 * age + 655
            else:
                bmr = -1

            print("***********************")
            print("您的性别:{};体重:{}公斤;身高{}厘米;年龄{}岁".format(gender, weight, height, age))
            print("您的基础代谢率为(BMR):{}卡路里".format(bmr))
        except ValueError:
            print("您输入的格式不正确,请输入正确信息。")
        except IndexError:
            print("您输入的信息有点少哦")
        except:
            print("您输入的是啥子玩意")    

        print("***********************")
        y_or_n = input("是否退出程序(y/n):")
        
if __name__ == "__main__":
    main()

想了解更多的字符串操作可以学习菜鸟教程:http://www.runoob.com/python/python-strings.html;或者Python标准库:https://docs.python.org/3.7/library/string.html?highlight=string#module-string。 想了解更多的异常处理可以参考:http://www.runoob.com/python/python-exceptions.html。


“”"***笔者的话:python中的字符串操作以及它的异常处理,都是比较常用的,需要充分学习的。大家可以参照上面的网址进行更深入的学习。FIGHTING...(热烈欢迎大家批评指正,互相讨论)
"A person's character isn't determined by how he or she enjoys victory but rather how he or she endures defeat. " --《麻辣宝贝》 ***"""