python学习-第2课

一、逻辑运算符

1.1.算术运算符

运算符

描述

+

加 - 两个对象相加

-

减 - 得到负数或是一个数减去另一个数

*

乘 - 两个数相乘或是返回一个被重复若干次的字符串

/

除 - x除以y

%

取模 - 返回除法的余数

**

幂 - 返回x的y次幂

//

取整除 - 返回商的整数部分

示例:

a = 5
b = 3
print(a + b)
print(a - b)
print(a * b)
print(a / b)
print(a // b)
print(a % b)
print(a ** b)
返回结果:

8
2
15
1.6666666666666667
2
125
1

1.2.比较运算符

运算符

描述

==

等于 - 比较对象是否相等

!=

不等于 - 比较两个对象是否不相等

<> 

大于 - 返回x是否大于y   python3已经取消

大于 - 返回x是否大于y

小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。

>=

大于等于         - 返回x是否大于等于y

<=

小于等于 -      返回x是否小于等于y

示例:

a = 5
b = 3
print(a == b)
print(a != b)
print(a > b)
print(a < b)
print(a >= b)
print(a <= b)
返回结果:

False
True
True
False
True
False

1.3.赋值运算符

运算符

描述

备注

=

简单的赋值运算符

+=

加法赋值运算符

c += a 等效于 c = c + a

-=

减法赋值运算符

c -= a 等效于 c = c - a

*=

乘法赋值运算符

c *= a 等效于 c = c * a

/=

除法赋值运算符

c /= a 等效于 c = c / a

%=

取模赋值运算符

c %= a 等效于 c = c % a

**=

幂赋值运算符

c **= a 等效于 c = c ** a

//=

取整除赋值运算符

c //= a 等效于 c = c // a

示例:

a = 5
b = 3
c = 0
c = a + b
print(c)
a += b
print(a)
a -= b
print(a)
a *= b
print(a)
a /= b
print(a)
a %= b
print(a)
a **= b
print(a)
a //= b
print(a)

结果:

8
8
5
15
5.0
2.0
8.0
2.0


1.4.逻辑运算符

运算符

逻辑表达式

描述

and

x and y

布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。

or

x or y

布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值

not

not x

布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True

示例:
a = 5
b = 3

if(a and b):
    print("结果为True")
else:
    print("a和b有一个不为true")

if(a or b):
    print("a 或 b 有一个是true,结果为true")
else:
    print("a 和 b 都不为true,返回结果是false")
print("======================================================")
a = 0
if(a and b):
    print("结果为True")
else:
    print("a=0,返回结果为 False")


if (a or b):
    print("a=0,b!=0,结果为true")
else:
    print("a和b都是0,返回结果是false")


if(not(a and b)):
    print("a=0,a and b 返回的结果是false,not取反,返回结果是true")
else:
    print("a and b返回结果是true,最终返回结果是false")
 
 

结果:

结果为Truea 或 b 有一个是true,结果为true======================================================a=0,返回结果为 Falsea=0,b!=0,结果为truea=0,a and b 返回的结果是false,not取反,返回结果是true

1.5.成员运算符

运算符

描述

in

如果在指定的序列中找到值返回 True,否则返回 False。

not in

如果在指定的序列中没有找到值返回 True,否则返回 False。

示例:

a = 3
b = 10
list = [1,2,3,4,5,6]


if(a in list):
    print("a in list,return true")
else:
    print("a not in list,return false")


if(a not in list):
    print("List does not contain b,return true")
else:
    print("List contain b,return false")

结果:

a in list,return true
List contain b,return false


1.6.身份运算符

身份运算符用于比较两个对象的存储单元

运算符

描述

说明

is

is 是判断两个标识符是不是引用自一个对象

x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False

Is not

is not 是判断两个标识符是不是引用自不同对象

x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。

注: id() 函数用于获取对象内存地址。

示例:

a = 20
b = 20


if ( a is b ):
   print("1 - a 和 b 有相同的标识")
else:
   print("1 - a 和 b 没有相同的标识")


if ( a is not b ):
   print("2 - a 和 b 没有相同的标识")
else:
   print("2 - a 和 b 有相同的标识")


# 修改变量 b 的值
b = 30
if ( a is b ):
   print("3 - a 和 b 有相同的标识")
else:
   print("3 - a 和 b 没有相同的标识")


if ( a is not b ):
   print("4 - a 和 b 没有相同的标识")
else:
   print("4 - a 和 b 有相同的标识")

结果:

1 - a 和 b 有相同的标识
2 - a 和 b 有相同的标识
3 - a 和 b 没有相同的标识
4 - a 和 b 没有相同的标识


1.7.运算符优先等级


运算符

描述

**

指数 (最高优先级)

~ + -

按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)

