2.3、python数据类型的介绍

数据类型的介绍

 什么是数字类型:

 

数字类型的分类:

 Python3 中有六个标准的数据类型:

  • Number(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Set(集合)
  • Dictionary(字典)

Python3 的六个标准数据类型中:

  • 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
  • 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

 

 

字符串(Str) 

定义字符串是一个有序的字符的集合,用于存储和表示基本的文本信息,Python中的字符串用单引号 ' 或双引号 " 括起来来创建字符串,同时可以用反斜杠 \ 转义特殊字符。

name='egon'

#说明:在Python3中,所有的字符串都是Unicode字符串,Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。

 

取值:

索引值以 0 为开始值,-1 为从末尾的开始位置。

例1:
str = 'Runoob' print (str) # 输出字符串 Runoob print (str[0:-1]) # 输出第一个到倒数第二个的所有字符 Runoo print (str[0]) # 输出字符串第一个字符 R print (str[2:5]) # 输出从第三个开始到第五个的字符 noo print (str[2:]) # 输出从第三个开始的后的所有字符 noob print (str * 2) # 输出字符串两次 RunoobRunoob print (str + "TEST") # 连接字符串 RunoobTEST
例2: word
= 'Python' print(word[0], word[5]) # 结果 P n print(word[-1], word[-6]) # 结果 n P

补充:
Python 使用反斜杠(\)转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串:

print('Ru\noob')  
结果:
Ru
oob
print(r'Ru\noob')   #结果  Ru\noob

另外,反斜杠(\)可以作为续行符,表示下一行是上一行的延续。也可以使用 """...""" 或者 '''...''' 跨越多行。
注意,Python 没有单独的字符类型,一个字符就是长度为1的字符串。

 

字符串拼接:

  加号 + 是字符串的连接符, 星号 * 表示复制当前字符串,紧跟的数字为复制的次数。实例如下: 

 

字符串的格式化输出

Python的字符串格式化有两种方式: 百分号方式、format方式

百分号方式:

格式:
    %[(name)][flags][width].[precision]typecode  

参数:
    
(name)      可选,用于选择指定的key

flags          可选,可供选择的值有:

     +          右对齐;正数前加正好,负数前加负号
      -          左对齐;正数前无符号,负数前加负号;
     空格      右对齐;正数前加空格,负数前加负号;
     0          右对齐;正数前无符号,负数前加负号;用0填充空白处

width         可选,占有宽度

precision   可选,小数点后保留的位数

typecode  必选,可供选择的值有:

   s,获取传入对象的__str__方法的返回值,并将其格式化到指定位置

    r,获取传入对象的__repr__方法的返回值,并将其格式化到指定位置

    c,整数:将数字转换成其unicode对应的值,10进制范围为 0 <= i <= 1114111(py27则只支持0-255);字符:将字符添加到指定位置

    o,将整数转换成 八  进制表示,并将其格式化到指定位置

    x,将整数转换成十六进制表示,并将其格式化到指定位置

    d,将整数、浮点数转换成 十 进制表示,并将其格式化到指定位置

    e,将整数、浮点数转换成科学计数法,并将其格式化到指定位置(小写e)

    E,将整数、浮点数转换成科学计数法,并将其格式化到指定位置(大写E)

    f, 将整数、浮点数转换成浮点数表示,并将其格式化到指定位置(默认保留小数点后6位)

    F,同上

    g,自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是e;)

    G,自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是E;)

    %,当字符串中存在格式化标志时,需要用 %%表示一个百分号

注:Python中百分号格式化是不存在自动将整数转换成二进制表示的方式


常用格式化:
tpl = "i am %s" % "alex"
 
tpl = "i am %s age %d" % ("alex", 18)
 
tpl = "i am %(name)s age %(age)d" % {"name": "alex", "age": 18}
 
tpl = "percent %.2f" % 99.97623
 
tpl = "i am %(pp).2f" % {"pp": 123.425556, }
 
tpl = "i am %.2f %%" % {"pp": 123.425556, }
View Code

format方式:

语法:
    [[fill]align][sign][#][0][width][,][.precision][type]


参数:

fill           【可选】空白处填充的字符

align       【可选】对齐方式(需配合width使用)

    <,内容左对齐

    >,内容右对齐(默认)

    =,内容右对齐,将符号放置在填充字符的左侧,且只对数字类型有效。 即使:符号+填充物+数字

    ^,内容居中


sign       【可选】有无符号数字

     +,正号加正,负号加负;

     -,正号不变,负号加负;

    空格 ,正号空格,负号加负;

#           【可选】对于二进制、八进制、十六进制,如果加上#,会显示 0b/0o/0x,否则不显示

,          【可选】为数字添加分隔符,如:1,000,000

width      【可选】格式化位所占宽度

.precision 【可选】小数位保留精度

type         【可选】格式化类型

    传入” 字符串类型 “的参数

        s,格式化字符串类型数据

        空白,未指定类型,则默认是None,同s

    传入“ 整数类型 ”的参数

        b,将10进制整数自动转换成2进制表示然后格式化

        c,将10进制整数自动转换为其对应的unicode字符

        d,十进制整数

        o,将10进制整数自动转换成8进制表示然后格式化;

        x,将10进制整数自动转换成16进制表示然后格式化(小写x)

        X,将10进制整数自动转换成16进制表示然后格式化(大写X)

    传入“ 浮点型或小数类型 ”的参数

        e, 转换为科学计数法(小写e)表示,然后格式化;

        E, 转换为科学计数法(大写E)表示,然后格式化;

        f , 转换为浮点型(默认小数点后保留6位)表示,然后格式化;

        F, 转换为浮点型(默认小数点后保留6位)表示,然后格式化;

        g, 自动在e和f中切换

        G, 自动在E和F中切换

        %,显示百分比(默认显示小数点后6位)

常用格式化:

tpl = "i am {}, age {}, {}".format("seven", 18, 'alex')
  
tpl = "i am {}, age {}, {}".format(*["seven", 18, 'alex'])
  
tpl = "i am {0}, age {1}, really {0}".format("seven", 18)
  
tpl = "i am {0}, age {1}, really {0}".format(*["seven", 18])
  
tpl = "i am {name}, age {age}, really {name}".format(name="seven", age=18)
  
tpl = "i am {name}, age {age}, really {name}".format(**{"name": "seven", "age": 18})
  
tpl = "i am {0[0]}, age {0[1]}, really {0[2]}".format([1, 2, 3], [11, 22, 33])
  
tpl = "i am {:s}, age {:d}, money {:f}".format("seven", 18, 88888.1)
  
tpl = "i am {:s}, age {:d}".format(*["seven", 18])
  
tpl = "i am {name:s}, age {age:d}".format(name="seven", age=18)
  
tpl = "i am {name:s}, age {age:d}".format(**{"name": "seven", "age": 18})
 
tpl = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%}".format(15, 15, 15, 15, 15, 15.87623, 2)
 
tpl = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%}".format(15, 15, 15, 15, 15, 15.87623, 2)
 
tpl = "numbers: {0:b},{0:o},{0:d},{0:x},{0:X}, {0:%}".format(15)
 
tpl = "numbers: {num:b},{num:o},{num:d},{num:x},{num:X}, {num:%}".format(num=15)



            
View Code

 

字符串的运算符:

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

 

#!/usr/bin/python3
 
a = "Hello"
b = "Python"
 
print("a + b 输出结果:", a + b)
print("a * 2 输出结果:", a * 2)
print("a[1] 输出结果:", a[1])
print("a[1:4] 输出结果:", a[1:4])
 
if( "H" in a) :
    print("H 在变量 a 中")
else :
    print("H 不在变量 a 中")
 
if( "M" not in a) :
    print("M 不在变量 a 中")
else :
    print("M 在变量 a 中")
 
print (r'\n')
print (R'\n')

结果:
a + b 输出结果: HelloPython
a * 2 输出结果: HelloHello
a[1] 输出结果: e
a[1:4] 输出结果: ell
H 在变量 a 中
M 不在变量 a 中
\n
\n
View Code 

 

python的字符串内建函数:

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

语法:
    str.capitalize()

参数:
    无

实例:
    
#!/usr/bin/python3

str = "this is string example from runoob....wow!!!"

print ("str.capitalize() : ", str.capitalize())

结果:
    str.capitalize() :  This is string example from runoob....wow!!!
语法

2、center(width, fillchar):方法返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。

语法:
    str.center(width[, fillchar])

参数:
    width -- 字符串的总宽度。
    fillchar -- 填充字符。

实列
#!/usr/bin/python3

str = "[www.runoob.com]"

print ("str.center(40, '*') : ", str.center(40, '*'))

结果:
    str.center(40, '*') :  ************[www.runoob.com]************
语法

3、count(str, beg= 0,end=len(string)):用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。

语法:    
    str.count(sub, start= 0,end=len(string))

