码迷,mamicode.com
首页 > 编程语言 > 详细

Python知识点记录一

时间:2018-04-06 20:22:27      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:int()   转换函数   abc   必须   不可   不能   知识点   输入   水平   

一、基本数据类型

1、各进制数字的表示和转换

2进制、8进制、16进制的数据在数字之前需要分别增加0b、0o、0x来表示。

>>> 10  #10进制
10
>>> 0b111   #2进制
7
>>> 0o777   #8进制
511
>>> 0xfeda  #16进制
65242

各个进制的转换,2进制、8进制、10进制、16进制的转换方法分别为bin()、oct()、int()、hex()。

>>> bin(16)   #10进制数转换为2进制
‘0b10000‘
>>> bin(0o766)#8进制数转换为2进制
‘0b111110110‘
>>> oct(0xfff)#16进制数转换为8进制
‘0o7777‘
>>> oct(0b1101)#2进制数转换为8进制
‘0o15‘
>>> int(0b1111)#2进制数转换为10进制
15
>>> int(0o117)#8进制数转换为10进制
79
>>> hex(0b11111111) #2进制数转换为16进制
‘0xff‘
>>> hex(65535)  #10进制数转换为16进制
‘0xffff‘

2、布尔值

Python中的数值0、空值对象以及‘None’的布尔值都为False,其他都为True。

>>> bool(1.1)
True
>>> bool(0x00)  #16进制的数值0
False
>>> bool(‘‘) #空字符串
False
>>> bool([1,2])
True
>>> bool(())
False
>>> bool(None)
False

 3、字符串

*多行字符串可以通过三引号表示:‘‘‘ ‘‘‘或""" """。

>>> s=‘‘‘
a
b‘‘‘
>>> s
‘\na\nb‘

可以看到变量s在定义的时候使用了三引号,而在命令行格式中可以看到s的内容是‘\na\nb‘;其中的‘\n‘就表示了定义时候输入的换行符。这也可以通过s[0]看出:

>>> s[0]
‘\n‘

这里的‘\n‘也称为转义字符,转义字符在使用print()输出时是按格式显示的,比如换行符\n直接就输出换行,\t输出水平制表符。

>>> print(s)

a
b

*转义字符:一般为无法看见的特殊字符(如\n、\t等等)或者与语言本身语法有冲突的字符(如\‘表示‘,\\表示\)

#用print打印出‘hello \n world!‘
#\n需要通过转义字符表示
s=‘hello \\n world‘
print(s)
print(‘hello \\n world‘)

*原始字符串:在原始字符串中所有字符都是所见即所得

>>> s=r‘\nabc\n‘  #这里就是原始字符串,其中的\n就是两个字符
>>> s[0]    #访问第一个字符,即‘\‘
‘\\‘
>>> #可以看出上面输出了‘\\‘,这里是普通字符串,其中以转移字符串表示了实际的‘\‘
>>> s[1]
‘n‘
>>> print(s)
\nabc\n
>>> len(s)
7

 4、序列(str、list、tuple)

在Python中,str/list/tuple都是有序的数据组合,对于有序的组合,都可以使用下标的方法访问,也可以进行切片操作。

>>> ‘123‘[2]
‘3‘
>>> (1,2,5)[0]
1
>>> [1,2,3,‘a‘][-1]
‘a‘
>>> (1,2,3,4,5)[:5]
(1, 2, 3, 4, 5)
>>> "12345"[-1:]
‘5‘
>>> [1,2,3,4,5,6,7,8,9,10][1:10]
[2, 3, 4, 5, 6, 7, 8, 9, 10]

5、str和list/tuple的相互转换

(1)直接通过类型转换函数:

>>> list(s)    #字符串转换为列表
[‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘]
>>> tuple(s)   #字符串转换为元组
(‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘)
>>> tuple(list(s)) #列表转换为元组
(‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘)
>>> list(tuple(s))  #元组转换为列表
[‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘]
>>> #可以看出str()方法并不能让列表转换成我们想要的字符串内容
>>> #str()方法直接把参数内容当成字符串内容了
>>> str([1,2,3])
‘[1, 2, 3]‘
>>> str([1,2,3])[0]
‘[‘

(2)列表和元组转换为字符串必须依靠join函数

>>> ‘ ‘.join([‘1‘,‘2‘,‘3‘])
‘1 2 3‘
>>> ‘‘.join((‘a‘,‘b‘,‘s‘,‘123‘))
‘abs123‘

需要注意,只有元素为字符串类型的列表和元组才可以使用join()方法。

(3)字符串转为列表的特殊方法:split()

>>> s=‘12 34 56 78,90,100 ‘
>>> s.split()  #没有参数时,默认按空格划分原始字符串形成列表各元素
[‘12‘, ‘34‘, ‘56‘, ‘78,90,100‘]
>>> s.split(‘,‘)
[‘12 34 56 78‘, ‘90‘, ‘100 ‘]

(4)字符串去除首尾空格、换行字符的方法:strip()

>>> s=‘\n   \n  123  abc  999   \n  ‘
>>> s.strip()
‘123  abc  999‘
>>> s
‘\n   \n  123  abc  999   \n  ‘
>>> s.strip().split()
[‘123‘, ‘abc‘, ‘999‘]

(5)列表排序方法:sort()/sorted()

>>> l=[16,87,35,100,96,62,8,3,19]
>>> l.sort()    #把l按默认的顺序(这里是由小到大)排序,l变成新列表
>>> l1=[16,87,35,100,96,62,8,3,19]
>>> sorted(l1)  #返回一个排序后的新列表,l1本身不变化
[3, 8, 16, 19, 35, 62, 87, 96, 100]
>>> l1
[16, 87, 35, 100, 96, 62, 8, 3, 19]
>>> t=(16,87,35,100,96,62,8,3,19)  
#元组和字符串也可以使用sorted()方法,返回一个排序后的新列表
#但元组和字符串不能使用sort()
>>> sorted(t)   
[3, 8, 16, 19, 35, 62, 87, 96, 100]
>>> t
(16, 87, 35, 100, 96, 62, 8, 3, 19)
>>> sorted(‘102814124128765‘)
[‘0‘, ‘1‘, ‘1‘, ‘1‘, ‘1‘, ‘2‘, ‘2‘, ‘2‘, ‘4‘, ‘4‘, ‘5‘, ‘6‘, ‘7‘, ‘8‘, ‘8‘]

6、集合(set)、字典(dict)

(1)集合是无序的,所以不能通过下标访问,也因为是无序的,所以对于重复的元素在集合中是无法区分的,因为没有顺序之说,所以集合中不能有重复元素。

>>> {1,2,3,4,5}-{1,3,5}   #两个set求差集
{2, 4}
>>> {1,2,3,4,5}|{6,7,8}  #求合集
{1, 2, 3, 4, 5, 6, 7, 8}
>>> {1,2,3,4,5,6,7}&{1,3,5,7,9}  #求交集
{1, 3, 5, 7}

(2)字典是集合的一种特殊类型,其键值必须为不可变类型。不可变类型包括int/float/bool/str/tuple。

Python知识点记录一

标签:int()   转换函数   abc   必须   不可   不能   知识点   输入   水平   

原文地址:https://www.cnblogs.com/tsembrace/p/8722281.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!