* / % //

乘,除,取模和取整除

+ -

加法减法

>> <<

右移,左移运算符

&

'AND'

<= < > >=

比较运算符

== !=

等于运算符

= %= /= //= -= += *= **=

赋值运算符

is   is not

身份运算符

in   not in

成员运算符

not  or  and

逻辑运算符


二、字符串

2.1. 字符串方法

2.1.1. find()方法

find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。
 rfind() 返回字符串最后一次出现的位置,如果没有匹配项则返回-1

语法

str.find(str, beg=0, end=len(string))
str.rfind(str, beg=0 end=len(string))

参数

str -- 查找的字符串
beg -- 开始查找的位置,默认为0

end -- 结束查找位置,默认为字符串的长度。

返回值

find():如果包含子字符串返回开始的索引值,否则返回-1。
rfind():返回字符串最后一次出现的位置,如果没有匹配项则返回-1。

示例
str1 = "this is really a string example let is test is try again apple"
str2 = "is"

print (str1.rfind(str2))
print (str1.rfind(str2, 0, 10))
print (str1.rfind(str2, 10, 0))

print (str1.find(str2))
print (str1.find(str2, 0, 10))
print (str1.find(str2, 10, 0))

返回结果如下
44
5
-1
2
2
-1

2.1.2.replace()方法

replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次

语法:

str.replace(old, new[, max])

参数:

old -- 将被替换的子字符串。
new -- 新字符串,用于替换old子字符串。
max -- 可选字符串, 替换不超过 max 次

返回值:

返回字符串中的 old(旧字符串) 替换成 new(新字符串)后生成的新字符串,如果指定第三个参数max,则替换不超过 max 次

示例

str1 = "this is 3sss"
str2 = "6666"
print("replace character is",str1.replace("3sss",str2))


str3 = "aaa123kkkk123dddd123uuu123"
print(str3.replace("123","OK",3))

结果:

replace character is this is 6666
aaaOKkkkkOKddddOKuuu123

2.1.3.strip()、lstrip()、rstrip()

strip() 方法用于移除字符串头尾指定的字符(默认为空格)
lstrip() 方法用于截掉字符串左边的空格或指定字符。
rstrip() 删除 string 字符串末尾的指定字符(默认为空格).

语法:
str.strip([chars])
str.lstrip([chars])
str.rstrip([chars])

参数:

chars -- 指定截取的字符(默认为空格)

返回值:

strip()返回移除字符串头尾指定的字符生成的新字符串
lstrip() 返回截掉字符串左边的空格或指定字符后生成的新字符串
rstrip() 返回删除 string 字符串末尾的指定字符后生成的新字符串

示例:
str = "#####this is string example let us try it!!!#####"
print("删除字符串头尾指定的字符串:{0}".format(str.strip("#")))
print("删除字符串左侧指定的字符串:{0}".format(str.lstrip("#")))
print("删除字符串右侧指定的字符串:{0}".format(str.rstrip("#")))