参数:
    sub -- 搜索的子字符串
    start -- 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0。
    end -- 字符串中结束搜索的位置。字符中第一个字符的索引为 0。默认为字符串的最后一个位置。

实例:
 str="www.runoob.com"
sub='o'
print ("str.count('o') : ", str.count(sub))

sub='run'
print ("str.count('run', 0, 10) : ", str.count(sub,0,10))

打印结果:
str.count('o') :  3
str.count('run', 0, 10) :  1  
语法

4、bytes.decode(encoding="utf-8", errors="strict"):指定的编码格式解码 bytes 对象。默认编码为 'utf-8'。

语法:
    bytes.decode(encoding="utf-8", errors="strict")

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

实列:
 str = "菜鸟教程";
str_utf8 = str.encode("UTF-8")
str_gbk = str.encode("GBK")
 
print(str)
 
print("UTF-8 编码:", str_utf8)
print("GBK 编码:", str_gbk)
 
print("UTF-8 解码:", str_utf8.decode('UTF-8','strict'))
print("GBK 解码:", str_gbk.decode('GBK','strict'))

打印结果:
菜鸟教程
UTF-8 编码: b'\xe8\x8f\x9c\xe9\xb8\x9f\xe6\x95\x99\xe7\xa8\x8b'
GBK 编码: b'\xb2\xcb\xc4\xf1\xbd\xcc\xb3\xcc'
UTF-8 解码: 菜鸟教程
GBK 解码: 菜鸟教程
语法

5、encode(): 方法以指定的编码格式编码字符串。errors参数可以指定不同的错误处理方案。

语法:
    str.encode(encoding='UTF-8',errors='strict')

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

实例
#!/usr/bin/python3
 
str = "菜鸟教程";
str_utf8 = str.encode("UTF-8")
str_gbk = str.encode("GBK")
 
print(str)
 
print("UTF-8 编码:", str_utf8)
print("GBK 编码:", str_gbk)
 
print("UTF-8 解码:", str_utf8.decode('UTF-8','strict'))
print("GBK 解码:", str_gbk.decode('GBK','strict'))

结果:
菜鸟教程
UTF-8 编码: b'\xe8\x8f\x9c\xe9\xb8\x9f\xe6\x95\x99\xe7\xa8\x8b'
GBK 编码: b'\xb2\xcb\xc4\xf1\xbd\xcc\xb3\xcc'
UTF-8 解码: 菜鸟教程
GBK 解码: 菜鸟教程
语法

6、endswith(): 方法用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回 True,否则返回 False。可选参数 "start" 与 "end" 为检索字符串的开始与结束位置。

语法:
str.endswith(suffix[, start[, end]])

参数
suffix -- 该参数可以是一个字符串或者是一个元素。
start -- 字符串中的开始位置。
end -- 字符中结束位置。

实例
#!/usr/bin/python3
 
Str='Runoob example....wow!!!'
suffix='!!'
print (Str.endswith(suffix))
print (Str.endswith(suffix,20))
suffix='run'
print (Str.endswith(suffix))
print (Str.endswith(suffix, 0, 19))

结果
True
True
False
False
语法

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

语法:
str.expandtabs(tabsize=8)

参数:
tabsize -- 指定转换字符串中的 tab 符号('\t')转为空格的字符数。

实列:
#!/usr/bin/python3
 
str = "this is\tstring example....wow!!!"
 
print ("原始字符串: " + str)
print ("替换 \\t 符号: " +  str.expandtabs())
print ("使用16个空格替换 \\t 符号: " +  str.expandtabs(16))

结果:
原始字符串: this is     string example....wow!!!
替换 \t 符号: this is string example....wow!!!
使用16个空格替换 \t 符号: this is         string example....wow!!!
View Code

8、find(str, beg=0, end=len(string)) :方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果指定范围内如果包含指定索引值,返回的是索引值在字符串中的起始位置。如果不包含索引值,返回-1。

语法:
str.find(str, beg=0, end=len(string))


参数:
str -- 指定检索的字符串
beg -- 开始索引,默认为0。
end -- 结束索引,默认为字符串的长度。

实列:
#!/usr/bin/python3
 
str1 = "Runoob example....wow!!!"
str2 = "exam";
 
print (str1.find(str2))
print (str1.find(str2, 5))
print (str1.find(str2, 10))


结果:
7
7
-1
View Code

9、index(): 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。

语法:
str.index(str, beg=0, end=len(string))

参数:
str -- 指定检索的字符串
beg -- 开始索引,默认为0。
end -- 结束索引,默认为字符串的长度。

实列:
#!/usr/bin/python3

str1 = "Runoob example....wow!!!"
str2 = "exam";

print (str1.index(str2))
print (str1.index(str2, 5))
print (str1.index(str2, 10))

结果:

7
7
Traceback (most recent call last):
  File "test.py", line 8, in <module>
    print (str1.index(str2, 10))
ValueError: substring not found
语法

10、isalnum() 如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False

语法:
str.isalnum()

参数:
无。

实列:
#!/usr/bin/python3
 
str = "runoob2016"  # 字符串没有空格
print (str.isalnum())
 
str = "www.runoob.com"
print (str.isalnum())

结果:
True
False
语法

11、isalpha() 如果字符串至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False

语法:
str.isalpha()

参数:
无。

实列:
#!/usr/bin/python3

str = "runoob"
print (str.isalpha())

str = "Runoob example....wow!!!"
print (str.isalpha())

结果:
True
False
语法

12、isdigit() 如果字符串只包含数字则返回 True 否则返回 False..

语法:
str.isdigit()

参数:
无。

实列:
#!/usr/bin/python3

str = "123456"; 
print (str.isdigit())

str = "Runoob example....wow!!!"
print (str.isdigit())

结果:
True
False
语法

13、islower():如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False

islower() 方法检测字符串是否由小写字母组成。

语法:
str.islower()

参数:
无

实列:
#!/usr/bin/python3

str = "RUNOOB example....wow!!!"
print (str.islower())

str = "runoob example....wow!!!"
print (str.islower())

结果:
False
True
语法

14、isnumeric():如果字符串中只包含数字字符,则返回 True,否则返回 False

isnumeric() 方法检测字符串是否只由数字组成。这种方法是只针对unicode对象。
注:定义一个字符串为Unicode,只需要在字符串前添加 'u' 前缀即可

语法
str.isnumeric()

参数
无。

实例
#!/usr/bin/python3

str = "runoob2016"  
print (str.isnumeric())

str = "23443434"
print (str.isnumeric())

结果:
False
True
语法

15、isspace():如果字符串中只包含空白,则返回 True,否则返回 False

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

语法:
str.isspace()

参数
无。

实例
#!/usr/bin/python3
 
str = "       " 
print (str.isspace())
 
str = "Runoob example....wow!!!"
print (str.isspace())

结果:
True
False
语法

16、istitle():如果字符串是标题化的(见 title())则返回 True,否则返回 False

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

语法
str.istitle()

参数
无。

实例
#!/usr/bin/python3
 
str = "This Is String Example...Wow!!!"
print (str.istitle())
 
str = "This is string example....wow!!!"
print (str.istitle())

结果
True
False
语法

17、isupper():如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False

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

语法
str.isupper()

参数
无。

实例
#!/usr/bin/python3

str = "THIS IS STRING EXAMPLE....WOW!!!"
print (str.isupper())

str = "THIS is string example....wow!!!"
print (str.isupper())

结果:
True
False
语法

18、join(seq):以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串

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

语法:
str.join(sequence)

参数:
sequence -- 要连接的元素序列。

实例:
s1 = "-"
s2 = ""
seq = ("r", "u", "n", "o", "o", "b") # 字符串序列
print (s1.join( seq ))
print (s2.join( seq ))

结果:
r-u-n-o-o-b
runoob
语法

19、len(string):返回字符串长度

Python len() 方法返回对象(字符、列表、元组等)长度或项目个数。

语法
len( s )

参数
s -- 对象。

实例
>>>str = "runoob"
>>> len(str)             # 字符串长度
6
>>> l = [1,2,3,4,5]
>>> len(l)               # 列表元素个数
5
语法

20、ljust(width[, fillchar]):返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。

ljust() 方法返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。

语法
str.ljust(width[, fillchar])

参数
width -- 指定字符串长度。
fillchar -- 填充字符,默认为空格。

 实例
str = "Runoob example....wow!!!"

print (str.ljust(50, '*'))

结果:
Runoob example....wow!!!**************************
语法

21、ower();转换字符串中所有大写字符为小写.

Python lower() 方法转换字符串中所有大写字符为小写。

语法
str.lower()

参数
无。

实例
#!/usr/bin/python3

str = "Runoob EXAMPLE....WOW!!!"

print( str.lower() )

结果:
runoob example....wow!!!
语法

22、lstrip():截掉字符串左边的空格或指定字符。

