Python 数字
Python数字支持三种不同的数值类型:
- 整型(Int) - 通常被称为是整型或整数,是正或负整数,不带小数点。Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。
>>> i = 3
>>> i
3
- 浮点型(float) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)
>>> f = 1.23
>>> f
1.23
>>> f = 1.29
>>> round(f, 1) # 精确小数位,四舍五入
1.3
- 复数( (complex)) - 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。
>>> c = 1.23j
>>> c
1.23j
我们可以使用十六进制和八进制来代表整数:
>>> number = 0xA0F # 十六进制
>>> print(number)
2575
>>> number=0o37 # 八进制
>>> print(number)
31
int | float | complex |
10 | 0.0 | 3.14j |
100 | 15.20 | 45.j |
-786 | -21.9 | 9.322e-36j |
080 | 32.3+e18 | .876j |
-0490 | -90. | -.6545+0J |
-0x260 | -32.54e100 | 3e+26J |
0x69 | 70.2-E12 | 4.53e-7j |
- Python支持复数,复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。
Python 数字类型转换
有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。
- int(x) 将x转换为一个整数。
>>> f = 1.5
>>> int (f) # 转换会去掉小数位,并不会四舍五入
1
- float(x) 将x转换到一个浮点数。
>>> i = 12
>>> float(i)
12.0
- complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0。
>>> i = 11
>>> f = 1.1
>>> complex(i)
(11+0j)
>>> complex(f)
(1.1+0j)
- complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式。
>>> i = 11
>>> f = 1.1
>>> complex(i,f)
(11+1.1j)
Python 字符串
字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。
创建字符串很简单,只要为变量分配一个值即可。例如:
>>> s = 'Hello World!'
>>> s
'Hello World!'
字符串常用方法:
1、下标索引:
- 所谓
“下标”
,就是编号。 - Python的下标从0开始计数。
s = 'abcd'
print(s[0])
> a
print(s[2])
> c
2、切片:
- 切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。
- 切片的语法:[起始:结束:步长]
- 注意:选取的区间属于左闭右开型,即从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身)。
s = '0123456'
print(s[2:]) # 取下标2~最后的字符
> 23456
print(s[0:3]) # 取下标0~2的字符
> 012
print(s[2:-2]) # 取下标2~倒数第2前的字符
> 234
print(s[::2]) # 跳一个取字符
> 0246
print(s[::-1]) # 倒序
> 6543210
3、find:
- 检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则返回-1
mystr.find(str, start=0, end=len(mystr))
实例:
>>> mystr = 'Hello World! Oh HeHe!!'
>>> mystr.find('World')
6
>>> mystr.find('e')
1
>>> mystr.find('Xorld')
-1
4、index:
- 跟find()方法一样,只不过如果str不在 mystr中会报一个异常
mystr.index(str, start=0, end=len(mystr))
实例:
>>> mystr = 'Hello World! Oh HeHe!!'
>>> mystr.index('World')
6
>>> mystr.index('Xorld')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: substring not found
5、count:
- 返回 str在start和end之间 在 mystr里面出现的次数
mystr.count(str, start=0, end=len(mystr))
实例:
>>> mystr = 'Hello World! Oh HeHe!!'
>>> mystr.count('H')
3
>>> mystr.count('H',2)
2
>>> mystr.count('H',1,-4)
1
6、replace:
- 把 mystr 中的 str1 替换成 str2,如果 count 指定,则替换不超过 count 次
mystr.replace(str1, str2, num)
实例:
>>> mystr = 'Hello World! Oh HeHe!!'
>>> mystr.replace(" ","")
'HelloWorld!OhHeHe!!'
>>> mystr.replace("He","XX")
'XXllo World! Oh XXXX!!'
>>> mystr.replace("He","XX",1)
'XXllo World! Oh HeHe!!'
7、split:
- 以 str 为分隔符切片 mystr,如果 maxsplit有指定值,则仅分隔 maxsplit 个子字符串
mystr.split(str=" ", num)
实例:
>>> mystr = 'Hello World! Oh HeHe!!'
>>> mystr.split(" ")
['Hello', 'World!', 'Oh', 'HeHe!!']
>>> mystr.split(" ",2)
['Hello', 'World!', 'Oh HeHe!!']
8、capitalize:
- 把字符串的第一个字符大写
mystr.capitalize()
实例:
>>> mystr = 'hello World! Oh HeHe!!'
>>> mystr.capitalize()
'Hello world! oh hehe!!'
9、title:
- 把字符串的每个单词首字母大写
mystr.title()
实例:
>>> mystr = 'hello world! oh hehe!!'
>>> mystr.title()
'Hello World! Oh Hehe!!'
10、startswith:
- 检查字符串是否是以 obj 开头, 是则返回 True,否则返回 False
mystr.startswith(obj)
实例:
>>> mystr = 'Hello World! Oh HeHe!!'
>>> mystr.startswith('Hello')
True
>>> mystr.startswith('hello')
False
11、endswith:
- 检查字符串是否以obj结束,如果是返回True,否则返回 False
mystr.endswith(obj)
实例:
>>> mystr = 'Hello World! Oh HeHe!!'
>>> mystr.endswith('HeHe!!')
True
>>> mystr.endswith('hehe!!')
False
12、lower:
- 转换 mystr 中所有大写字符为小写
mystr.lower()
实例:
>>> mystr = 'Hello World! Oh HeHe!!'
>>> mystr.lower()
'hello world! oh hehe!!'
13、upper:
- 转换 mystr 中的小写字母为大写
mystr.upper()
实例:
>>> mystr = 'Hello World! Oh HeHe!!'
>>> mystr.upper()
'HELLO WORLD! OH HEHE!!'
14、ljust:
- 返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串
mystr.ljust(width)
实例:
>>> mystr = 'Hello World! Oh HeHe!!'
>>> mystr.ljust(30)
'Hello World! Oh HeHe!! '
>>> mystr.ljust(3)
'Hello World! Oh HeHe!!'
15、rjust:
- 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串
mystr.rjust(width)
实例:
>>> mystr = 'Hello World! Oh HeHe!!'
>>> mystr.rjust(30)
' Hello World! Oh HeHe!!'
>>> mystr.rjust(3)
'Hello World! Oh HeHe!!'
16、center:
- 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串
mystr.center(width)
实例:
>>> mystr = 'Hello World! Oh HeHe!!'
>>> mystr.center(30)
' Hello World! Oh HeHe!! '
>>> mystr.center(3)
'Hello World! Oh HeHe!!'
17、lstrip:
- 删除 mystr 左边的空白字符
mystr.lstrip()
实例:
>>> mystr = ' Hello '
>>> mystr.lstrip()
'Hello '
18、rstrip:
- 删除 mystr 字符右边的空白字符
mystr.rstrip()
实例:
>>> mystr = ' Hello '
>>> mystr.rstrip()
' Hello'
19、strip:
- 删除mystr字符串两端的空白字符
mystr.strip()
实例:
>>> mystr = ' Hello '
>>> mystr.strip()
'Hello'
20、rfind:
- 类似于 find()函数,不过是从右边开始查找
mystr.rfind(str, start=0,end=len(mystr) )
21、rindex:
- 类似于 index(),不过是从右边开始
mystr.rindex( str, start=0,end=len(mystr))
22、partition:
- 把mystr以str分割成三部分,str前,str和str后
mystr.partition(str)
实例:
>>> mystr = 'Hello World! Oh HeHe!!'
>>> mystr.partition(' ')
('Hello', ' ', 'World! Oh HeHe!!')
>>> mystr.partition('World!')
('Hello ', 'World!', ' Oh HeHe!!')
23、rpartition:
- 类似于 partition()函数,不过是从右边开始
mystr.rpartition(str)
24、splitlines:
- 按照行分隔,返回一个包含各行作为元素的列表
mystr.splitlines()
实例:
>>> mystr = 'Hello World!\nOh HeHe!!'
>>> mystr.splitlines()
['Hello World!', 'Oh HeHe!!']
25、isalpha:
- 如果 mystr 所有字符都是字母则返回 True,否则返回 False
mystr.isalpha()
实例:
>>> mystr = 'abc'
>>> mystr2 = 'a1'
>>> mystr.isalpha()
True
>>> mystr2.isalpha()
False
26、isdigit:
- 如果 mystr 所有字符都是数字则返回 True,否则返回 False
mystr.isdigit()
实例:
>>> mystr = '123'
>>> mystr2 = 'a1'
>>> mystr.isdigit()
True
>>> mystr2.isdigit()
False
27、isalnum:
- 如果 mystr 所有字符都是字母或数字则返回 True,否则返回 False
mystr.isalnum()
实例:
>>> mystr = 'ab12'
>>> mystr2 = 'a1*'
>>> mystr.isalnum()
True
>>> mystr2.isalnum()
False
28、isspace:
- 如果 mystr 中只包含空格,则返回 True,否则返回 False
mystr.isspace()
实例:
>>> mystr = ' '
>>> mystr2 = 'a 1 *'
>>> mystr.isspace()
True
>>> mystr2.isspace()
False
29、join:
- mystr 中每个字符后面插入str,构造出一个新的字符串
mystr.join(str)
实例:
>>> mystr = '*'
>>> mylist = ['Hello', 'World', '!']
>>> mystr.join(mylist)
'Hello*World*!'
Python 列表
- 序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
- Python有6个序列的内置类型,但最常见的是列表和元组。
- 序列都可以进行的操作包括索引,切片,加,乘,检查成员。
- 此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。
- 列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
- 列表的数据项不需要具有相同的类型
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:
>>> list1 = ['a','b','c']
>>> list1
['a', 'b', 'c']
>>> list2 = [1, 2, 3]
>>> list2
[1, 2, 3]
访问列表中的值:
- 使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:
>>> list1 = ['a','b','c']
>>> list1[0]
'a'
>>> list1[0:2]
['a', 'b']
更新列表:
- 你可以对列表的数据项进行修改或更新,你也可以使用append()方法来添加列表项,如下所示:
>>> list1 = ['a','b','c']
>>> list1[0] = 1
>>> list1
[1, 'b', 'c']
>>> list1.append('d') # 添加新列表元素
>>> list1
[1, 'b', 'c', 'd']
删除列表元素:
- 可以使用 del 语句来删除列表的的元素,如下实例:
>>> list1 = ['a','b','c']
>>> del list1[1] # 删除下标1的元素
>>> list1
['a', 'c']
Python列表脚本操作符
列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。
Python 表达式 | 结果 | 描述 |
len([1, 2, 3]) | 3 | 长度 |
[1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | 组合 |
['Hi!'] * 4 | ['Hi!', 'Hi!', 'Hi!', 'Hi!'] | 重复 |
3 in [1, 2, 3] | True | 元素是否存在于列表中 |
for x in [1, 2, 3]: print(x, end=" ") | 1 2 3 | 迭代 |
>>> list1 = ['a','b','c']
>>> len(list1) # 长度
3
>>> list2 = [1, 2, 3]
>>> list1 + list2 # 组合
['a', 'b', 'c', 1, 2, 3]
>>> list3 = [1, '*'] * 3 # 重复
>>> list3
[1, '*', 1, '*', 1, '*']
>>> 2 in list3 # 包含元素否
False
>>> '*' in list3
True
>>> for i in list1:print( i ) # 迭代
a
b
c
列表常用方法:
1、len:
- len() 方法返回列表元素个数
len(list)
实例:
>>> list1 = ['a','b','c']
>>> len(list1)
3
2、max:
- max() 方法返回列表元素中的最大值(按ASCII码对照表),只能对单一类型的列表进行查找。
max(list)
实例:
>>> list1 = ['a','b','c']
>>> max(list1)
'c'
3、min:
- min() 方法返回列表元素中的最小值,只能对单一类型的列表进行查找。
min(list)
实例:
>>> list1 = ['a','b','c']
>>> min(list1)
'a'
4、append:
- append() 方法用于在列表末尾添加新的对象
list.append(obj)
实例:
>>> list1 = ['a','b','c']
>>> list1.append('d')
>>> list1
['a', 'b', 'c', 'd']
5、count:
- count() 方法用于统计某个元素在列表中出现的次数
list.count(obj)
实例:
>>> list1 = ['a','b','c', 'a']
>>> list1.count('a')
2
6、extend:
- extend() 函数用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.extend(seq)
实例:
>>> list1 = ['a','b','c']
>>> list2 = ['a', 1, '*']
>>> list1.extend(list2)
>>> list1
['a', 'b', 'c', 'a', 1, '*']
7、index:
- index() 函数用于从列表中找出某个值第一个匹配项的索引位置
list.index(obj)
实例:
>>> list1 = ['a','b','c', 'a']
>>> list1.index('a')
0
8、insert:
- insert() 函数用于将指定对象插入列表的 index 位置前
list.insert(index, obj)
实例:
>>> list1 = ['a','b','c']
>>> list1.insert(1, 'x')
>>> list1
['a', 'x', 'b', 'c']
9、pop:
- pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.pop(obj=list[-1])
实例:
>>> list1 = ['a','b','c']
>>> list1.pop(1)
'b'
>>> list1
['a', 'c']
10、remove:
- remove() 函数用于移除列表中某个值的第一个匹配项
list.remove(obj)
实例:
>>> list1 = ['a','b','c']
>>> list1.remove('c')
>>> list1
['a', 'b']
11、reverse:
- reverse() 函数用于反向列表中元素
list.reverse()
实例:
>>> list1 = ['a','b','c']
>>> list1.reverse()
>>> list1
['c', 'b', 'a']
12、sort:
- sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数
list.sort([func])
实例:
>>> list1 = [1, 5, 9, 7, 0]
>>> list1.sort()
>>> list1
[0, 1, 5, 7, 9]
13、clear:
- clear() 函数用于清空列表,类似于 del a[:]
list.clear()
实例:
>>> list1 = ['a','b','c']
>>> list1.clear()
>>> list1
[]
14、copy:
- copy() 函数用于复制列表,类似于 a[:]
list.copy()
实例:
>>> list1 = ['a','b','c']
>>> list2 = list1.copy()
>>> list2
['a', 'b', 'c']
Python 元组
- Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。
>>> tuple1 = (1, 2, 3)
>>> tuple1
(1, 2, 3)
- 如果元组只有一个元素时,需要在元素后面加个逗号,不然该元组会变成该元素类型。
>>> tuple1 = (1)
>>> type(tuple1)
<class 'int'>
>>> tuple1 = (1, )
>>> type(tuple1)
<class 'tuple'>
访问元组:
- 元组可以使用下标索引来访问元组中的值,如下实例:
>>> tuple1 = (1, 2, 3)
>>> tuple1[0]
1
>>> tuple1[0:2]
(1, 2)
元组常用方法:
1、len(tuple)
>>> tuple1 = (1, 2, 3)
>>> len(tuple1)
3
2、max(tuple)
>>> tuple1 = (1, 2, 3)
>>> max(tuple1)
3
3、min(tuple)
>>> tuple1 = (1, 2, 3)
>>> min(tuple1)
1
Python 字典
- 字典是另一种可变容器模型,且可存储任意类型对象。
- 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:
d = {key1 : value1, key2 : value2 }
字典键的特性
- 字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。
- 两个重要的点需要记住:
>>> dict1 = {'a' : 10, 'b': 11, 'a' : '00'}
>>> dict1
{'a': '00', 'b': 11}
- 键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行,如下实例:
>>> dict1 = {['a'] : 10, 'b': 11, 'c' : '00'}
Traceback (most recent call last):
File "<pyshell#126>", line 1, in <module>
dict1 = {['a'] : 10, 'b': 11, 'c' : '00'}
TypeError: unhashable type: 'list'
>>> dict1 = {('a',) : 10, 'b': 11, 5 : '00'}
>>> dict1
{('a',): 10, 'b': 11, 5: '00'}
访问字典里的值:
- 把相应的键放入熟悉的方括弧,如下实例:
>>> dict1 = {'a' : 10, 'b': 11, 'c' : '00'}
>>> dict1
{'a': 10, 'b': 11, 'c': '00'}
>>> dict1['a']
10
修改字典:
>>> dict1 = {'a' : 10, 'b': 11, 'c' : '00'}
>>> dict1['a'] = 'xxx'
>>> dict1
{'a': 'xxx', 'b': 11, 'c': '00'}
删除字典元素:
- 能删单一的元素也能清空字典,清空只需一项操作。
- 显示删除一个字典用del命令,如下实例:
>>> dict1 = {'a' : 10, 'b': 11, 'c' : '00'}
>>> del dict1['a'] # 删除字典元素
>>> dict1
{'b': 11, 'c': '00'}
>>> dict1.clear() # 清空字典
>>> dict1
{}
>>> del dict1 # 删除字典
>>> dict1
Traceback (most recent call last):
File "<pyshell#138>", line 1, in <module>
dict1
NameError: name 'dict1' is not defined
字典常用方法:
1、len:
- 计算字典元素个数,即键的总数
len(dict)
实例:
>>> dict1 = {'a' : 10, 'b': 11, 'c' : '00'}
>>> len(dict1)
3
2、str:
- 输出字典,以可打印的字符串表示
str(dict)
实例:
>>> dict1 = {'a' : 10, 'b': 11, 'c' : '00'}
>>> str(dict1)
"{'a': 10, 'b': 11, 'c': '00'}"
3、clear:
- clear() 函数用于删除字典内所有元素
dict.clear()
实例:
>>> dict1 = {'a' : 10, 'b': 11, 'c' : '00'}
>>> dict1.clear()
>>> dict1
{}
4、copy:
- copy() 函数返回一个字典的浅复制
dict.copy()
实例:
>>> dict1 = {'a' : 10, 'b': 11, 'c' : '00'}
>>> dict2 = dict1.copy()
>>> dict2
{'a': 10, 'b': 11, 'c': '00'}
5、fromkeys:
- fromkeys() 函数用于创建一个新字典,以序列seq中元素做字典的键,value为字典所有键对应的初始值
dict.fromkeys(seq[, value]))
实例:
>>> dict1 = {'a' : 10, 'b': 11, 'c' : '00'}
>>> dict.fromkeys(dict1)
{'a': None, 'b': None, 'c': None}
>>> dict.fromkeys(dict1, 5)
{'a': 5, 'b': 5, 'c': 5}
>>> dict1
{'a': 10, 'b': 11, 'c': '00'}
>>> dict2 = dict.fromkeys(dict1, 5)
>>> dict2
{'a': 5, 'b': 5, 'c': 5}
6、get:
- get() 函数返回指定键的值,如果值不在字典中返回默认值None
dict.get(key, default=None)
实例:
>>> dict1 = {'a' : 10, 'b': 11, 'c' : '00'}
>>> dict1.get('a')
10
7、in:
key in dict
实例:
>>> dict1 = {'a' : 10, 'b': 11, 'c' : '00'}
>>> 'a' in dict1
True
>>> 'd' in dict1
False
8、items:
- items() 方法以列表返回可遍历的(键, 值) 元组数组
dict.items()
实例:
>>> dict1 = {'a' : 10, 'b': 11, 'c' : '00'}
>>> dict1.items()
dict_items([('a', 10), ('b', 11), ('c', '00')])
>>> tuple(dict1.items())
(('a', 10), ('b', 11), ('c', '00'))
9、keys:
- keys() 方法以列表返回一个字典所有的键
dict.keys()
实例:
>>> dict1 = {'a' : 10, 'b': 11, 'c' : '00'}
>>> dict1.keys()
dict_keys(['a', 'b', 'c'])
10、setdefault:
- setdefault() 方法和get()方法类似, 如果键不已经存在于字典中,将会添加键并将值设为默认值
dict.setdefault(key, default=None)
实例:
>>> dict1 = {'a' : 10, 'b': 11, 'c' : '00'}
>>> dict1.setdefault('a', 999)
10
>>> dict1.setdefault('d', 999)
999
>>> dict1
{'a': 10, 'b': 11, 'c': '00', 'd': 999}
11、update:
- update() 函数把字典dict2的键/值对更新到dict里
dict.update(dict2)
实例:
>>> dict1 = {'a' : 10, 'b': 11, 'c' : '00'}
>>> dict2 = {'d' : 99, 'e': 88, 'f' : '77'}
>>> dict1.update(dict2)
>>> dict1
{'a': 10, 'b': 11, 'c': '00', 'd': 99, 'e': 88, 'f': '77'}
12、valuse:
- values() 方法以列表返回字典中的所有值
dict.values()
实例:
>>> dict1 = {'a' : 10, 'b': 11, 'c' : '00'}
>>> dict1.values()
dict_values([10, 11, '00'])
>>> list(dict1.values())
[10, 11, '00']
13、pop:
- pop() 方法删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值
pop(key[,default])
实例:
>>> dict1 = {'a' : 10, 'b': 11, 'c' : '00'}
>>> dict1.pop('a')
10
>>> dict1
{'b': 11, 'c': '00'}
14、popitem:
- popitem() 方法随机返回并删除字典中的一对键和值(一般删除末尾对)
- 如果字典已经为空,却调用了此方法,就报出KeyError异常
popitem()
实例:
>>> dict1 = {'a' : 10, 'b': 11, 'c' : '00'}
>>> dict1.popitem()
('c', '00')
>>> dict1
{'a': 10, 'b': 11}
通用方法:
1、type:
- 类型确认
>>> str1 = '5'
>>> type(str1)
<class 'str'>
2、format:
- 格式化输出
# 格式限定符
i = 18
print('{0},{1}'.format('long', i))
#> long,18
print('{},{}'.format('long', i))
#> long,18
print('{name},{age}'.format(age=i, name='long'))
#> long,18
#
# 填充与对齐
print('{:A>8}'.format('long')) # 右对齐,>后面的数字代表长度,A代表填充字符
#> AAAAlong
print('{:B<8}'.format('long')) # 左对齐
#> longBBBB
print('{:^8}'.format('long')) # 居中,^前没有字符则默认空格填充
#> long
#
# 精度,四舍五入
print('{:.2f}'.format(3.156))
#> 3.16
#
# 数字进制转换
print('{:b}'.format(15)) # 二进制转换
#> 1111
print('{:d}'.format(15)) # 十进制转换
#> 15
print('{:o}'.format(15)) # 八进制转换
#> 17
print('{:x}'.format(15)) # 十六进制转换
#> f
#
# 用逗号还能用来做金额的千位分隔符
print('{:,}'.format(1234567))
3、enumerate
- enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
enumerate(sequence, [start=0])
实例:
d = [1, 3, 5, 7]
for i,o in enumerate(d):
print(i, o)
> 0 1
> 1 3
> 2 5
> 3 7
数据类型转换:
#############################################
s = 'abc'
l = ['a','a','b']
t = ('l','p','q')
d = {'a':1, 'b':2}
## 转字符串
print('元组转字符串.')
print (str(t))
print('列表转字符串.')
print (str(l))
print('字典转字符串.')
print (str(d))
## 转元组
print('####################')
print('字符串转元组')
print (tuple(s))
print('列表转元组')
print (tuple(l))
print('字典转元组')
print (tuple(d.items()))
## 转列表
print('####################')
print('字符串转列表')
print (list(s))
print('元组转列表')
print (list(t))
print('字典转列表')
print (list(d.items()))
## 转字典
print('####################')
tt = (['a',1],['b',2])
ttt = (('a',3),('b',4))
print('元组转字典(元组元素是元组)')
print (dict(tt))
print('元组转字典(元组元素是列表)')
print (dict(ttt))
print('####################')
ll = [['a',5],['b',6]]
lll = [('a',7),('b',8)]
print('列表转字典(列表元素是列表)')
print (dict(ll))
print('列表转字典(列表元素是元组)')
print (dict(lll))
#############################################
Python2 和 Python3 差异处理:
input处理:
# 这个写法用于处理python2和python3中输入函数差异性问题,因为Python3中没有raw_input函数,所以要捕获异常,然后修正为input函数。
try:
name = raw_input("你叫什么名字?")
except Exception as e:
name = input("你叫什么名字?")
finally:
print("{0}真帅!".format(name))