Python知识点记录一

一、基本数据类型

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。

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

时间: 2024-08-15 04:38:29

Python知识点记录一的相关文章

Python知识点记录二(包和模块)

包和模块 1.Python项目的组织结构 Python最顶级的层级是包,模块即是包下的各个python文件.从组织的层面考虑,模块应该为各种功能"类". 2.包和文件夹的不同 *包在形式上就是一个文件夹,但作为包,包内必须含有一个"__init__.py"模块,同时这个"__init__.py"在Python解释器运行时其名字就是包名. *当一个包被导入,或者该包内的某个模块,或者该包下某个模块内的变量/函数被导入的时候,包内的__init__模

计算机二级python 知识点篇(文件和数据格式化)

计算机二级python 知识点篇(文件和数据格式化) 考纲考点 文件的使用: 文件打开. 关闭和读写 数据组织的维度: 一维数据和二维数据 一维数据的处理: 表示. 存储和处理 二维数据的处理: 表示. 存储和处理 采用CSV格式对一二维数据文件的读写 知识点1 文件包括两种类型: 文本文件和二进制文件. 二进制文件和文本文件最主要的区别在于是否有统一的字符编码 文本文件一般由单一特定编码的字符组成, 如UTF-8编码, 内容容易统一展示和阅读. 二进制文件直接由比特0和比特1组成, 文件内部数

python学习记录

python函数记录 map() 接收一个函数和一个序列,然后保留函数返回的结果的序列 reduce() 接收一个函数和一个序列 函数结果为一个值,运算过程就是从序列的第一个值开始传给函数,返回结果再次传入函数,直到最后得到一个结果. filter() 过滤函数 接收一个函数和一个序列 然后函数返回true和false,保留序列中的返回true的. def is_odd(n): return n % 2 == 1 filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15]

Python学习记录day6

Python学习记录day6 学习 python Python学习记录day6 1.反射 2.常用模块 2.1 sys 2.2 os 2.3 hashlib 2.3 re 1.反射 反射:利用字符串的形式去对象(默认)中操作(寻找)成员 cat commons.py #!/usr/bin/env python#_*_coding:utf-8_*_''' * Created on 2016/12/3 21:54. * @author: Chinge_Yang.''' def login(): pr

hadoop知识点记录

浅谈在shell脚本中使用HQL访问hive hadoop知识点记录,布布扣,bubuko.com

Python学习记录day1

Python学习记录博客是本人记录学习python3过程中的一些记录和过程,日后也可以帮助自己温习. python优点: 1.Python入门简单,功能强大,适用性强: 2.开发效率高,第三方库强大且多: 3.Python无需考虑底层细节: 4.可移植性,跨平台: 5.可扩展性: 6.可嵌入性,Pthon可嵌入到C/C++程序中: python缺点: 1.速度慢,Python比C慢很多,比java也慢一点: 2.代码不能加密,源码是明文: 3.线程不能利用多 CPU 问题: python版本2和

python知识点 2014-07-09

迭代协议: 类实现方法__next__,则可以使用for.while来实现迭代 使用iter或者next实现手工迭代: L = [1,2,3] I = iter(L) print(I.next()) 列表推导式: L = [x + y for x in 'abc' for y in 'lmn'] print(L) ['al', 'am', 'an', 'bl', 'bm', 'bn', 'cl', 'cm', 'cn'] python知识点 2014-07-09,布布扣,bubuko.com

Python学习记录day3

Python学习记录 day3 今天是银角大王武sir讲课.先回顾了上节课所学,然后讲到了面向对象思想. set set是一个无序且不重复,可嵌套的元素集合 class set(object):     """     set() -> new empty set object     set(iterable) -> new set object     Build an unordered collection of unique elements.     

Python知识点:distutils常用子模块

from distutils.core import setup, Extension, Commandfrom distutils.command.build import buildfrom distutils.command.clean import cleanfrom distutils.command.sdist import sdistfrom distutils.dir_util import remove_treefrom distutils.util import get_pl