lstrip() 方法用于截掉字符串左边的空格或指定字符。

语法
str.lstrip([chars])

参数
chars --指定截取的字符。

实例
str = "     this is string example....wow!!!     ";
print( str.lstrip() );
str = "88888888this is string example....wow!!!8888888";
print( str.lstrip('8') );

结果:
this is string example....wow!!!     
this is string example....wow!!!8888888
语法

23、maketrans():创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。

maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。

两个字符串的长度必须相同,为一一对应的关系。

注:Python3.4 已经没有 string.maketrans() 了,取而代之的是内建函数: bytearray.maketrans()、bytes.maketrans()、str.maketrans() 。

语法
str.maketrans(intab, outtab)


参数
intab -- 字符串中要替代的字符组成的字符串。
outtab -- 相应的映射字符的字符串

实例
intab = "aeiou"
outtab = "12345"
trantab = str.maketrans(intab, outtab)

str = "this is string example....wow!!!"
print (str.translate(trantab))

结果:
th3s 3s str3ng 2x1mpl2....w4w!!!
语法

24、max(str):返回字符串 str 中最大的字母。

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

语法
max(str)

参数
str -- 字符串。

实例
str = "runoob"
print ("最大字符: " + max(str))

结果:
最大字符: u
语法

25、min(str):返回字符串 str 中最小的字母。

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

语法
min(str)


参数
str -- 字符串。

实例
str = "runoob";
print ("最小字符: " + min(str));

结果:
最小字符: b
语法

26、replace(old, new [, max]):把 将字符串中的 str1 替换成 str2,如果 max 指定,则替换不超过 max 次。

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

语法:
str.replace(old, new[, max])


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

实例
str = "www.w3cschool.cc"
print ("菜鸟教程旧地址:", str)
print ("菜鸟教程新地址:", str.replace("w3cschool.cc", "runoob.com"))
 
str = "this is string example....wow!!!"
print (str.replace("is", "was", 3))


结果:
菜鸟教程旧地址: www.w3cschool.cc
菜鸟教程新地址: www.runoob.com
thwas was string example....wow!!!
语法

27、rfind(str, beg=0,end=len(string)):类似于 find()函数,不过是从右边开始查找.

Python rfind() 返回字符串最后一次出现的位置,如果没有匹配项则返回-1。

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


参数
str -- 查找的字符串
beg -- 开始查找的位置,默认为0
end -- 结束查找位置,默认为字符串的长度。

实例
str1 = "this is really a string example....wow!!!"
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))

结果:
5
5
-1
2
2
-1
语法

28、rindex( str, beg=0, end=len(string)):类似于 index(),不过是从右边开始.

rindex() 返回子字符串 str 在字符串中最后出现的位置,如果没有匹配的字符串会报异常,你可以指定可选参数[beg:end]设置查找的区间。

语法
str.rindex(str, beg=0 end=len(string))


参数
str -- 查找的字符串
beg -- 开始查找的位置,默认为0
end -- 结束查找位置,默认为字符串的长度。

实例

str1 = "this is really a string example....wow!!!"
str2 = "is"

print (str1.rindex(str2))
print (str1.rindex(str2,10))

5
Traceback (most recent call last):
  File "test.py", line 6, in <module>
    print (str1.rindex(str2,10))
ValueError: substring not found
语法

29、rjust(width,[, fillchar]): 返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串

rjust() 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串。

语法
str.rjust(width[, fillchar])

参数
width -- 指定填充指定字符后中字符串的总长度.
fillchar -- 填充的字符,默认为空格。

实例
str = "this is string example....wow!!!"
print (str.rjust(50, '*'))

结果:
******************this is string example....wow!!!
语法

30、rstrip() :删除字符串字符串末尾的空格.

rstrip() 删除 string 字符串末尾的指定字符(默认为空格).

语法
str.rstrip([chars])

参数
chars -- 指定删除的字符(默认为空格)

实例
str = "     this is string example....wow!!!     "
print (str.rstrip())
str = "*****this is string example....wow!!!*****"
print (str.rstrip('*'))

结果:
     this is string example....wow!!!
*****this is string example....wow!!!
语法

31、split(str="", num=string.count(str)):num=string.count(str)) 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num+1 个子字符串

split()通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则仅分隔 num+1 个子字符串

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

参数
str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num -- 分割次数。默认为 -1, 即分隔所有。

实例
str = "this is string example....wow!!!"
print (str.split( ))       # 以空格为分隔符
print (str.split('i',1))   # 以 i 为分隔符
print (str.split('w'))     # 以 w 为分隔符

结果:
['this', 'is', 'string', 'example....wow!!!']
['th', 's is string example....wow!!!']
['this is string example....', 'o', '!!!']

以下实例以 # 号为分隔符,指定第二个参数为 1,返回两个参数列表。
txt = "Google#Runoob#Taobao#Facebook"
 
# 第二个参数为 1,返回两个参数列表
x = txt.split("#", 1)
 
print(x)

结果:
['Google', 'Runoob#Taobao#Facebook']
语法

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

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

语法:
str.splitlines([keepends])

参数
keepends -- 在输出结果里是否去掉换行符('\r', '\r\n', \n'),默认为 False,不包含换行符,如果为 True,则保留换行符。

实例
>>> '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']
语法

33、startswith(substr, beg=0,end=len(string)):检查字符串是否是以指定子字符串 substr 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查

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

语法:
str.startswith(substr, beg=0,end=len(string));


参数
str -- 检测的字符串。
substr -- 指定的子字符串。
strbeg -- 可选参数用于设置字符串检测的起始位置。
strend -- 可选参数用于设置字符串检测的结束位置。

实例:
str = "this is string example....wow!!!"
print (str.startswith( 'this' ))   # 字符串是否以 this 开头
print (str.startswith( 'string', 8 ))  # 从第八个字符开始的字符串是否以 string 开头
print (str.startswith( 'this', 2, 4 )) # 从第2个字符开始到第四个字符结束的字符串是否以 this 开头

True
True
False
语法

34、strip([chars]):在字符串上执行 lstrip()和 rstrip()

Python strip() 方法用于移除字符串头尾指定的字符(默认为空格)或字符序列。

注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。

语法:
str.strip([chars]);

参数
chars -- 移除字符串头尾指定的字符序列。

实例
str = "*****this is **string** example....wow!!!*****"
print (str.strip( '*' ))  # 指定字符串 *

结果:
this is **string** example....wow!!!

以上下例演示了只要头尾包含有指定字符序列中的字符就删除:
str = "123abcrunoob321"
print (str.strip( '12' ))  # 字符序列为 12

结果:
3abcrunoob3
语法

35、swapcase():将字符串中大写转换为小写,小写转换为大写

swapcase() 方法用于对字符串的大小写字母进行转换。

语法
str.swapcase();


参数
NA。

实例
str = "this is string example....wow!!!"
print (str.swapcase())

str = "This Is String Example....WOW!!!"
print (str.swapcase())

结果:
THIS IS STRING EXAMPLE....WOW!!!
tHIS iS sTRING eXAMPLE....wow!!!
语法

36、title():返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())

Python title() 方法返回"标题化"的字符串,就是说所有单词的首个字母转化为大写,其余字母均为小写(见 istitle())。

语法:
str.title();


参数
NA。

实例
str = "this is string example from runoob....wow!!!"
print (str.title())

结果:
This Is String Example From Runoob....Wow!!!

非字母后的第一个字母将转换为大写字母:
txt = "hello b2b2b2 and 3g3g3g"
x = txt.title()
print(x)

结果:
Hello B2B2B2 And 3G3G3G
语法

37、translate(table, deletechars=""):根据 str 给出的表(包含 256 个字符)转换 string 的字符, 要过滤掉的字符放到 deletechars 参数中

translate() 方法根据参数table给出的表(包含 256 个字符)转换字符串的字符,要过滤掉的字符放到 deletechars 参数中。

语法:
str.translate(table)
bytes.translate(table[, delete])    
bytearray.translate(table[, delete]) 

参数
table -- 翻译表,翻译表是通过 maketrans() 方法转换而来。
deletechars -- 字符串中要过滤的字符列表。

实例
intab = "aeiou"
outtab = "12345"
trantab = str.maketrans(intab, outtab)   # 制作翻译表
 
str = "this is string example....wow!!!"
print (str.translate(trantab))

结果:
th3s 3s str3ng 2x1mpl2....w4w!!!
语法

38、upper():转换字符串中的小写字母为大写

Python upper() 方法将字符串中的小写字母转为大写字母。

语法:
str.upper()

参数
NA。

实例
str = "this is string example from runoob....wow!!!";

print ("str.upper() : ", str.upper())

结果:
str.upper() :  THIS IS STRING EXAMPLE FROM RUNOOB....WOW!!!
语法

39、zfill (width):返回长度为 width 的字符串,原字符串右对齐,前面填充0

