1、Python列表和元祖
Python包含6中内建的序列,即列表、元组、字符串、Unicode字符串、buffer对象和xrange对象。通用序列操作:索引、分片、序列相加(+)、乘法(*)、成员资格(in)、长度(len)、最小值(min)和最大值(max)
- Python列表:列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型。示例:list1 = ['a','b',('c','d'),['e','f']]
- Python元组:Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。示例:tup1 = ('a','b','c); 元组只有两个方法tup1.index('a') 和 tup1.count('a')
2、Python字典(花括号)
字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中。
键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行。
示例:dict = {'Name':'Zara','Age':7,'Name':'Manni'};
3、Python编码
不管2.7还是Python3编码转换,都需要先转换为unicode,作为中间编码:
顶部指定的编码utf-8只是文件编码,Python默认数据类型都是unicode
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#文件编码
import sys
print(sys.getdefaultencoding()) #默认编码格式,结果:utf-8
s = '你好'
s_to_gbk = s.encode('gbk') #utf-8转GBK
gbk_to_utf = s_to_gbk.decode('gbk').encode() #GBK转
print(s.encode()) #结果:b'\xe4\xbd\xa0\xe5\xa5\xbd'
print(s_to_gbk) #结果:b'\xc4\xe3\xba\xc3'
print(gbk_to_utf) #结果:b'\xe4\xbd\xa0\xe5\xa5\xbd'
print(s_to_gbk.decode('gbk')) #结果:你好
# GBK解码为unicode,为什么是中文展示,因为utf-8是unicode的扩展集
4、Python函数
def fuc(name,age,*args,**kwargs):
print(name)
print(age)
print(args) #元祖
print(kwargs) #字典
fuc('amber',12,'hello','baby',sex='f',add='bj',id='88')
结果:
amber
12
('hello', 'baby')
{'sex': 'f', 'add': 'bj', 'id': '88'}
关键字参数不能写在位置参数前面 test(1,y=2,3) 是错误写法
都是关键字参数,比如z,y与顺序无关 test(1,z=3,y=2)
位置参数与形参一一对应 test(1,2,3) #实参
def test(x,y,z): #形参
print(x,y,z)
5、Python模块和包
a.模块:用来在逻辑上组织python代码(函数、变量、类、逻辑:实现一个功能),本质就是.py结尾的python文件
导入方法:
import test
from test import fuc1 #可以是变量、函数
from test import fnc1 as f1
b.包:用在在逻辑上组织模块的,本质就是一个目录(必须带有一个__init__.py文件)
import package
c.import本质:(路径搜索和搜索路径)
导入模块就是把python文件解释一遍
导入包就是执行该包下的__init__.py文件