Python | Python的数字、字符串

Python数字

数字:是python当中使用比较广泛的数据类型

Python 2

    整形 Int          1
    浮点型 Float      2.1
    长整型 Long

Python 3

    2版本长整型 long取消了     
    整形 Int          1
    浮点型 Float      2.1

数字的运算:

    +、 -、 * 、/、\\、%、
>>> 3/2
1.5
>>> 3//2
1
>>> 3%2
1
>>> 3/2.0
1.5
>>>

python字符串

字符串是一个元素以引号包围的,有序的,不可修改的序列。
字符串的定义:

' '单引号

" "双引号

>>> print(type("1"))
<class 'str'>
>>> print(type('1'))
<class 'str'>
>>> print("1")
1
>>> print('1')
1
>>> "I'm a teacher"
"I'm a teacher"

''' ''' 三单引号

""" """ 三双引号

>>> "I'm a teacher"
"I'm a teacher"
>>> """
I am teacher
hello world
"""
'\nI am teacher\nhello world\n'
>>> '''
I am teacher
hello world
'''
'\nI am teacher\nhello world\n'

str类型函数

str(1)
'1'
由于python对脚本当中没有进行任何处理的字符串不进行编译,所以我们通常会用三引号作为长注释,多行注释
当一个字符串没有任何处理的出现在脚本、函数、类下的第一行,那么这个时候这个字符串被称为文档字符串

字符串当中的特殊字符

在字符串当中起到特殊含义的字符

\(在行尾时)    续行符
\\    反斜杠符号
\'    单引号
\"    双引号
\a    响铃
\b    退格(Backspace)
\e    转义
\000    空
\n    换行
\v    纵向制表符
\t    横向制表符
\r    回车
\f    换页
>>> print("a\nb")
a
b
>>> print("a\\nb")
a\nb
>>> "a\
b"
'ab'

字符串格式化操作:

在字符串当中以指定的格式符号进行占位,然后我们将指定的数据传入字符串

%s 字符串占位符

%d 数字占位符

%f 浮点型数字占位符

%.2f 控制浮点型数字占位符

>>> "%s is %d years old"%("while",18)
'while is 18 years old'
>>> "%s is %d years old"%("mk",18)
'mk is 18 years old'
>>> "%s is %f m "%("mk",1.8)
'mk is 1.800000 m '
>>> "%s is %.2f m "%("mk",1.8)
'mk is 1.80 m '

字符串的索引(index)

在python当中所有有序的序列都是由索引概念的。
索引在我们初学的时候我们可以理解为字符串的下标
'while'
w h i l e
0 1 2 3 4

取单个元素

>>> 'while'[1]
'h'
>>> 'while'[0]
'w'
>>> 'while'[-1]
'e'

字符串的截取:

不包含结尾

>>> 'while'[:]
'while'
>>> 'while'[1:3]
'hi'

步长截取

>>> 'while'[::]
'while'
>>> 'while'[::2]
'wie'
>>> 'while'[::-1]
'elihw'
>>> 'while'[1:3:-1]
''
>>> 'while'[3:1:-1]
'li'

字符串的方法

字符串的修饰

Center 让字符串在指定的长度居中,如果不能居中左短右长,可以指定填充内容,默认以空格填充

>>> "while".center(10)
'  while   '
>>> "while".center(10,"x")
'xxwhilexxx'

ljust 让字符串在指定的长度左齐,如果不能居中左短右长,可以指定填充内容,默认以空格填充

>>> "while".ljust(10,"x")
'whilexxxxx'

rjust 让字符串在指定的长度右齐,如果不能居中左短右长,可以指定填充内容,默认以空格填充

>>> "while".rjust(10,"x")
'xxxxxwhile'

zfill 将字符串填充到指定的长度,不足地方用0从左开始补充

>>> "3".zfill(5)
'00003'
>>> "30".zfill(5)
'00030'

strip 默认去除两边的空格,去除内容可以指定

>>> "   while   ".strip()
'while'
>>> "xxxxxxwhilexxxxx".strip("x")
'while'

rstrip 默认去除右边的空格,去除内容可以指定

>>> "   while   ".rstrip()
'   while'
>>> "xxxxxxwhilexxxxx".rstrip("x")
'xxxxxxwhile'

lstrip 默认去除左边的空格,去除内容可以指定

>>> "   while   ".lstrip()
'while   '
>>> "xxxxxxwhilexxxxx".lstrip("x")
'whilexxxxx'

字符串的查找

Count 计数功能,返回自定字符在字符串当中的个数

>>> "hello world".count("l")
3

Find 查找,返回从左第一个指定字符的索引,找不到返回-1

>>> "hello world".find("l")
2
>>> "hello world".find("x")
-1

rfind 查找,返回从右第一个指定字符的索引,找不到返回-1

>>> "hello world".rfind("l")
9

index 查找,返回从左第一个指定字符的索引,找不到报错

>>> "hello world".index("l")
2
>>> "hello world".index("x")
Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    "hello world".index("x")
ValueError: substring not found