Python zfill() 方法返回指定长度的字符串,原字符串右对齐,前面填充0。

语法
str.zfill(width)

参数
width -- 指定字符串的长度。原字符串右对齐,前面填充0

实例
str = "this is string example from runoob....wow!!!"
print ("str.zfill : ",str.zfill(40))
print ("str.zfill : ",str.zfill(50))

结果:
str.zfill :  this is string example from runoob....wow!!!
str.zfill :  000000this is string example from runoob....wow!!!
语法

40、isdecimal():检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false。

isdecimal() 方法检查字符串是否只包含十进制字符。这种方法只存在于unicode对象。

注意:定义一个十进制字符串,只需要在字符串前添加 'u' 前缀即可。

语法:
str.isdecimal()

参数
无

实例
str = "runoob2016"
print (str.isdecimal())

str = "23443434"
print (str.isdecimal())

结果:
False
True
语法

补充:

isprintable() 判断所有字符是否都可被打印

test = "ab\nc"
    v = test.isprintable()
    print(v)
    False
语法

 translate()和maketrans() 创建字符间映射关系

test1 = "alknv,zxcvl;kajwpijklansnzxc,vnlk;wejrqoin"
    test2 = test1.maketrans("aeiounlk;,","12345789 _")
    v = test1.translate(test2)
    print(v)
    1897v_zxcv8 91jwp3j9817s7zxc_v789 w2jrq437
语法 

partition() 将字符串从左侧匹配并切割为三部分

test = "asdfasdfasdf"
    v = test.partition("s")
    print(v)
    ('a', 's', 'dfasdfasdf')
语法

rpartition() 将字符串从右侧开始匹配并切割为三部分

test = "asdfasdfasdf"
    v = test.rpartition("s")
    print(v)
    ('asdfasdfa', 's', 'df')
语法

isidentifier() 判断是否为标识符(字母、数字、下划线)

test1 = "abc_123"
test2 = "a b c*123"
v1 = test1.isidentifier()
v2 = test2.isidentifier()
print(v1,v2)

True False
语法

更多方法参考:https://www.runoob.com/python3/python3-string.html

 

 

数字(Number)

Python 数字数据类型用于存储数值,不允许改变。Python3 支持 int、float、bool、complex(复数)

内置的 type() 函数可以用来查询变量所指的对象类型。

a, b, c, d = 20, 5.5, True, 4+3j
print(type(a), type(b), type(c), type(d))
<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>

 

int(整型)

通常被称为是整型或整数,是正或负整数,不带小数点。Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。在64位系统上,整数的位数为64位,取值范围为-263~263-1,即-9223372036854775808~9223372036854775807

 

浮点型(float) 

 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)

 

复数( (complex))

复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。

 

Python 数字类型转换

  • int(x) 将x转换为一个整数。

  • float(x) 将x转换到一个浮点数。

  • complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0。

  • complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式。

 

Python 数字类型运算

python支持 +, -, * 和 /,

列子:
>>> 2 + 2
4
>>> 50 - 5*6
20
>>> (50 - 5*6) / 4
5.0
>>> 8 / 5  # 总是返回一个浮点数
1.6

在整数除法中,除法 / 总是返回一个浮点数,如果只想得到整数的结果,丢弃可能的分数部分,可以使用运算符 //>>> 17 / 3  # 整数除法返回浮点型
5.666666666666667
>>>
>>> 17 // 3  # 整数除法返回向下取整后的结果
5
>>> 17 % 3  # %操作符返回除法的余数
2
>>> 5 * 3 + 2 
17

// 得到的并不一定是整数类型的数,它与分母分子的数据类型有关系。
>>> 7//2
3
>>> 7.0//2
3.0
>>> 7//2.0
3.0
 

等号 = 用于给变量赋值。赋值之后,除了下一个提示符,解释器不会显示任何结果。
>>> width = 20
>>> height = 5*9
>>> width * height
900

Python 可以使用 ** 操作来进行幂运算:
>>> 5 ** 2  # 5 的平方
25
>>> 2 ** 7  # 2的7次方
128


不同类型的数混合运算时会将整数转换为浮点数:

>>> 3 * 3.75 / 1.5
7.5
>>> 7.0 / 2
3.5

 

Python 数字类型的数学函数:详情

abs(x):返回数字的绝对值,如abs(-10) 返回 10

语法: abs( x )

参数: x -- 数值表达式,可以是整数,浮点数,复数。

返回值: 函数返回 x(数字)的绝对值,如果参数是一个复数,则返回它的大小。

列子:

print ("abs(-40) : ", abs(-40))  #  结果:abs(-40) :  40

print ("abs(100.10) : ", abs(100.10))  #结果:abs(100.10) :  100.1
View Code

ceil(x):返回数字的上入整数,如math.ceil(4.1) 返回 5

语法:
import math
math.ceil( x )

注意:
ceil()是不能直接访问的,需要导入 math 模块,通过静态对象调用该方法。

参数:
x -- 数值表达式。

返回值:
函数返回返回一个大于或等于 x 的的最小整数。

列子:
#!/usr/bin/python3
import math   # 导入 math 模块

print ("math.ceil(-45.17) : ", math.ceil(-45.17))  
print ("math.ceil(100.12) : ", math.ceil(100.12))   
print ("math.ceil(100.72) : ", math.ceil(100.72))  
print ("math.ceil(math.pi) : ", math.ceil(math.pi)) 

结果 #
math.ceil(-45.17) :  -45
math.ceil(100.12) :  101
math.ceil(100.72) :  101
math.ceil(math.pi) :  4
View Code

cmp(x, y):如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。 Python 3 已废弃,使用 (x>y)-(x<y) 替换。 

exp(x): 返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045    

语法:
以下是 exp() 方法的语法:
import math
math.exp( x )

注意:
exp()是不能直接访问的,需要导入 math 模块,通过静态对象调用该方法。

参数:
x -- 数值表达式。

返回值
返回x的指数,ex。

实例:
import math   # 导入 math 模块

print ("math.exp(-45.17) : ", math.exp(-45.17))
print ("math.exp(100.12) : ", math.exp(100.12))
print ("math.exp(100.72) : ", math.exp(100.72))
print ("math.exp(math.pi) : ", math.exp(math.pi))

结果:
math.exp(-45.17) :  2.4150062132629406e-20
math.exp(100.12) :  3.0308436140742566e+43
math.exp(100.72) :  5.522557130248187e+43
math.exp(math.pi) :  23.140692632779267
View Code

fabs(x) :    返回数字的绝对值,如math.fabs(-10) 返回10.0

floor(x) :   返回数字的下舍整数,如math.floor(4.9)返回 4

log(x):如math.log(math.e)返回1.0,math.log(100,10)返回2.0

log10(x): 返回以10为基数的x的对数,如math.log10(100)返回 2.0

max(x1, x2,...):返回给定参数的最大值,参数可以为序列。  

min(x1, x2,...) : 返回给定参数的最小值,参数可以为序列。   

modf(x): 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。   

pow(x, y) :x**y 运算后的值。

round(x [,n]) : 返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。

sqrt(x):返回数字x的平方根。

 

 Python 数字类型的随机函数:详情

 

Python 数字类型的三角函数:详情

 

 

Python 数字类型的数学常量:详情

  

 

