python数字
python2中
整形 int 1
浮点形 float 2.1
长整形long
>>> 3/2
1.5
>>> 5//2 #取整
2
>>> 5%2 #取余
1
python基本运算 +,-,*,/,//,%
python2中整形除以整形结果还是整形 3/2 输出 1
python字符串
字符串是一个用引号包围的,有序的,不可修改的序列。
字符串的定义:
‘’ 单引号
“”双引号
>>> print(type("1"))
<class 'str'>
>>> print(type('1'))
<class 'str'>
>>> print("1")
1
>>> print('1')
1
注意引号要成对出现,单引号成对出现,双引号成对出现。"i'am a shuaige"这样可以正常闭合
'''三单引号
"""三双引号 #这两个注释符可以执行换行,隔行注释
>>> '''
... hello word
... '''
'\nhello word\n'
>>> """
... hello word
... hello
... """
'\nhello word\nhello\n'
str()类型函数
>>> "1"
'1'
>>> 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 无换行符时出错
File "<stdin>", line 2
b
^
SyntaxError: EOL while scanning string literal
>>> 'a\
... b'
'ab'
字符串格式化的操作:
在字符串当中以指定的格式进行占位,然后我们将指定的数据传入字符串
%s 字符串占位
%d 数字占位符
%f 浮点数占位符
%.2f 控制浮点数字占位符
>>> "%s is %d years"%("while",18)
'while is 18 years'
>>> "i am %d years old"%18
'i am 18 years old'
>>> "%s is 19 years old"%he
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'he' is not defined
>>> "%s is 19 years old"%'he'
'he is 19 years old'
>>> '%s id %.2f m'%('a',1.88)
'a id 1.88 m'
字符串的索引(index)
在python当中所有有序的序列都是有索引概念的
索引在我们初学的时候,我们可以理解为字符的下标
'while'
索引依次为0,1,2,3,4
>>> 'while'[1] 取第二个元素
'h'
>>> 'while'[-1] 取倒数第一个元素
'e'
>>> 'while'[:] 取所有的元素
'while'
截取: 不包含结尾
>>> 'while'[1:3] 截取第二三个元素
'hi'
步长截取
>>> 'while'[::]
'while'
>>> 'while'[::2] 隔一个元素截取
'wie'
>>> 'while'[::-1]
'elihw'
>>> 'while'[1:3:-1]
''
>>> 'while'[1:4:-1]
''
>>> 'while'[3:1:-1]
'li'
字符串的方法:
字符串的修饰
Center
让字符串在指定的长度居中,如果不能居中左短右长,可以指定填充内容,默认以空格填充
ljust
让字符串在指定的长度左齐,如果不能居中左短右长,可以指定填充内容,默认以空格填充
rjust
让字符串在指定的长度右齐,如果不能居中左短右长,可以指定填充内容,默认以空格填充
zfill 将字符串填充到指定的长度,不足地方用0从左开始补充
strip 默认去除两边的空格,去除内容可以指定
rstrip 默认去除右边的空格,去除内容可以指定
lstrip 默认去除左边的空格,去除内容可以指定
>>> 'shuai'.center(10) 指定长度的居中,不能低于字符串的长度
' shuai '
>>> 'shuai'.center(4)
'shuai'
>>> 'shuai'.center(10,"x")
'xxshuaixxx'
>>> 'shuai'.ljust(10,'x')
'shuaixxxxx'
>>> 'shuai'.rjust(10,'x')
'xxxxxshuai'
>>> 'shuai'.rjust(1,'x') #指定长度中,长度中要大于字符串本身的长度
'shuai'
>>> '30'.zfill(10)
'0000000030'
>>> ' shuai '.strip()
'shuai'
>>> 'shuai '.rstrip()
'shuai'
>>> ' shuai'.lstrip()
'shuai'
>>> 'xxxxshuaixxxxx'.strip('x')
'shuai'
>>> 'xxxxshuai'.lstrip('x')
'shuai'
>>> 'shuai'.rstrip('x')
'shuai'
字符串的查找
Count 计数功能,返回自定字符在字符串当中的个数
Find 查找,返回从左第一个指定字符的索引,找不到返回-1
rfind 查找,返回从右第一个指定字符的索引,找不到返回-1
index 查找,返回从左第一个指定字符的索引,找不到报错
rindex 查找,返回从右第一个指定字符的索引,找不到报错
字符串的替换
replace 从左往右替换指定的元素,可以指定替换的个数,默认是全部替换
>>> 'shuai'.count("s")
1
>>> 'shuai'.find('s')
0
>>> 'shuai'.find('dd')
-1
>>> 'shuai'.rfind('s') 从右往左找,索引位置还是从左往右的
0
>>> 'shuai'.rfind('i')
4
>>> 'shuai'.index('s')
0
>>> 'shuai'.index('ss')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: substring not found
>>> 'shuai'.rindex('s')
0
>>> 'shuai'.rindex('ss')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: substring not found
>>> 'shuai'.replace('i','ige')
'shuaige'
>>> 'shuaii'.replace('i','ige',1)
'shuaigei'
>>> 'shuaii'.replace('i','ige',2) 替换的是指定的个数,从左往右
'shuaigeige'
字符串的变形:
upper 将字符串中的所有字母转换为大写
lower 将字符串中的所有字母转换为小写
swapcase 将字符串中的所有字母大小写互换
title 将字符串中的单词首字母大写,单词以非字母划分
capitalize 只有字符串的首字母大写
expandtabs 修改\t的长度
\t = tab键,是制表符,就是你每次使用tab,下 一次光标的位置在下一栏的起始位置,比
如一般是一个tab四个空格位,如果你已经输入了两个字母,那么按下tab,光标的位置就来
到了字母后面两个空格的位置,输出效果上"ab\tcd"和"ab cd"是一样的,所以这个expand
tab也是这样,到上一个tab位或者行首一共数8个字符位,不够补齐空格
>>> print('a\tb')
a b
>>> print('ab\tb')
ab b
>>> 'shuai'.upper()
'SHUAI'
>>> 'shuai'.upper('s')
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
'shuai'.upper('s')
TypeError: upper() takes no arguments (1 given)
>>> 'SHUAI'.lower()
'shuai'
>>> 'shuai'.title()
'Shuai'
>>> 'shuai ge'.title()
'Shuai Ge'
>>> 'shuai ge'.capitalize()
'Shuai ge'
>>> 'shuaiGE'.swapcase()
'SHUAIge'
>>> 'a\tb'.expandtabs(2)
'a b'
>>> 'a\tb'.expandtabs(3)
'a b'
>>> 'a\tb'.expandtabs(1)
'a b'
字符串的判断:
isalnum 判断字符串是否完全由字母和数字组成
isalpha 判断字符串是否完全由字母组成
isdigit 判断字符串是否完全由数字组成
isupper 判断字符串中的字母是否完全大写
islower 判断字符串中的字母是否完全小写
istitle 判断字符串是否满足title格式
isspace 判断字符串是否完全由空格组成
startswith 判断字符串的开头字符,也可以截取判断
endswith 判断字符串的结尾字符,也可以截取判断
>>> 'shuai123'.isalnum()
True
>>> 'shuai123'.isalpha()
False
>>> 'shuai123'.isdigit()
False
>>> 'shuai123'.isupper()
False
>>> 'shuai123_'.isalnum()
False
>>> 'shuai123'.isalpha()
False
>>> 'shai12_'.isdigit()
False
>>> 'SHUAI123_'.isupper()
True
>>> 'shuaige123_'.islower()
True
>>> 'shuaige123_'.istitle()
False
>>> ' '.isspace()
True
>>> '\t\n'.isspace()
True
>>> print('\t\n')
>>> 'shuai'.startswith('s')
True
>>> 'shuai'.endswith('i')
True
>>> 'shuai'.startswith('g')
False
>>> 'shuai'.startswith('s',0)
True
>>> 'shuaiu'.startswith('u',2,5)
True
>>> 'shuaishuai'.endseith('s','u',0,2)
Traceback (most recent call last):
File "<pyshell#36>", line 1, in <module>
'shuaishuai'.endseith('s','u',0,2)
AttributeError: 'str' object has no attribute 'endseith'
>>> 'shuaishuai'.startswith('s',0,9)
True
>>> 'shuaige'.endswith('u',0,2)
False
>>> 'shuaige'.endswith('u',0,3)
True
字符串的切分
splitlines 以行切分字符,可以指定是否保留行标志布尔值
split 从左开始切分字符串,可以指定切分次数和对象
rsplit 从右开始切分字符串,可以指定切分次数和对象
字符串的拼接
join
将指定的字符串插入到后面的序列的每两个元素之间,进行拼接,形成一个新的字符串
+ 将两个字符串拼接起来
* 将指定的字符串进行重复
网友评论