Python代码阅读(第69篇):首字母大小写变换

Python 代码阅读合集介绍:为什么不推荐Python初学者直接看项目源码

本篇阅读的代码实现了将字符串首字母变换成大写,或小写的功能。

本篇阅读的代码片段来自于30-seconds-of-python

capitalize

def capitalize(s, lower_rest = False):
  return ''.join([s[:1].upper(), (s[1:].lower() if lower_rest else s[1:])])

# EXAMPLES
capitalize('fooBar') # 'FooBar'
capitalize('fooBar', True) # 'Foobar'
复制代码

capitalize函数接收一个字符串和指示标识,返回首字母转换后的字符串。

函数使用列表切片s[:1]获取字符串首字母,使用upper()函数将其转换成大写。然后根据lower_rest值,判断是否需要将剩余字符转换成小写。然后使用''.join(iterable)方式以''空字符串为分隔元素,将iterable中的字符串拼接起来。

lower_rest为缺省值False时,剩余字符保持不变;当lower_rest传入True时,剩余字符都转换成小写。

decapitalize

def decapitalize(s, upper_rest = False):
  return ''.join([s[:1].lower(), (s[1:].upper() if upper_rest else s[1:])])

# EXAMPLES
decapitalize('FooBar') # 'fooBar'
decapitalize('FooBar', True) # 'fOOBAR'
复制代码

decapitalize函数和capitalize功能相反,实现方式一样。使用s[:1].lower()将首字母变换成小写。当upper_rest为缺省值False时,剩余字符保持不变;当upper_rest传入True时,剩余字符都转换成大写。