列表(List 

定义:中括号 [] 括起来,用“,”分割每个元素,列表中可以存储任何类型,如:数字、字符串、布尔值、列表… 。列表的存储是不连续的。

列表特性:

列表的取值:  

1、切片取值

li=[1,2,"a","b"]
print(li[:3]) #[1, 2, 'a']

2、索引取值

li=[1,2,"a","b"]
print(li[1]) #2

3、for循环取值

li=[1,2,"a","b"]
for i in li:
    print(i) #依次打印li内元素

4、Python 列表截取可以接收第三个参数,参数作用是截取的步长,以下实例在索引 1 到索引 4 的位置并设置为步长为 2(间隔一个位置)来截取字符串:

 

列表的修改:

通过索引修改

li=[1,2,"a","b"]
li[2]="Hello"
print(li) #[1, 2, 'Hello', 'b']

通过切片修改

li=[1,2,"a","b"]
li[::2]=['c','d']
print(li) #['c', 2, 'd', 'b']

 

in、not in操作

判断内容存不存在列表内,返回布尔值,只能判断当前列表的选项,列表选项的子选项内容不能判断

li=[1,2,"a","b"]
print('a' in li) #True
print(3 in li) #False

 

列表与字符串的转换

 

列表的函数

len(list):返回列表元素个数

len() 方法返回列表元素个数。

语法:
    len(list)

参数:
     list -- 要计算元素个数的列表。

实列:
#!/usr/bin/python3

list1 = ['Google', 'Runoob', 'Taobao']
print (len(list1))
list2=list(range(5)) # 创建一个 0-4 的列表
print (len(list2))
View Code

max() 方法返回列表元素中的最大值。

max() 方法返回列表元素中的最大值。

语法:
    max(list)

参数
list -- 要返回最大值的列表。

实例
 list1, list2 = ['Google', 'Runoob', 'Taobao'], [456, 700, 200]

print ("list1 最大元素值 : ", max(list1))
print ("list2 最大元素值 : ", max(list2))


结果:
list1 最大元素值 :  Taobao
list2 最大元素值 :  700
View Code

min() 方法返回列表元素中的最小值。

min() 方法返回列表元素中的最小值。

语法
min(list)

参数
list -- 要返回最小值的列表。

实例
list1, list2 = ['Google', 'Runoob', 'Taobao'], [456, 700, 200]

print ("list1 最小元素值 : ", min(list1))
print ("list2 最小元素值 : ", min(list2))

结果:
list1 最小元素值 :  Google
list2 最小元素值 :  200
View Code

list() 方法用于将元组或字符串转换为列表。

list() 方法用于将元组或字符串转换为列表。
    注:元组与列表是非常类似的,区别在于元组的元素值不能修改,元组是放在括号中,列表是放于方括号中

语法
    list( seq )

参数
seq -- 要转换为列表的元组或字符串。

实例
aTuple = (123, 'Google', 'Runoob', 'Taobao')
list1 = list(aTuple)
print ("列表元素 : ", list1)

str="Hello World"
list2=list(str)
print ("列表元素 : ", list2)

结果:
列表元素 :  [123, 'Google', 'Runoob', 'Taobao']
列表元素 :  ['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
View Code

 

列表的方法

list.append(obj):在列表末尾添加新的对象

append() 方法用于在列表末尾添加新的对象。

语法:
    list.append(obj)

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

实例
#!/usr/bin/python3

list1 = ['Google', 'Runoob', 'Taobao']
list1.append('Baidu')
print ("更新后的列表 : ", list1)

结果:
更新后的列表 :  ['Google', 'Runoob', 'Taobao', 'Baidu']
View Code

list.count(obj):统计某个元素在列表中出现的次数

count() 方法用于统计某个元素在列表中出现的次数。

语法:
list.count(obj)

参数
obj -- 列表中统计的对象。

实例
aList = [123, 'Google', 'Runoob', 'Taobao', 123];

print ("123 元素个数 : ", aList.count(123))
print ("Runoob 元素个数 : ", aList.count('Runoob'))

123 元素个数 :  2
Runoob 元素个数 :  1
View Code

list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)

extend() 函数用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)。

语法
    list.extend(seq)

参数
seq -- 元素列表,可以是列表、元组、集合、字典,若为字典,则仅会将键(key)作为元素依次添加至原列表的末尾。

实例
list1 = ['Google', 'Runoob', 'Taobao']
list2=list(range(5)) # 创建 0-4 的列表
list1.extend(list2)  # 扩展列表
print ("扩展后的列表:", list1)


结果:
扩展后的列表: ['Google', 'Runoob', 'Taobao', 0, 1, 2, 3, 4]


不同数据类型

# 语言列表
language = ['French', 'English', 'German']
 
# 元组
language_tuple = ('Spanish', 'Portuguese')
 
# 集合
language_set = {'Chinese', 'Japanese'}
 
# 添加元组元素到列表末尾
language.extend(language_tuple)
 
print('新列表: ', language)
 
# 添加集合元素到列表末尾
language.extend(language_set)
 
print('新列表: ', language)


新列表:  ['French', 'English', 'German', 'Spanish', 'Portuguese']
新列表:  ['French', 'English', 'German', 'Spanish', 'Portuguese', 'Japanese', 'Chinese']
View Code

list.index(obj):从列表中找出某个值第一个匹配项的索引位置

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

语法
    list.index(x[, start[, end]])

参数
    x-- 查找的对象。
    start-- 可选,查找的起始位置。
    end-- 可选,查找的结束位置。
 
实例:
list1 = ['Google', 'Runoob', 'Taobao']
print ('Runoob 索引值为', list1.index('Runoob'))
print ('Taobao 索引值为', list1.index('Taobao'))


语法:
Runoob 索引值为 1
Taobao 索引值为 2


实列2:
list1 = ['Google', 'Runoob', 'Taobao', 'Facebook', 'QQ']
# 从指定位置开始搜索
print ('Runoob 索引值为', list1.index('Runoob',1))

Runoob 索引值为 1
View Code

list.insert(index, obj):将对象插入列表

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

语法
    list.insert(index, obj)

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


实例
list1 = ['Google', 'Runoob', 'Taobao']
list1.insert(1, 'Baidu')
print ('列表插入元素后为 : ', list1)


结果:
列表插入元素后为 :  ['Google', 'Baidu', 'Runoob', 'Taobao']
View Code

list.pop([index=-1]):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。

语法
    list.pop([index=-1])

参数
    index -- 可选参数,要移除列表元素的索引值,不能超过列表总长度,默认为 index=-1,删除最后一个列表值。


实例

list1 = ['Google', 'Runoob', 'Taobao']
list1.pop()
print ("列表现在为 : ", list1)
list1.pop(1)
print ("列表现在为 : ", list1)


结果:
列表现在为 :  ['Google', 'Runoob']
列表现在为 :  ['Google']
View Code

list.remove(obj):移除列表中某个值的第一个匹配项

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

语法
list.remove(obj)

参数
obj -- 列表中要移除的对象。

实例
list1 = ['Google', 'Runoob', 'Taobao', 'Baidu']
list1.remove('Taobao')
print ("列表现在为 : ", list1)
list1.remove('Baidu')
print ("列表现在为 : ", list1)

列表现在为 :  ['Google', 'Runoob', 'Baidu']
列表现在为 :  ['Google', 'Runoob']
View Code

list.reverse():反向列表中元素

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

语法
list.reverse()

参数
NA。

实例
list1 = ['Google', 'Runoob', 'Taobao', 'Baidu']
list1.reverse()
print ("列表反转后: ", list1)

结果:
列表反转后:  ['Baidu', 'Taobao', 'Runoob', 'Google']
View Code

list.sort( key=None, reverse=False):对原列表进行排序

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

语法
    list.sort( key=None, reverse=False)

参数
    key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
    reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。

实例
aList = ['Google', 'Runoob', 'Taobao', 'Facebook']
 
aList.sort()
print ( "List : ", aList)

结果:
List :  ['Facebook', 'Google', 'Runoob', 'Taobao']


实列2:

# 列表
vowels = ['e', 'a', 'u', 'o', 'i']
 
# 降序
vowels.sort(reverse=True)
 
# 输出结果
print ( '降序输出:', vowels )

结果:
降序输出: ['u', 'o', 'i', 'e', 'a']
View Code

list.clear():清空列表

clear() 函数用于清空列表,类似于 del a[:]。

语法:
    list.clear()


参数:
    无

实列:
list1 = ['Google', 'Runoob', 'Taobao', 'Baidu']
list1.clear()
print ("列表清空后 : ", list1)

结果:
列表清空后 :  []
View Code

list.copy():复制列表

copy() 函数用于复制列表,类似于 a[:]。

语法
    list.copy()

参数
    无。

实例

list1 = ['Google', 'Runoob', 'Taobao', 'Baidu']
list2 = list1.copy()
print ("list2 列表: ", list2)

结果:
    list2 列表:  ['Google', 'Runoob', 'Taobao', 'Baidu']
View Code

补充:

 

Python列表脚本操作符

列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。

 

Python列表截取与拼接及嵌套

Python的列表截取与字符串操作类型,如下所示: L=['Google', 'Runoob', 'Taobao']

>>>L=['Google', 'Runoob', 'Taobao']
>>> L[2]
'Taobao'
>>> L[-2]
'Runoob'
>>> L[1:]
['Runoob', 'Taobao']

拼接操作:
>>>squares = [1, 4, 9, 16, 25]
>>> squares += [36, 49, 64, 81, 100]
>>> squares
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

使用嵌套列表即在列表里创建其它列表

>>>a = ['a', 'b', 'c']
>>> n = [1, 2, 3]
>>> x = [a, n]
>>> x
[['a', 'b', 'c'], [1, 2, 3]]
>>> x[0]
['a', 'b', 'c']
>>> x[0][1]
'b'
View Code

 

 

元祖(Tuple) 

 定义:元组,其实是对列表的二次加工,是有序的,元组写在小括号 () 里,元素之间用逗号隔开,第一元素不能被修改、增加、删除。

# 元组,其实是对列表的二次加工,元素不可被修改,不能被增加或者删除
# 一般写元组的时候,推荐在最后加一个逗号

li = [11,22,33,44]    # 列表

tu = (111,222,333,444,)  #元祖 

tup3 = "a", "b", "c", "d"; # 不需要括号也可以
type(tup3)   #结果:<class 'tuple'>

