Python笔记

一、list
string = [“111”,”222”,”333”] // create list
len(string) // get length of list
string.insert(0,”000”) // arge1:index arge2:insert content
string.pop() // delete the last element
string.pop(index) // delete the index element,删除相应位置的元素
string[0:1] // get the first element,得到第一个元素,括号,包前不包后
string[-2:-1] // get the first element,获得倒数第二个元素
string[-1] // get the last element,得到最后一个元素
string.append(“333”) // append the element to the last,list是有序可变列表,追加元素到末尾
string = [“111”,”222”,[“333”,”444”],”555”]
string[2][0] // ‘333’ 得到;list中的list,相当于 二维、三维、四维数组

二、tuple 和list相似,一旦初始化,不能修改,没有append ()、insert()方法
classmates = (“111”,”222”,”333”)
//因为tuple不可变,所以代码更安全。如果可能,能用tuple代替就尽量用tuple
//tuple:在定义一个tuple时,tuple的元素就必须被确定下来
test = (1,2)
//只有1个元素的tuple定义时必须加一个逗号
t = (1,)
//可以复合定义tuple和list
t = (“a”,”b”,[“A”,”B”])
三、条件判断
s = input(“Please input your age: “)
if birth >=18 :
print(“adult”)
else:
print(“not adult”)

四、循环
names = [“111”,”222”,”333”]
for name in names:
print(name)

//range()函数,可以生成一个整数序列,再通过list()函数可以转换成list,range(5)生成的序列是从0开始小于5的整数
list(range(5)) //[0, 1, 2, 3, 4]
//实现从0加到100
sum = 0
for x in list(range(100)):
    sum = sum + x 
    print(sum)

五、使用dict和set
1、dict 中的key必须是不可变的
//创建字典(通过空间换取时间)
d = {“s”:10,”p”:11,”l”:12}
d {‘p’: 11, ‘l’: 12, ‘s’: 10}
//通过键获得相应的值
d[“s”] // 10
//判断是否存在key
“s” in d
//通过dict的get方法得到value,如果不存在则返回None
d.get(“s”) //10
d.get(“k”) //None,python的交互式命令不显示结果
//删除key,用pop(key)方法,对应的value也会从dict中删除
d.pop(“s”)
dict和list比较:
dict的特点:
1、查找和插入的速度极快,不会随着key的增加而增加
2、需要占用大量的内存,内存浪费多
list的特点:
1、查找和插入的时间随着元素的增加而增加
2、占用空间小,浪费内存很少
dict可以用在需要告诉查找的很多地方,dict的key必须是不可变对象

2、set 中的key必须是不可变的
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所有,在set中,没有重复的key
//创建一个set,需要提供一个list作为输入集合
s = set([1,2,3]) //{1, 2, 3}
//重复元素在set中自动过滤
s = set([1,2,3,1,2,3,4]) //{1, 2, 3, 4}
//通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果
s.add(5) // {1, 2, 3, 4, 5}
//通过remove(key)方法可以删除元素
s.remove(1)  // {2, 3, 4, 5}
//set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作
s1 = set([1,2,3])
s2 = set([2,3,4])
s1 & s2 // {2, 3}
s1 | s2 // {1, 2, 3, 4}

六、转义字符
转义字符\可以转义很多字符,比如\n 表示换行,\t表示制表符,字符\本身也要转义,所以\表示的字符就是\
‘I\’m \”OK\”!’ // I’m “OK”!
Python允许使用r’’表示’’ 内部的字符串默认不转义

七、编码
1、ASCII都是一个字节,不能处理中文,中文至少需要两个字节以上
2、Unicode把所有语言统一到一套编码里,这样不会再有乱码问题了。
3、ASCII和Unicode的区别:
ASCII编码是1个字节
Unicode是2个字节
A用ASCII编码是十进制的65,二进制的01000001
如果把ASCII编码的A用Unicode编码,只需要在前面补0就可以,A的Unicode编码是 00000000 010000001
4、问题:如果经常用英文,使用Unicode编码比ASCII编码需要多一杯的存储空间,在存储和传输上就不十分划算
5、又出现了吧Unicode编码转换为”可变长度的“UTF-8编码。
6、UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉子通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。如果你要传输的文本包含大量英文字符,用UTF-8就能节省空间
7、大量只支持ASCII编码的历史遗留软件可以在UTF-8编码下继续工作。
8、计算机系统通用的字符编码工作方式:
在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换成UTF-8编码
9、用记事本编辑的时候,从文件读取的UTF-8字符转换成Unicode字符到内存,编辑完成后,保存的时候再把Unicode换成UTF-8保存文件
10、浏览网页的时候,服务器会把动态生成的Unicode内容转换为UTF-8再传输到浏览器

八、字符串
1、ord() 获取字符的整数表示
ord(“A”) // 65
ord(“中”) // 20013
2、chr() 把编码转换为对应的字符
chr(65 // ‘A’
chr(20013) ‘中’
3、由于Python的字符串类型是str,在内存中以Unicode表示,一个字符对应若干个字节。如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes
4、Python对bytes类型的数据用带b前缀的单引号或双引号表示
5、要注意区分‘ABC’ 和 b‘ABC’,前者是str,后者虽然内容显示的和前者一样,但bytes的每个字符都只占用一个字节
6、以Unicode表示的str通过encode()方法可以编码为指定的bytes
7、’ABC’.encode(‘ascii’) // b’ABC’
8、”中文”.encode(‘utf-8’) // b’\xe4\xb8\xad\xe6\x96\x87’
9、len() //获得字符串长度
10、len(‘中文’.encode(‘utf-8’)) //6 获得字节数
11、在Python中,采用的格式化方式和C语言是一致的,用%实现
‘Hello , %s’ % ‘word’ // ‘Hello , word’
‘Hi,%s,you have 100000000.’
‘%2d-%02d’ % (3,1) // ’ 3-01’
‘%.2f’ % 3.14151926 // ‘3.14’
%%表示一个%

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值