python总结(一):基础知识

1.数据类型与变量

1.用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如:0xff000xa5b4c3d2

2.为了简化,Python还允许用r''表示''内部的字符串默认不转义

3.为了简化,Python允许用'''...'''的格式表示多行内容

4.空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。

5./除法计算结果是浮点数

   还有一种除法是//,称为地板除

2.字符串与编码

  1. 在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件

2.由于Python的字符串类型是str,在内存中以Unicode表示,一个字符对应若干个字节。如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes。Python对bytes类型的数据用带b前缀的单引号或双引号表示

3.以Unicode表示的str通过encode()方法可以编码为指定的bytes,反过来,如果我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str,就需要用decode()方法。如果bytes中只有一小部分无效的字节,可以传入errors='ignore'忽略错误的字节:

b'\xe4\xb8\xad\xff'.decode('utf-8', errors='ignore')

4.由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

      总结: (1)计算机是美国人发明的,因此最初美国人把所有128个符号编码为ascii,包括字母,“?”等。每个ascii占一个字节8位。

                 (2)为了将全世界语言统一化,收录进计算机,因此产生了unicode。2个字节。

                   (3)  如果整篇文章全部英文,用16位unicode岂不是很浪费空间?因此产生了utf-8编码(可变长的),英文用8位,中文用16位到32位,1~6字节。

                   用到网络层通信,unicode都需要转化成bytes。字节为单位。Unicode表示的str通过encode()方法可以编码为指定的bytes,如果我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str,就需要用decode()方法。

3.List与tuple

区别:tuple和list非常类似,但是tuple一旦初始化就不能修改

 1.List是一个可变的有序表,所以,可以往list中追加元素到末尾。 

classmates.append('Adam')

2.也可以把元素插入到指定的位置,比如索引号为1的位置:

>>> classmates.insert(1, 'Jack')
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']

3.要删除list末尾的元素,用pop()方法,要删除指定位置的元素,用pop(i)方法,其中i是索引位置:

4.Dict与set

1.避免key不存在的错误,有两种办法,一是通过in判断key是否存在:

>>> 'Thomas' in d
False

要删除一个key,用pop(key)方法,对应的value也会从dict中删除.

2.set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

>>> s = set([1, 2, 3])
>>> s
{1, 2, 3}

通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果.

通过remove(key)方法可以删除元素.

set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作:

>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2
{2, 3}
>>> s1 | s2
{1, 2, 3, 4}

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值