结果:
删除字符串头尾指定的字符串:this is string example let us try it!!!
删除字符串左侧指定的字符串:this is string example let us try it!!!#####
删除字符串右侧指定的字符串:#####this is string example let us try it!!!

2.1.4.join()方法

 join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串

语法:

str.join(sequence)

参数:

sequence -- 要连接的元素序列

返回值:

返回通过指定字符连接序列中元素后生成的新字符串

示例:

str1 = "-"
str2 = ""
seq = ("j","i","o","n","t","e","s","t")
print(str1.join(seq))
print(str2.join(seq))

结果:

j-i-o-n-t-e-s-t
jiontest


2.1.5.split()方法

split()方法使用str作为分隔符(如果未指定则使用空格分割)在字符串返回所有单词的列表。可选 num 限制拆分数量。

语法

str.split(str="", num=string.count(str))

参数

str -- 这是分隔符,默认情况下使用空格
num -- 这是指定要作出的行数

返回值:

此方法返回行的列表

示例:

str1 = "testing is bester begin leter alter is come test bad"
print(str1.split())
print(str1.split("i"))
print(str1.split("t",3))

结果:

['testing', 'is', 'bester', 'begin', 'leter', 'alter', 'is', 'come', 'test', 'bad']
['test', 'ng ', 's bester beg', 'n leter alter ', 's come test bad']
['', 'es', 'ing is bes', 'er begin leter alter is come test bad']

2.1.6.format()方法

通过 {}按顺序设置字符串参数

语法:

“{0} {2}".format("str1","str2")

参数:

{0} 指定参数 str1

{1}指定参数str2

示例:

str1 = "hello"
str2 = "python"
print("{0} apple bnana {1}".format(str1,str2))

结果:

hello apple bnana python

2.1.7.分片查询

查询结果是 前开后闭,截取字符串中的一部分

示例:

 
 
str1="This is Python testing"
print(str1[1:8])       #打印字符串的第1字符到第7个字符
print(str1[5:])        #打印字符串的第5字符到最后一个字符
print(str1[6:-2])      #打印字符串的第6字符到倒数第二个字符结束
print(str1[::-1])      #转置

结果

his is 
is Python testing
s Python testi
gnitset nohtyP si sihT

2.1.8.三引号

引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符

如果字符串是一行 的话,三引号表示是注释

para_str = """这是一个多行字符串的实例
多行字符串可以使用制表符
TAB ( \t )。
也可以使用换行符 [ \n ]。
"""
print (para_str)

结果:

这是一个多行字符串的实例
多行字符串可以使用制表符
TAB ( )。
也可以使用换行符 [ 
 ]。

2.1.9.capitalize()函数

capitalize()将字符串的第一个字母变成大写,其他字母变小写

语法
str.capitalize()

参数

返回值
该方法返回一个首字母大写的字符串
示例

s1="this is BEST Good idea"
print(s1.capitalize())This is best good idea
结果
This is best good idea

2.1.10.center()函数

center() 方法返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格
语法
str.center(width[, fillchar])
参数
  • width -- 字符串的总宽度。
  • fillchar -- 填充字符

返回值
返回一个指定的宽度 width 居中的字符串,如果 width 小于字符串宽度直接返回字符串,否则使用 fillchar 去填充

示例

s2="hello python"
print(s2.center(40,"*"))
结果
**************hello python**************

2.1.11.count()函数

count() 方法用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置
语法
str.count(sub, start= 0,end=len(string))
参数
sub -- 搜索的子字符串
start -- 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0。
end -- 字符串中结束搜索的位置。字符中第一个字符的索引为 0。默认为字符串的最后一个位置。
返回值
该方法返回子字符串在字符串中出现的次数
示例
s1="hello pan xiang hehe test please xia guo ta ha la"
print(s1.count("i"))
print(s1.count("a",4,20))
结果
2
2

2.1.12.bytes.decode()和encode()函数

