关注公众号:Python互助小组
一起学习,共同进步
里面有不定期的赠书活动哦
字符串方法 upper()、lower()、isupper()和 islower()
upper()和 lower()字符串方法返回一个新字符串,其中原字符串的所有字母都被相应地转换为大写或小写。字符串中非字母字符保持不变。
spam = 'Hello world!'
spam = spam.upper()
print(spam)
spam = spam.lower()
print(spam)
输出
HELLO WORLD!
hello world!
请注意,这些方法没有改变字符串本身,而是返回一个新字符串。如果你希望改
变原来的字符串,就必须在该字符串上调用 upper()或 lower(),然后将这个新字符串
赋给保存原来字符串的变量。这就是为什么必须使用 spam = spam.upper(),才能改变
spam 中的字符串,而不是仅仅使用 spam.upper()
如果字符串至少有一个字母,并且所有字母都是大写或小写,isupper()和islower()方法就会相应地返回布尔值 True。否则,该方法返回 False。
spam = 'Hello world!'
print(spam.islower())
print(spam.isupper())
print('HELLO'.isupper())
print('abc12345'.islower())
print('12345'.islower())
print('12345'.isupper())
False
False
True
True
False
False
isX 字符串方法
除了 islower()和 isupper(),还有几个字符串方法,它们的名字以 is 开始。这些方法返回一个布尔值,描述了字符串的特点。下面是一些常用的 isX 字符串方法:
isalpha()返回 True,如果字符串只包含字母,并且非空
-
isalnum()返回 True,如果字符串只包含字母和数字,并且非空
-
isdecimal()返回 True,如果字符串只包含数字字符,并且非空
-
isspace()返回 True,如果字符串只包含空格、制表符和换行,并且非空
-
istitle()返回 True,如果字符串仅包含以大写字母开头、后面都是小写字母的单词
# 字符串只包含字母,并且非空; print('hello'.isalpha()) print('hello123'.isalpha()) # 只包含字母和数字,并且非空 print('hello123'.isalnum()) print('hello'.isalnum()) # 只包含数字字符,并且非空; print('123'.isdecimal()) # 只包含空格、制表符和换行,并且非空 print(' '.isspace()) # 仅包含以大写字母开头、后面都是小写字母的单词。 print('This Is Title Case'.istitle()) print('This Is Title Case 123'.istitle()) print('This Is not Title Case'.istitle()) print('This Is NOT Title Case Either'.istitle())
输出结果为:
True
False
True
True
True
True
True
True
False
False
之前的一个简单的小程序 初识Python之面向对象编程之使用类和实例 就可以使用str来进行改造一下
class Student():
def __init__(self, name, age, classes, grade):
self.name = name
self.age = age
self.classes = classes
self.grade = grade
# 升学
def up(self):
print('恭喜你', self.name, '你上学期的分数为', self.grade, '你可以升学了')
print('姓名:', self.name)
print('年龄:', self.age)
print('年级:', self.classes)
print('成绩:', self.grade)
# 考试
def test(self):
if int(self.grade) < 60:
print('分数小于60分, 不能升学')
print('姓名:', self.name)
print('年龄:', self.age)
print('年级:', self.classes)
print('成绩:', self.grade)
else:
if int(self.classes) >= 6:
self.classes = '初中'
else:
self.classes = int(self.classes) + 1
self.up()
while True:
print('简单的升学小程序, 输入名字为exit 则退出, 否则会一直进行')
a = input('你叫什么名字:')
if a == 'exit':
print('拜拜')
break
while True:
b = input('今年多大了:')
if b.isdecimal():
break
print('年龄不支持数字以外的字符, 请重新输入')
while True:
c = input('你现在几年级:')
if c.isdecimal():
break
print('请输入纯数字文本, 请重新输入')
while True:
d = input('你考了多少分?')
if d.isdecimal():
break
print('成绩不支持数字以外的字符, 请重新输入')
student = Student(a, b, c, d)
student.test()
因为input输入的字符都为默认的字符串类型,尽管是纯数字的也是字符串类型的。
所以在判断的时候需要用int转义一下
运行结果大致为:
简单的升学小程序, 输入名字为exit 则退出, 否则会一直进行
你叫什么名字:hcf
今年多大了:w
年龄不支持数字以外的字符, 请重新输入
今年多大了:12
你现在几年级:e
请输入纯数字文本, 请重新输入
你现在几年级:5
你考了多少分?r
成绩不支持数字以外的字符, 请重新输入
你考了多少分?88
恭喜你 hcf 你上学期的分数为 88 你可以升学了
姓名: hcf
年龄: 12
年级: 6
成绩: 88
简单的升学小程序, 输入名字为exit 则退出, 否则会一直进行
你叫什么名字:hcf
今年多大了:12
你现在几年级:6
你考了多少分?90
恭喜你 hcf 你上学期的分数为 90 你可以升学了
姓名: hcf
年龄: 12
年级: 初中
成绩: 90
简单的升学小程序, 输入名字为exit 则退出, 否则会一直进行
你叫什么名字:exit
拜拜
用 strip()、rstrip()和 lstrip()删除空白字符
在字符串的章节有过介绍不在介绍
关注公众号:Python互助小组
一起学习,共同进步
里面有不定期的赠书活动哦