注意:
元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用
>>>tup1 = (50)
>>> type(tup1)     # 不加逗号,类型为整型
<class 'int'>
 
>>> tup1 = (50,)
>>> type(tup1)     # 加上逗号,类型为元组
<class 'tuple'>
元祖的创建

作用:存多个值,对比列表来说,元组不可变(是可以当做字典的key的),主要是用来读

特性:1.可存放多个值  2.不可变  3.按照从左到右的顺序定义元组元素,下标从0开始顺序访问,有序

元组元素的查看

 

元组与列表、字符串的转换

元祖的运算

与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。

 

元组的魔法(方法)

 

join拼接

extend

 

 

补充:

max(tuple)返回元组中元素最大值

>>> tuple2 = ('5', '4', '8')
>>> max(tuple2)
'8'
View Code

min(tuple)返回元组中元素最小值

>>> tuple2 = ('5', '4', '8')
>>> min(tuple2)
'4'
View Code

 

 

字典(Dict) 

 创建:字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,基本格式:由键值对组成,一个key对应一个value值{ }

d ={key1:value1,key2:value2}

说明:

  key:列表、字典不能作为key,一般是唯一的

  value:任何值都可以作为value,可以重复,但键不行,键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行

  如果一个字典中出现了相同的key值,则后面出现的会覆盖前面出现的

  布尔值的True与False分别会与数字1和0混淆,也会出现覆盖现象,但此种覆盖是前面代替后面的

 

字典的查找

for循环查找

字典的操作

 

字典的内置函数

 

字典的内置方法:

 clear():删除字典内所有元素

Python 字典 clear() 函数用于删除字典内所有元素。

语法:
    dict.clear()


参数:
    NA。


实列:
dict = {'Name': 'Zara', 'Age': 7}

print ("字典长度 : %d" %  len(dict))
dict.clear()
print ("字典删除后长度 : %d" %  len(dict))

结果:
字典长度 : 2
字典删除后长度 : 0
语法

copy():返回一个字典的浅复制

Python 字典 copy() 函数返回一个字典的浅复制。

语法:
    dict.copy()


参数
    NA。


实例
dict1 = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
 
dict2 = dict1.copy()
print ("新复制的字典为 : ",dict2)

新复制的字典为 :  {'Age': 7, 'Name': 'Runoob', 'Class': 'First'}

直接赋值和 copy 的区别
dict1 =  {'user':'runoob','num':[1,2,3]}
 
dict2 = dict1          # 浅拷贝: 引用对象
dict3 = dict1.copy()   # 浅拷贝:深拷贝父对象(一级目录),子对象(二级目录)不拷贝,还是引用
 
# 修改 data 数据
dict1['user']='root'
dict1['num'].remove(1)
 
# 输出结果
print(dict1)  # {'user': 'root', 'num': [2, 3]}
print(dict2)  #  {'user': 'root', 'num': [2, 3]}
print(dict3)  # {'user': 'runoob', 'num': [2, 3]}

实例中 dict2 其实是 dict1 的引用(别名),所以输出结果都是一致的,dict3 父对象进行了深拷贝,不会随dict1 修改而修改,子对象是浅拷贝所以随 dict1 的修改而修改。
语法

Python 直接赋值、浅拷贝和深度拷贝解析

fromkeys():创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值

Python 字典 fromkeys() 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。

语法:
    dict.fromkeys(seq[, value])

参数:
    seq -- 字典键值列表。
    value -- 可选参数, 设置键序列(seq)对应的值,默认为 None。

实例:
seq = ('name', 'age', 'sex')
 
dict = dict.fromkeys(seq)
print ("新的字典为 : %s" %  str(dict))
 
dict = dict.fromkeys(seq, 10)
print ("新的字典为 : %s" %  str(dict))

结果:
新的字典为 : {'age': None, 'name': None, 'sex': None}
新的字典为 : {'age': 10, 'name': 10, 'sex': 10}

不指定值:
x = ('key1', 'key2', 'key3')
 
thisdict = dict.fromkeys(x)
 
print(thisdict)  # {'key1': None, 'key2': None, 'key3': None}
语法

get(key, default=None):返回指定键的值,如果值不在字典中返回default值

Python 字典 get() 函数返回指定键的值,如果值不在字典中返回默认值。

语法:
    dict.get(key, default=None)

参数:
    key -- 字典中要查找的键。
    default -- 如果指定键的值不存在时,返回该默认值值。

实例:
dict = {'Name': 'Runoob', 'Age': 27}

print ("Age 值为 : %s" %  dict.get('Age'))
print ("Sex 值为 : %s" %  dict.get('Sex', "NA"))

结果:
Age 值为 : 27
Sex 值为 : NA
语法

key in dict  如果键在字典dict里返回true,否则返回false

Python 字典 in 操作符用于判断键是否存在于字典中,如果键在字典 dict 里返回 true,否则返回 false。而 not in 操作符刚好相反,如果键在字典 dict 里返回 false,否则返回true。

语法:
    key in dict


参数:
    key -- 要在字典中查找的键。

实例:

dict = {'Name': 'Runoob', 'Age': 7}
 
# 检测键 Age 是否存在
if  'Age' in dict:
    print("键 Age 存在")
else :
    print("键 Age 不存在")
 
# 检测键 Sex 是否存在
if  'Sex' in dict:
    print("键 Sex 存在")
else :
    print("键 Sex 不存在")
 
 
# not in
 
# 检测键 Age 是否存在
if  'Age' not in dict:
    print("键 Age 不存在")
else :
    print("键 Age 存在")

结果:
键 Age 存在
键 Sex 不存在
键 Age 存在
View Code

items(): 以列表返回可遍历的(键, 值) 元组数组

Python 字典 items() 方法以列表返回可遍历的(键, 值) 元组数组。


语法:
  dict.items()
      

参数:
    NA。

实列:

dict = {'Name': 'Runoob', 'Age': 7}
 
print ("Value : %s" %  dict.items())

结果:
Value : dict_items([('Age', 7), ('Name', 'Runoob')])
语法

keys():返回一个迭代器,可以使用 list() 来转换为列表

Python3 字典 keys() 方法返回一个可迭代对象,可以使用 list() 来转换为列表。

语法:
    dict.keys()

参数
        NA。

实例:
>>> dict = {'Name': 'Runoob', 'Age': 7}
>>> dict.keys()
dict_keys(['Name', 'Age'])
>>> list(dict.keys())             # 转换为列表
['Name', 'Age']
>>> 

结果:
字典所有的键为 : dict_keys(['Age', 'Name'])
语法

setdefault(key, default=None): 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default

Python 字典 setdefault() 方法和 get()方法 类似, 如果键不已经存在于字典中,将会添加键并将值设为默认值。


语法:
    dict.setdefault(key, default=None)
        
参数:
    key -- 查找的键值。
    default -- 键不存在时,设置的默认键值。

实列:
dict = {'Name': 'Runoob', 'Age': 7}
 
print ("Age 键的值为 : %s" %  dict.setdefault('Age', None))
print ("Sex 键的值为 : %s" %  dict.setdefault('Sex', None))
print ("新字典为:", dict)


结果:
Age 键的值为 : 7
Sex 键的值为 : None
新字典为: {'Age': 7, 'Name': 'Runoob', 'Sex': None}
语法

update(dict2):把字典dict2的键/值对更新到dict里

Python 字典 update() 函数把字典参数 dict2 的 key/value(键/值) 对更新到字典 dict 里。


语法:
    dict.update(dict2)

参数:
    dict2 -- 添加到指定字典dict里的字典。


实列:
    
dict = {'Name': 'Runoob', 'Age': 7}
dict2 = {'Sex': 'female' }
 
dict.update(dict2)
print ("更新字典 dict : ", dict)

结果:
更新字典 dict :  {'Name': 'Runoob', 'Age': 7, 'Sex': 'female'}
语法

values():返回一个迭代器,可以使用 list() 来转换为列表

Python 字典 values() 方法返回一个迭代器,可以使用 list() 来转换为列表,列表为字典中的所有值。


语法:
dict.values()

参数
    NA。

实例

dict = {'Sex': 'female', 'Age': 7, 'Name': 'Zara'}
 
print ("字典所有值为 : ",  list(dict.values()))

结果:
字典所有值为 :  ['female', 7, 'Zara']
语法

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

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

语法:
    pop(key[,default])

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

实例:
 >>> site= {'name': '菜鸟教程', 'alexa': 10000, 'url': 'www.runoob.com'}
>>> pop_obj=site.pop('name')
>>> print(pop_obj)
菜鸟教程
语法

popitem() : 随机返回并删除字典中的一对键和值(一般删除末尾对)

Python 字典 popitem() 方法随机返回并删除字典中的一对键和值(一般删除末尾对)。如果字典已经为空,却调用了此方法,就报出KeyError异常。