encode() 方法以指定的编码格式编码字符串。errors参数可以指定不同的错误处理方案。
decode() 方法以指定的编码格式解码 bytes 对象。默认编码为 'utf-8'。

语法
str.encode(encoding='UTF-8',errors='strict')
bytes.decode(encoding="utf-8", errors="strict")
参数
encoding -- 要使用的编码,如"UTF-8"。
errors -- 设置不同错误的处理方案。默认为 'strict',意为编码错误引起一个UnicodeError。 其他可能得值有 'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace' 以及通过 codecs.register_error() 注册的任何值。

返回值
该方法返回解码后的字符串。
示例
s1="欢迎来到Python世界"
s_uft8=s1.encode("utf-8")
s_gbk=s1.encode("GBK")
print(s1)
print("UTF-8编码:{0}".format(s_uft8))
print("GBK编码:{0}".format(s_gbk))
print("UTF-8解码:{0}".format(s_uft8.decode("utf-8","strict")))
print("GBK解码:{0}".format(s_gbk.decode("gbk","strict")))
返回值
欢迎来到Python世界
UTF-8编码:b'\xe6\xac\xa2\xe8\xbf\x8e\xe6\x9d\xa5\xe5\x88\xb0Python\xe4\xb8\x96\xe7\x95\x8c'
GBK编码:b'\xbb\xb6\xd3\xad\xc0\xb4\xb5\xbdPython\xca\xc0\xbd\xe7'
UTF-8解码:欢迎来到Python世界
GBK解码:欢迎来到Python世界

2.1.13.startswith()和endswith()函数

startswith() 方法用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查
endswith() 方法用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False。可选参数"start"与"end"为检索字符串的开始与结束位置
语法
str.startswith(str, beg=0,end=len(string));
str.endswith(suffix[, start[, end]])
参数
str -- 检测的字符串。
strbeg -- 可选参数用于设置字符串检测的起始位置。
strend -- 可选参数用于设置字符串检测的结束位置。
suffix -- 该参数可以是一个字符串或者是一个元素。
start -- 字符串中的开始位置。
end -- 字符中结束位置。
返回值
如果检测到字符串则返回True,否则返回False。
示例1
str = "this is string example test hello good"
print (str.startswith( 'this' ))
print (str.startswith( 'string', 8 ))
print (str.startswith( 'this', 2, 4 ))
结果1
True
True
False

示例2
s1="hello,python world!!!"
subffix="!!"
print(s1.endswith("!!"))
print(s1.endswith("he",0,1))
结果2
True
False

2.1.13.expandtabs()函数

expandtabs() 方法把字符串中的 tab 符号('\t')转为空格,tab 符号('\t')默认的空格数是 8。

语法

str.expandtabs(tabsize=8)
参数
tabsize -- 指定转换字符串中的 tab 符号('\t')转为空格的字符数
返回值
该方法返回字符串中的 tab 符号('\t')转为空格后生成的新字符串。
示例
s1="this is test\texpendtabs function test"
print(s1.expandtabs(tabsize=6))
结果
this is test      expendtabs function test

2.1.14.isalnum()函数

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

返回值
如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False
示例
s1="slkdllwlke52521wjje666"
s2="sldie#ksoe.com822d2(ksjd"
print("s1.isalnum()结果是:{0}".format(s1.isalnum()))
print("s2.isalnum()结果是:{0}".format(s2.isalnum()))
结果
s1.isalnum()结果是:True
s2.isalnum()结果是:False

2.1.15.isalpha()函数

isalpha() 方法检测字符串是否只由字母组成
语法
str.isalpha()
参数

返回值
如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False
示例
s1 = "lssoelskdlsdkow"
s2 = "sldie#ksoe.com822d2(ksjd"
print("s1.isalpha()结果是:{0}".format(s1.isalpha()))
print("s2.isalpha()结果是:{0}".format(s2.isalpha()))
结果
s1.isalpha()结果是:True
s2.isalpha()结果是:False

