Loading...
墨滴

瀋凣

2021/11/17  阅读:59  主题:极简黑

python笔记23

Python day23

1. 字符串

1.5 判断

1.5.0 返回值类型

由于是真伪判断,所以本篇所有方法的返回值类型全部是布尔类型,即TrueFalse

1.5.1 startswith()

startswith()\ endswith()方法用于检查字符串是否是以指定子字符串开头 \ 结尾,如果是则返回True,否则返回False。如果参数begend指定值,则在指定范围内检查。

语法
str.startswith(substr, beg=0,end=len(string));
str.endswith(suffix[, start[, end]])

#str -- 检测的字符串。
#substr -- 指定的子字符串。
#strbeg -- 可选参数用于设置字符串检测的起始位置。
#strend -- 可选参数用于设置字符串检测的结束位置。
举个栗子:
>>> s = '你爱我呀我爱你,蜜雪冰城甜蜜蜜'
>>> s.startswith('你')
True
>>> s.startswith('我')
False
>>> s.endswith('甜蜜蜜')
True
>>> s.endswith('蜜雪冰城')
False

带上下标试试:

>>> s.startswith('你',4)
False
>>> s.endswith('蜜雪冰城',0,12)
True

这里的参数可以填入元组来匹配多个字符串:

>>> s = '他爱Python'
>>> if s.startswith(('你','我','他','她')):
        print('总有人喜欢Python')
    else:
        print('也有人不爱python')
        
'总有人喜欢Python'

1.5.2 istitle()

istitle()方法检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写。

语法
str.istitle()
举个栗子:
>>> x = 'I love Python'
>>> x.istitle()
False

1.5.3 isupper()islower()

isupper() \ islower() 方法检测字符串中所有的字母是否都为大写 \ 小写

语法
str.isupper()
str.islower()
举个栗子:
>>> x
'I love Python'
>>> x.isupper()
False
>>> x.islower()
False
>>> x.upper().isupper()
True

1.5.4 isalpha()

Python isalpha() 方法检测字符串是否只由字母或文字组成。

语法
str.isalpha()
#str.isalpha() 方法,汉字也会返回 True
举个栗子:
>>> x
'I LOVE PYTHON'
>>> x.isalpha()
False

为啥是false?因为有空格~

>>> 'ilovepython'.isalpha()
True

1.5.5 isspace()

Python isspace()方法检测字符串是否只由空白字符组成。

语法
str.isspace()
举个栗子:
>>> ' '.isspace()
#空格
True
>>> '  '.isspace()
#Tab
True
>>> '\n'.isspace()
#换行
True
>>> '\t'.isspace()
#制表符
True
>>> '\r'.isspace()
#回车
True
>>> ''.isspace()
#空字符串
False

1.5.6 isprintable()

如果所有字符都是可打印的,则isprintable()方法返回True,否则返回False

语法
str.isprintable()
举个栗子:
>>> p = 'Hello Python How are you'
>>> p.isprintable()
True
>>> p = 'Hello Python \n How are you'
>>> p.isprintable()
False

不可打印的字符可以是回车和换行符。

1.5.7 isdecimal()isdigit()isnumeric()

isdecimal()方法检查字符串是否只包含十进制字符
isdigit()方法检测字符串是否只由数字组成。
isnumeric()方法检测字符串是否只由数字组成

语法
str.isdecimal()
str.isdigit()
str.isnumeric()
举个栗子:

先来个正常的

>>> n = '114514'
>>> n.isdecimal()
True
>>> n.isdigit()
True
>>> n.isnumeric()
True

整个活,来个平方

>>> n = '2²'
>>> n.isdecimal()
False
>>> n.isdigit()
True
>>> n.isnumeric()
True

继续整活,来个罗马数字

>>> n = 'ⅠⅡⅢⅣⅤⅥ'
>>> n.isdecimal()
False
>>> n.isdigit()
False
>>> n.isnumeric()
True

究极整活,来个汉字

>>> n = '一二三四五'
>>> n.isdecimal()
False
>>> n.isdigit()
False
>>> n.isnumeric()
True

整完活后,就可以看出这三个方法之间的差别

  • str.isdecimal() 方法检查字符串是否只包含十进制字符。这种方法只存在于unicode对象。
  • str.isdigit() 检测字符串是否只包含数字(即不接受其他一切非 [0-9]元素)。
  • str.isnumeric() 方法检测字符串是否只由数字组成,数字可以是: Unicode 数字,全角数字(双字节),罗马数字,汉字数字。
    指数类似 ² 与分数类似 ½ 也属于数字。

1.5.8 isalnum()

isalnum()方法检测字符串是否由字母和数字组成。

isalpha()isdecimal()isdigit()isnumeric()中任意一个返回值为True,其结果就为True

不多赘述。

1.5.9 isidentifier()

Python3 isidentifier() 方法用于判断字符串是否是有效的 Python 标识符,可用来判断变量名是否合法。

第2课的时候,我们了解了标识符的命名规范:

  • 标识符命名规范
    • 第一个字符必须是字母表中的字母下划线 _
    • 标识符其他部分由字母、数字和下划线组成。
    • 标识符对大小写敏感。
语法
str.isidentifitier()
举个栗子:
>>> 'index out of bounds exception'.isidentifier()
False
>>> 'IndexOutOfBoundsException'.isidentifier()
True
>>> 'index_out_of_bounds_exception'.isidentifier()
True
点点关注不迷路
点点关注不迷路
- END -

瀋凣

2021/11/17  阅读:59  主题:极简黑

作者介绍

瀋凣