语法:
    popitem()


参数:无


实列:
site= {'name': '菜鸟教程', 'alexa': 10000, 'url': 'www.runoob.com'}
pop_obj=site.popitem()
print(pop_obj)   
print(site)


结果:

('url', 'www.runoob.com')
{'name': '菜鸟教程', 'alexa': 10000}
语法

 

集合(Set)

 

 

集合(set):是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。基本功能是进行成员关系测试和删除重复元素。使用大括号 { } 或者 set() 函数创建集合

  注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

创建格式:

格式:parame = {value01,value02,...}  或者:set(value)

例子:
>>>basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
>>> print(basket) # 这里演示的是去重功能
{'orange', 'banana', 'pear', 'apple'}
>>> 'orange' in basket # 快速判断元素是否在集合内
True
>>> 'crabgrass' in basket False >>> # 下面展示两个集合间的运算. ...
>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a {'a', 'r', 'b', 'c', 'd'}
>>> a - b # 集合a中包含而集合b中不包含的元素 {'r', 'd', 'b'}
>>> a | b # 集合a或b中包含的所有元素 {'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
>>> a & b # 集合a和b中都包含了的元素 {'a', 'c'}
>>> a ^ b # 不同时包含于a和b的元素 {'r', 'd', 'b', 'm', 'z', 'l'}


 

python集合内置方法

add():为集合添加元素

add() 方法用于给集合添加元素,如果添加的元素在集合中已存在,则不执行任何操作。

语法
    set.add(elmnt)

参数
    elmnt -- 必需,要添加的元素。


实例
fruits = {"apple", "banana", "cherry"}
fruits.add("orange") 
print(fruits)

结果:
{'apple', 'banana', 'orange', 'cherry'}


fruits = {"apple", "banana", "cherry"}
fruits.add("apple")
print(fruits)

结果:
{'apple', 'banana', 'cherry'}
View Code

clear():移除集合中的所有元素

clear() 方法用于移除集合中的所有元素。

语法:
    set.clear()
    

参数:

无。


实例:

fruits = {"apple", "banana", "cherry"}
fruits.clear()
print(fruits)


结果:
set()
View Code

copy():拷贝一个集合

copy() 方法用于拷贝一个集合。

语法
set.copy()

参数
无。

实例
fruits = {"apple", "banana", "cherry"}
x = fruits.copy()
print(x)

结果:
{'cherry', 'banana', 'apple'}
View Code

difference():返回多个集合的差集

difference() 方法用于返回集合的差集,即返回的集合元素包含在第一个集合中,但不包含在第二个集合(方法的参数)中。


语法
set.difference(set)

参数
set -- 必需,用于计算差集的集合

实例
x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}
 
z = x.difference(y) 
 
print(z)


结果:
{'cherry', 'banana'}
View Code

difference_update():移除集合中的元素,该元素在指定的集合也存在。

difference_update() 方法用于移除两个集合中都存在的元素。
difference_update() 方法与 difference() 方法的区别在于 difference() 方法返回一个移除相同元素的新集合,而 difference_update() 方法是直接在原来的集合中移除元素,没有返回值。

语法
set.difference_update(set)


参数;
set -- 必需,用于计算差集的集合


实例
x = {"apple", "banana", "cherry"}
y = {"google", "microsoft", "apple"}
 
x.difference_update(y) 
 
print(x)


结果:
{'cherry', 'banana'}
View Code

discard():删除集合中指定的元素

discard() 方法用于移除指定的集合元素。
该方法不同于 remove() 方法,因为 remove() 方法在移除一个不存在的元素时会发生错误,而 discard() 方法不会

语法
set.discard(value)


参数:
value -- 必需,要移除的元素


实例:
fruits = {"apple", "banana", "cherry"}
 
fruits.discard("banana") 
 
print(fruits)


结果:
{'cherry', 'apple'}
View Code

intersection():返回集合的交集

intersection() 方法用于返回两个或更多集合中都包含的元素,即交集。

语法
set.intersection(set1, set2 ... etc)

参数:
set1 -- 必需,要查找相同元素的集合
set2 -- 可选,其他要查找相同元素的集合,可以多个,多个使用逗号 , 隔开


实例
x = {"apple", "banana", "cherry"}
y = {"google", "runoob", "apple"}
 
z = x.intersection(y) 
 
print(z)

结果:
{'apple'}


计算多个集合的并集:

x = {"a", "b", "c"}
y = {"c", "d", "e"}
z = {"f", "g", "c"}
 
result = x.intersection(y, z)
 
print(result)

结果:

{'c'}
View Code

intersection_update():返回集合的交集。

intersection_update() 方法用于获取两个或更多集合中都重叠的元素,即计算交集。

intersection_update() 方法不同于 intersection() 方法,因为 intersection() 方法是返回一个新的集合,而 intersection_update() 方法是在原始的集合上移除不重叠的元素。

语法
set.intersection_update(set1, set2 ... etc)


参数
set1 -- 必需,要查找相同元素的集合
set2 -- 可选,其他要查找相同元素的集合,可以多个,多个使用逗号 , 隔开

实例
x = {"apple", "banana", "cherry"}
y = {"google", "runoob", "apple"}
 
x.intersection_update(y) 
 
print(x)

结果:
{'apple'}


计算多个集合的并集:

x = {"a", "b", "c"}
y = {"c", "d", "e"}
z = {"f", "g", "c"}
 
x.intersection_update(y, z)
 
print(x)

{'c'}
View Code

isdisjoint():判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。

isdisjoint() 方法用于判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。。


语法:
set.isdisjoint(set)

参数:
set -- 必需,要比较的集合

实例
x = {"apple", "banana", "cherry"}
y = {"google", "runoob", "facebook"}
 
z = x.isdisjoint(y) 
 
print(z)

结果:
True

实例:
x = {"apple", "banana", "cherry"}
y = {"google", "runoob", "apple"}
 
z = x.isdisjoint(y) 
 
print(z)


结果:
False
View Code

issubset():判断指定集合是否为该方法参数集合的子集

issubset() 方法用于判断集合的所有元素是否都包含在指定集合中,如果是则返回 True,否则返回 False。

语法:
set.issubset(set)


参数:
set -- 必需,要比查找的集合


实例
判断集合 x 的所有元素是否都包含在集合 y 中:

x = {"a", "b", "c"}
y = {"f", "e", "d", "c", "b", "a"}
 
z = x.issubset(y) 
 
print(z)


结果:
True


如果没有全部包含返回 False:

x = {"a", "b", "c"}
y = {"f", "e", "d", "c", "b"}
 
z = x.issubset(y) 
 
print(z)


结果:
False
View Code

issuperset():判断该方法的参数集合是否为指定集合的子集

issuperset() 方法用于判断指定集合的所有元素是否都包含在原始的集合中,如果是则返回 True,否则返回 False。

语法
set.issuperset(set)

参数
set -- 必需,要比查找的集合

实例
x = {"f", "e", "d", "c", "b", "a"}
y = {"a", "b", "c"}
 
z = x.issuperset(y) 
 
print(z)

结果:
True

如果没有全部包含返回 False:

x = {"f", "e", "d", "c", "b"}
y = {"a", "b", "c"}
 
z = x.issuperset(y) 
 
print(z)

结果:
False
View Code

pop():随机移除元素

pop() 方法用于随机移除一个元素。

语法:
set.pop()

参数
无

实例
fruits = {"apple", "banana", "cherry"}
 
fruits.pop() 
 
print(fruits)

结果:
{'apple', 'banana'}


输出返回值:

fruits = {"apple", "banana", "cherry"}
 
x = fruits.pop() 
 
print(x)

结果:
banana
View Code

remove():移除指定元素

remove() 方法用于移除集合中的指定元素。

该方法不同于 discard() 方法,因为 remove() 方法在移除一个不存在的元素时会发生错误,而 discard() 方法不会。

语法:
set.remove(item)


参数:
item -- 要移除的元素

实例
fruits = {"apple", "banana", "cherry"}
 
fruits.remove("banana") 
 
print(fruits)

结果:
{'cherry', 'apple'}
View Code

symmetric_difference():返回两个集合中不重复的元素集合

symmetric_difference() 方法返回两个集合中不重复的元素集合,即会移除两个集合中都存在的元素。

语法:
set.symmetric_difference(set)


参数
set -- 集合


实例
返回两个集合组成的新集合,但会移除两个集合的重复元素:

x = {"apple", "banana", "cherry"}
y = {"google", "runoob", "apple"}
 
z = x.symmetric_difference(y) 
 
print(z)

结果:
{'google', 'cherry', 'banana', 'runoob'}
View Code

symmetric_difference_update():移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。

symmetric_difference_update() 方法移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。

语法
set.symmetric_difference_update(set)


参数
set -- 要检测的集合