2.1.16.isdigit()函数

isdigit() 方法检测字符串是否只由数字组成
语法
str.isdigit()
参数

返回值
如果字符串只包含数字则返回 True 否则返回 False

示例:

s1 = "1234963822"
s2 = "sldie#ksoe.com822d2(ksjd"
print("s1.isdigit()结果是:{0}".format(s1.isdigit()))
print("s2.isdigit()结果是:{0}".format(s2.isdigit()))
结果
s1.isdigit()结果是:True
s2.isdigit()结果是:False

2.1.17.isnumeric()和isdecimal()函数

isnumeric() 方法检测字符串是否只由数字组成。这种方法是只针对unicode对象。
isdecimal() 方法检查字符串是否只包含十进制字符。这种方法只存在于unicode对象
注:定义一个字符串为Unicode,只需要在字符串前添加 'u' 前缀即可。
语法
str.isnumeric()
参数

返回值
如果字符串中只包含数字字符,则返回 True,否则返回 False
示例
s1 = "1252511"
s2 = "sldie#ksoe.com822d2(ksjd"
print("s1.isnumeric()结果是:{0}".format(s1.isnumeric()))
print("s2.isnumeric()结果是:{0}".format(s2.isnumeric()))
结果
s1.isnumeric()结果是:True
s2.isnumeric()结果是:False

s.isdigit、isdecimal 和 s.isnumeric 区别:

isdigit()
True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字
False: 汉字数字
Error: 无

isdecimal()
True: Unicode数字,全角数字(双字节)
False: 罗马数字,汉字数字
Error: byte数字(单字节)

isnumeric()
True: Unicode数字,全角数字(双字节),罗马数字,汉字数字
False: 无
Error: byte数字(单字节)

示例
num = "1"  #unicode
num.isdigit()   # True
num.isdecimal() # True
num.isnumeric() # True

num = "1" # 全角
num.isdigit()   # True
num.isdecimal() # True
num.isnumeric() # True

num = b"1" # byte
num.isdigit()   # True
num.isdecimal() # AttributeError 'bytes' object has no attribute 'isdecimal'
num.isnumeric() # AttributeError 'bytes' object has no attribute 'isnumeric'

num = "IV" # 罗马数字
num.isdigit()   # True
num.isdecimal() # False
num.isnumeric() # True

num = "四" # 汉字
num.isdigit()   # False
num.isdecimal() # False
num.isnumeric() # True

2.1.18.isupper()和islower()函数

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

语法
str.isupper()
str.islower()
参数

返回值
isupper() :如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False
islower():如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False
示例1
s1 = "THIS TEST PYTHON"
s2 = "Welcome to python world"
print("s1.isupper()结果是:{0}".format(s1.isupper()))
print("s2.isupper()结果是:{0}".format(s2.isupper()))
结果1
s1.isupper()结果是:True
s2.isupper()结果是:False

2.1.19.upper()、lower()、swapcase()函数

upper() 方法将字符串中的小写字母转为大写字母
lower() 方法转换字符串中所有大写字符为小写
swapcase() 方法用于对字符串的大小写字母进行转换
语法
str.upper()
str.lower()
str.swapcase()
参数

返回值
upper():返回小写字母转为大写字母的字符串。
lower(): 返回将字符串中所有大写字符转换为小写后生成的字符串
swapcase():返回大小写字母转换后生成的新字符串

示例
str = "THIS is STRING eXample test hello Good"
print("str全部转成大写:{0}".format(str.upper()))
print("str全部转成小写:{0}".format(str.lower()))
print("str大小写字母进行转换:{0}".format(str.swapcase()))
结果
str全部转成大写:THIS IS STRING EXAMPLE TEST HELLO GOOD
str全部转成小写:this is string example test hello good
str大小写字母进行转换:this IS string ExAMPLE TEST HELLO gOOD

2.1.20.isspace()函数