rindex 查找,返回从右第一个指定字符的索引,找不到报错

>>> "hello world".rindex("l")
9

字符串的替换

replace 从左到右替换指定的元素,可以指定替换的个数,默认全部替换

>>> "hello world".replace("l","L")
'heLLo worLd'
>>> "hello world".replace("l","L",2)
'heLLo world'
>>>

字符串的变形

upper 将字符串当中所有的字母转换为大写

>>> "while".upper()
'WHILE'

lower 将字符串当中所有的字母转换为小写

>>> 'WHILE'.lower()
'while'

swapcase 将字符串当中所有的字母大小写互换

>>> "wHile".swapcase()
'WhILE'

title 将字串符当中的单词首字母大写,单词以非字母划分

>>> "hellO worLd".title()
'Hello World'
>>> "a b".title()
'A B'

capitalize 只有字符串的首字母大写

>>> "hellO worLd".capitalize()
'Hello world'

expandtabs 修改t的长度

>>> "a\tb".expandtabs(4)
'a   b'
>>> "a\tb".expandtabs(8)
'a       b'

t = tab键,是制表符,就是你每次使用tab,下 一次光标的位置在下一栏的起始位置,
比如一般是一个tab四个空格位,如果你已经输入了两个字母,那么按下tab,光标的位置就来到了字母后面两个空格的位置,
输出效果上"abtcd"和"ab  cd"是一样的,所以这个expandtab也是这样,到上一个tab位或者行首一共数8个字符位,不够补齐空格

>>> print("a\tb")
a    b
>>> print("ab\tb")
ab    b

字符串的判断

isalnum 判断字符串是否完全由字母和数字组成

>>> "hello123".isalnum()
True
>>> "hello123_".isalnum()
False
>>> "hello123?".isalnum()
False

isalpha 判断字符串是否完全由字母组成

>>> "hello123".isalpha()
False
>>> "hello".isalpha()
True

isdigit 判断字符串是否完全由数字组成

>>> "hello".isdigit()
False
>>> "1234".isdigit()
True

isupper 判断字符串当中的字母是否完全是大写

>>> "hello123".isupper()
False

islower 判断字符串当中的字母是否完全是小写

>>> "hello123".islower()
True

istitle 判断字符串是否满足title格式

>>> "hello world".istitle()
False
>>> "Hello World".istitle()
True

isspace 判断字符串是否完全由空格组成

>>> "   ".isspace()
True
>>> "  \t\n ".isspace()
True
>>> "  \t\n 1".isspace()
False

startswith 判断字符串的开头字符,也可以截取判断

>>> "Hello World".startswith("H")
True
>>> "Hello World".startswith("h")
False
>>> "Hello World".startswith("o",4,5)
True
>>> "Hello World".startswith("o",4,6)
True
>>> "Hello World".startswith("o",4)
True

endswith 判断字符串的结尾字符,也可以截取判断

>>> "Hello World".endswith("d")
True
>>> "Hello World".endswith("a")
False
>>> "Hello World".endswith(" ",3,5)
False
>>> "Hello World".endswith("o",3,5)
True
>>> "Hello World".endswith("o",3,5)
True
>>> "Hello World".endswith("o",2,5)
True

字符串的切分

splitlines 以行切分字符串,可以指定是否保留行标志布尔值

>>> 'ab c\n\nde fg\rkl\r\n'.splitlines()
['ab c', '', 'de fg', 'kl']
>>> 'ab c\n\nde fg\rkl\r\n'.splitlines(True)
['ab c\n', '\n', 'de fg\r', 'kl\r\n']

split 从左开始切分字符串,可以指定切分次数和对象

>>> str = "this is string example....wow!!!"
>>> print (str.split( ))       # 以空格为分隔符
['this', 'is', 'string', 'example....wow!!!']
>>> print (str.split('i',1))   # 以 i 为分隔符
['th', 's is string example....wow!!!']
>>> print (str.split('w'))     # 以 w 为分隔符
['this is string example....', 'o', '!!!']

rsplit 从右开始切分字符串,可以指定切分次数和对象

>>> str.rsplit()
['this', 'is', 'string', 'example....wow!!!']
>>> str.rsplit('w')
['this is string example....', 'o', '!!!']
>>> str.rsplit('i')
['th', 's ', 's str', 'ng example....wow!!!']
>>> str.rsplit('i',1)
['this is str', 'ng example....wow!!!']
>>> str.rsplit('s',1)
['this is ', 'tring example....wow!!!']

字符串的拼接

join 将指定的字符串插入到后面的序列的每两个元素之间,进行拼接,形成一个新的字符串

>>> str = "-"
>>> seq = ('a','b','c')
>>> str.join(seq)
'a-b-c'

+ 将两个字符串拼接起来

>>> "a"+"b"
'ab'

* 将指定的字符串进行重复

>>> "a"*5
'aaaaa'

本文链接:

https://blog.zhigu34.cn/archives/63.html
1 + 9 =
快来做第一个评论的人吧~