实例
x = {"apple", "banana", "cherry"}
y = {"google", "runoob", "apple"}
 
x.symmetric_difference_update(y) 
 
print(x)

结果:
{'google', 'cherry', 'banana', 'runoob'}
View Code

union():返回两个集合的并集

union() 方法返回两个集合的并集,即包含了所有集合的元素,重复的元素只会出现一次。

语法
set.union(set1, set2...)


参数
set1 -- 必需,合并的目标集合
set2 -- 可选,其他要合并的集合,可以多个,多个使用逗号 , 隔开。


实例
x = {"apple", "banana", "cherry"}
y = {"google", "runoob", "apple"}
 
z = x.union(y) 
 
print(z)

结果:
{'cherry', 'runoob', 'google', 'banana', 'apple'}


合并多个集合:
x = {"a", "b", "c"}
y = {"f", "d", "a"}
z = {"c", "d", "e"}
 
result = x.union(y, z) 
 
print(result)

结果:
{'c', 'd', 'f', 'e', 'b', 'a'}
View Code

update():给集合添加元素

update() 方法用于修改当前集合,可以添加新的元素或集合到当前集合中,如果添加的元素在集合中已存在,则该元素只会出现一次,重复的会忽略。


语法:
set.update(set)

参数:
set -- 必需,可以是元素或集合

实例
合并两个集合,重复元素只会出现一次:

x = {"apple", "banana", "cherry"}
y = {"google", "runoob", "apple"}
 
x.update(y) 
 
print(x)


结果:
{'banana', 'apple', 'google', 'runoob', 'cherry'}
View Code

 

 

Python数据类型的转换

int(x [,base]):将x转换为一个整数

int() 函数用于将一个字符串或数字转换为整型。


语法:
    class int(x, base=10)

参数:
    x -- 字符串或数字。
    base -- 进制数,默认十进制。

实例
 >>>int()               # 不传入参数时,得到结果0
0
>>> int(3)
3
>>> int(3.6)
3
>>> int('12',16)        # 如果是带参数base的话,12要以字符串的形式进行输入,12 为 16进制
18
>>> int('0xa',16)  
10  
>>> int('10',8)  
8
View Code

float(x):将x转换到一个浮点数

float() 函数用于将整数和字符串转换成浮点数。

语法:
    class float([x])

参数:
    x -- 整数或字符串

实例:
>>>float(1)
1.0
>>> float(112)
112.0
>>> float(-123.6)
-123.6
>>> float('123')     # 字符串
123.0
View Code

complex(real [,imag]):创建一个复数

complex() 函数用于创建一个值为 real + imag * j 的复数或者转化一个字符串或数为复数。如果第一个参数为字符串,则不需要指定第二个参数。。


语法:
class complex([real[, imag]])

参数:
real -- int, long, float或字符串;
imag -- int, long, float;

实例
>>>complex(1, 2)
(1 + 2j)
 
>>> complex(1)    # 数字
(1 + 0j)
 
>>> complex("1")  # 当做字符串处理
(1 + 0j)
 
# 注意:这个地方在"+"号两边不能有空格,也就是不能写成"1 + 2j",应该是"1+2j",否则会报错
>>> complex("1+2j")
(1 + 2j)
View Code

str(x):将对象 x 转换为字符串

str() 函数将对象转化为适于人阅读的形式。

语法:
 
    class str(object='')


参数
object -- 对象。

实例
>>>s = 'RUNOOB'
>>> str(s)
'RUNOOB'
>>> dict = {'runoob': 'runoob.com', 'google': 'google.com'};
>>> str(dict)
"{'google': 'google.com', 'runoob': 'runoob.com'}"
>>>
View Code

repr(x):将对象 x 转换为表达式字符串

repr() 函数将对象转化为供解释器读取的形式。

语法
repr(object)

参数
object -- 对象。

实例
>>>s = 'RUNOOB'
>>> repr(s)
"'RUNOOB'"
>>> dict = {'runoob': 'runoob.com', 'google': 'google.com'};
>>> repr(dict)
"{'google': 'google.com', 'runoob': 'runoob.com'}"
View Code

eval(str):用来计算在字符串中的有效Python表达式,并返回一个对象

eval() 函数用来执行一个字符串表达式,并返回表达式的值。

语法
eval(expression[, globals[, locals]])


参数
expression -- 表达式。
globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。


实例
>>>x = 7
>>> eval( '3 * x' )
21
>>> eval('pow(2,2)')
4
>>> eval('2 + 2')
4
>>> n=81
>>> eval("n + 4")
85
View Code

tuple(s):将序列 s 转换为一个元组

tuple 函数将列表转换为元组。

语法
tuple( seq )

参数
seq -- 要转换为元组的序列。

实例
>>>list1= ['Google', 'Taobao', 'Runoob', 'Baidu']
>>> tuple1=tuple(list1)
>>> tuple1
('Google', 'Taobao', 'Runoob', 'Baidu')
View Code

list(s):将序列 s 转换为一个列表

list() 方法用于将元组或字符串转换为列表。

注:元组与列表是非常类似的,区别在于元组的元素值不能修改,元组是放在括号中,列表是放于方括号中

语法:
list( seq )


参数
seq -- 要转换为列表的元组或字符串。


实例
aTuple = (123, 'Google', 'Runoob', 'Taobao')
list1 = list(aTuple)
print ("列表元素 : ", list1)

str="Hello World"
list2=list(str)
print ("列表元素 : ", list2)

结果:
列表元素 :  [123, 'Google', 'Runoob', 'Taobao']
列表元素 :  ['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
View Code

set(s):转换为可变集合

set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。

语法
class set([iterable])


参数说明:

iterable -- 可迭代对象对象

实例
>>>x = set('runoob')
>>> y = set('google')
>>> x, y
(set(['b', 'r', 'u', 'o', 'n']), set(['e', 'o', 'g', 'l']))   # 重复的被删除
>>> x & y         # 交集
set(['o'])
>>> x | y         # 并集
set(['b', 'e', 'g', 'l', 'o', 'n', 'r', 'u'])
>>> x - y         # 差集
set(['r', 'b', 'u', 'n'])
View Code

dict(d):创建一个字典。d 必须是一个 (key, value)元组序列。

dict() 函数用于创建一个字典。

语法
class dict(**kwarg)
class dict(mapping, **kwarg)
class dict(iterable, **kwarg)


参数说明:

**kwargs -- 关键字
mapping -- 元素的容器。
iterable -- 可迭代对象。


实例
>>>dict()                        # 创建空字典
{}
>>> dict(a='a', b='b', t='t')     # 传入关键字
{'a': 'a', 'b': 'b', 't': 't'}
>>> dict(zip(['one', 'two', 'three'], [1, 2, 3]))   # 映射函数方式来构造字典
{'three': 3, 'two': 2, 'one': 1} 
>>> dict([('one', 1), ('two', 2), ('three', 3)])    # 可迭代对象方式来构造字典
{'three': 3, 'two': 2, 'one': 1}
View Code

frozenset(s):转换为不可变集合

frozenset() 返回一个冻结的集合,冻结后集合不能再添加或删除任何元素。

语法
class frozenset([iterable])

参数
iterable -- 可迭代的对象,比如列表、字典、元组等等。

实例
>>>a = frozenset(range(10))     # 生成一个新的不可变集合
>>> a
frozenset([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> b = frozenset('runoob') 
>>> b
frozenset(['b', 'r', 'u', 'o', 'n'])   # 创建不可变集合
View Code

chr(x):将一个整数转换为一个字符

chr() 用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符。

语法
chr(i)


参数
i -- 可以是10进制也可以是16进制的形式的数字

实例
>>>print chr(0x30), chr(0x31), chr(0x61)   # 十六进制
0 1 a
>>> print chr(48), chr(49), chr(97)         # 十进制
0 1 a
View Code

ord(x):将一个字符转换为它的整数值

ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常。

语法
ord(c)

参数
c -- 字符。

实例
>>>ord('a')
97
>>> ord('b')
98
>>> ord('c')
99
View Code

hex(x):将一个整数转换为一个十六进制字符串

hex() 函数用于将10进制整数转换成16进制,以字符串形式表示。

语法
hex(x)


参数:

x -- 10进制整数

实例
>>>hex(255)
'0xff'
>>> hex(-42)
'-0x2a'
>>> hex(1L)
'0x1L'
>>> hex(12)
'0xc'
>>> type(hex(12))
<class 'str'>      # 字符串
View Code

oct(x):将一个整数转换为一个八进制字符串

oct() 函数将一个整数转换成8进制字符串。

语法
oct(x)


参数说明:

x -- 整数。


实例
>>>oct(10)
'012'
>>> oct(20)
'024'
>>> oct(15)
'017'
View Code

 

 

布尔值(Bool)

 

 

 

posted @ 2019-06-24 14:27  二哈的博客  阅读(313)  评论(0)    收藏  举报