isspace() 方法检测字符串是否只由空白字符组成。
语法
str.isspace()
参数

返回值
如果字符串中只包含空格,则返回 True,否则返回 False.
示例
s1 = "              "
s2="hello world  !!"
print("s1.isspace():{0}".format(s1.isspace()))
print("s2.isspace():{0}".format(s2.isspace()))
结果
s1.isspace():True
s2.isspace():False

2.1.21.title()函数

title() 方法返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())
语法
str.title()
参数

返回值
返回"标题化"的字符串,就是说所有单词都是以大写开始。
示例
s1 = "this is python test result"
print("s1.title():{0}".format(s1.title()))
结果
s1.title():This Is Python Test Result

2.1.22.istitle()函数

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

返回值
如果字符串中所有的单词拼写首字母是否为大写,且其他字母为小写则返回 True,否则返回 False
示例
s1 = "This Is Python Test Result"
s2 = "hello the Python World"
print("s1.istitle():{0}".format(s1.istitle()))
print("s2.istitle():{0}".format(s2.istitle()))
结果
s1.istitle():True
s2.istitle():False

2.1.23.len()函数

len() 方法返回对象(字符、列表、元组等)长度或项目个数。
语法
len( s )
参数
s -- 对象。
返回值
返回对象长度
示例
s1 = "This Is Python Test Result"
print("s1字符串长度为:{0}".format(len(s1)))
结果
s1字符串长度为:26

2.1.24.ljust()、rjust()、zfill()函数

ljust() 方法返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。
rjust() 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串。
zfill() 方法返回指定长度的字符串,原字符串右对齐,前面填充0
语法
str.ljust(width[, fillchar])
str.rjust(width[, fillchar])
str.zfill(width)
参数
width -- 指定填充指定字符后中字符串的总长度.
fillchar -- 填充的字符,默认为空格。
返回值
ljust():  返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。
rjust() : 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串
zfull():返回指定长度的字符串
示例
s1="thisabigtest"
print("s1左对齐结果:{0}".format(s1.ljust(30,"*")))
print("s1右对齐结果:{0}".format(s1.rjust(30,"*")))
print("s1 zfill右对齐结果:{0}".format(s1.zfill(30)))
结果
s1左对齐结果:thisabigtest******************
s1右对齐结果:******************thisabigtest
s1 zfill右对齐结果:000000000000000000thisabigtest

2.1.25.maketrans()函数

maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
两个字符串的长度必须相同,为一一对应的关系。
注:Python3.4已经没有string.maketrans()了,取而代之的是内建函数: bytearray.maketrans()、bytes.maketrans()、str.maketrans()
语法

str.maketrans(intab, outtab)
参数
intab -- 字符串中要替代的字符组成的字符串。
outtab -- 相应的映射字符的字符串。
返回值
返回字符串转换后生成的新字符串。
示例
以下实例展示了使用maketrans() 方法将所有元音字母转换为指定的字符:
intab="aeiou"
outab="123$5"
trantab=str.maketrans(intab,outab)   # 制作翻译表
s1="this is our python test"
print(s1.translate(trantab))
结果
th3s 3s $5r pyth$n t2st

2.1.26.translate()函数

translate() 方法根据参数table给出的表(包含 256 个字符)转换字符串的字符,要过滤掉的字符放到 deletechars 参数中。
语法
str.translate(table)
bytes.translate(table[, delete])    
bytearray.translate(table[, delete]) 
参数
table -- 翻译表,翻译表是通过 maketrans() 方法转换而来。
deletechars -- 字符串中要过滤的字符列表。
返回值

返回翻译后的字符串,若给出了 delete 参数,则将原来的bytes中的属于delete的字符删除,剩下的字符要按照table中给出的映射来进行映射 。
示例
# 制作翻译表
bytes_tabtrans=bytes.maketrans(b'abcdefghijklmnopqrstuvwxyz', b'ABCDEFGHIJKLMNOPQRSTUVWXYZ')

# 转换为大写,并删除字母o
print(b'goooogle.com'.translate(bytes_tabtrans, b'o'))

结果
b'GGLE.CM'

2.1.27.max()和min()函数

max() 方法返回字符串中最大的字母。
min() 方法返回字符串中最小的字母。
语法

max(str)
min(str)
参数
str -- 字符串。
返回值
max():返回字符串中最大的字母
min():返回字符串中最小的字母
示例
s1 = "aeckdodksed"
print("最大字符: {0}".format(max(s1)))
print("最小字符: {0}".format(min(s1)))
结果
最大字符: s
最小字符: a

2.1.28.index()和rindex()函数

index() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。
rindex() 返回子字符串 str 在字符串中最后出现的位置,如果没有匹配的字符串会报异常,你可以指定可选参数[beg:end]设置查找的区间。
语法
str.index(str, beg=0, end=len(string))
str.rindex(str, beg=0 end=len(string))
参数
str -- 查找的字符串
beg -- 开始查找的位置,默认为0
end -- 结束查找位置,默认为字符串的长度。
返回值
index():如果包含子字符串返回开始的索引值,否则抛出异常。
rindex() : 返回子字符串 str 在字符串中最后出现的位置,如果没有匹配的字符串会报异常。
示例
str1 = "this is test example is a good idea"
str2 = "is";

print ("str1.index(str2):{0}".format(str1.index(str2)))
print ("str1.index(str2, 5):{0}".format(str1.index(str2, 5)))
print ("str1.index(str2, 10):{0}".format(str1.index(str2, 10)))
print ("str1.rindex(str2):{0}".format(str1.rindex(str2)))
print ("str1.rindex(str2,10):{0}".format(str1.rindex(str2,10)))
结果
str1.index(str2):2
str1.index(str2, 5):5
str1.index(str2, 10):21
str1.rindex(str2):21
str1.rindex(str2,10):21

2.1.29.splitlines()函数

splitlines() 按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。

语法
str.splitlines([keepends])
参数
keepends -- 在输出结果里是否去掉换行符('\r', '\r\n', \n'),默认为 False,不包含换行符,如果为 True,则保留换行符
返回值

返回一个包含各行作为元素的列表
示例
print('ab c\n\nde fg\rkl\r\n'.splitlines())
结果
['ab c', '', 'de fg', 'kl']


2.2. 转义字符

转义字符 描述
\(在行尾时) 续行符
\\ 反斜杠符号
\' 单引号
\" 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数,yy代表的字符,例如:\o12代表换行
\xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出

2.3. 字符串运算符

下表实例变量a值为字符串 "Hello",b变量值为 "Python":

操作符 描述 实例
+ 字符串连接 a + b 输出结果: HelloPython
* 重复输出字符串 a*2 输出结果:HelloHello
[] 通过索引获取字符串中字符 a[1] 输出结果 e
[ : ] 截取字符串中的一部分 a[1:4] 输出结果 ell
in 成员运算符 - 如果字符串中包含给定的字符返回 True 'H' in a 输出结果 1
not in 成员运算符 - 如果字符串中不包含给定的字符返回 True 'M' not in a 输出结果 1
r/R 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母 r(可以大小写)以外,与普通字符串有着几乎完全相同的语法。
print( r'\n' )
print( R'\n' )

2.4. 字符串格式化

Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。

print ("我叫 %s 今年 %d 岁!" % ('小明', 10))

结果
我叫 小明 今年 10 岁!

python字符串格式化符号:

    符   号 描述
      %c  格式化字符及其ASCII码
      %s  格式化字符串
      %d  格式化整数
      %u  格式化无符号整型
      %o  格式化无符号八进制数
      %x  格式化无符号十六进制数
      %X  格式化无符号十六进制数(大写)
      %f  格式化浮点数字,可指定小数点后的精度
      %e  用科学计数法格式化浮点数
      %E  作用同%e,用科学计数法格式化浮点数
      %g  %f和%e的简写
      %G  %f 和 %E 的简写
      %p  用十六进制数格式化变量的地址

格式化操作符辅助指令:

符号 功能
* 定义宽度或者小数点精度
- 用做左对齐
+ 在正数前面显示加号( + )
<sp> 在正数前面显示空格
# 在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')
0 显示的数字前面填充'0'而不是默认的空格
% '%%'输出一个单一的'%'
(var) 映射变量(字典参数)
m.n. m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)


三、列表 (list)常用方法

元素使用[]显示

3.1. append()方法

在列表末尾添加新的对象

语法:
list.append(obj)

参数:
obj -- 添加到列表末尾的对象

返回值:
该方法无返回值,但是会修改原来的列表。

示例:

list1 = ["good","time","world","beging"]
list1.append("let")
print(list1)

结果:
['good', 'time', 'world', 'beging', 'let']


3.2. pop()方法

 pop() 方法删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值

语法:

pop(key[,default])

参数:

key: 要删除的键值
default: 如果没有 key,返回 default 值

返回值:

返回被删除的值。

示例:

 
 
list1 = ["good","time","world","beging","apple"]
list1.pop()
print(list1)
list2 = ["good","time","world","beging","apple"]
list2.pop(2)
print(list2)

结果:

['good', 'time', 'world', 'beging']
['good', 'time', 'beging', 'apple']


3.3. index()方法

index() 函数用于从列表中找出某个值第一个匹配项的索引位置

语法:

list.index(obj)

参数:

obj -- 查找的对象。

返回值:

该方法返回查找对象的索引位置,如果没有找到对象则抛出异常

示例:

list1 = ["good","time","world","beging","apple"]
print("world index is",list1.index("world"))

结果:

world index is 2

3.4. remove()方法

remove() 函数用于移除列表中某个值的第一个匹配项

语法:

list.remove(obj)

参数:

obj -- 列表中要移除的对象

返回值:

该方法没有返回值,但是会移除两种中的某个值的第一个匹配项

示例:

list1 = ["good","time","world","beging","apple"]
list1.remove("beging")
print(list1)

结果:

['good', 'time', 'world', 'apple']


3.5. sort()方法

sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数

语法:

list.sort([func])

参数:

func -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。

返回值:

该方法没有返回值,但是会对列表的对象进行排序。

示例:

list1 = ["good","time","world","beging","apple"]
list1.sort()
print(list1)

结果:

['apple', 'beging', 'good', 'time', 'world']


3.6. reverse()方法

reverse() 函数用于反向列表中元素。

语法:

list.reverse()

返回值:

该方法没有返回值,但是会对列表的元素进行反向排序

示例:

list1 = ["good","time","world","beging","apple"]
list1.reverse()
print(list1)
结果:

['apple', 'beging', 'world', 'time', 'good']

3.7. insert()方法

insert() 函数用于将指定对象插入列表的指定位置。

语法:

list.insert(index, obj)

参数:

index -- 对象obj需要插入的索引位置。
obj -- 要插入列表中的对象。

返回值:

该方法没有返回值,但会在列表指定位置插入对象

示例:

list1 = ["good","time","world","beging","apple"]
list1.insert(3,"tos")
print(list1)

结果:

['good', 'time', 'world', 'tos', 'beging', 'apple']


四、元组 tuple

元素使用()显示,是特殊的列表,不能删除里面的元素

4.1.index()方法

按元素查找下标

示例:

list1 = ("good","time","world","beging","apple")
print(list1.index("world"))
结果

2

4.2.count()方法

统计元素个数

示例:统计3的个数

list1 = (1,3,2,4,3,6,9,3,2,7)
print(list1.count(3))
结果

3

猜你喜欢

转载自blog.csdn.net/biankm_gz/article/details/79750711