python学习笔记1
①数据类型:整数,浮点数,字符串(''或者""包围),布尔值(true,false,计算and,or,not;Python把0、空字符串''和None看成 False,其他数值和非空字符串都看成 True),空值(none)
②print语句:在python交互环境下写代码,print语句也可以跟上多个字符串,用逗号“,”隔开,就可以连成一串输出,遇到逗号“,”会输出一个空格再接着输出后面的
③注释:#行注释
④定义字符串时转义字符\的使用,表示某些特殊字符只是一个普通字符
⑤raw字符串和多行字符串:一个字符串包含很多需要转义的字符,可以在字符串前加个前缀 r ,表示这是一个 raw 字符串,里面的字符就不需要转义了;如果要表示多行字符串,可以用'''...'''表示
⑥Python的诞生比Unicode标准发布的时间还要早,最早的Python只支持ASCII编码,普通的字符串'ABC'在Python内部都是ASCII编码的。Python在后来添加了对Unicode的支持,以Unicode表示的字符串用u'...'表示
⑦创建list:list = [1,2,3],Python是动态语言,所以list中包含的元素并不要求都必须是同一种数据类型,我们完全可以在list中包含各种数据;按照索引访问list,倒序访问list;append()-》list末尾添加元素,insert()在指定位置插入,pop()删除最后一个元素,pop(n)删除指定位置元素
⑧创建元组tuple: t = ('Adam', 'Lisa', 'Bart'),一旦创建不能修改;创建单元素tuple时必须末尾多加一个逗号,否则会被解释器理解为整数,而不是元组;“可变”的tuple问题:t = ('a', 'b', ['A', 'B']),注意元组的不变性是指其指向不变
代码缩进规则:具有相同缩进的代码被视为代码块,4个空格不能用tab,如果你在Python交互环境下敲代码,还要特别留意缩进,并且退出缩进需要多敲一行回车
⑨if语句:if age >= 18:
print 'adult'
else:
print 'teenager'
嵌套的
if age >= 18:
print 'adult'
elif age >= 6:
print 'kid'
else:
print 'baby'
⑩循环
L = ['Adam', 'Lisa', 'Bart']
for name in L:
print name
while x < N:
print x
11:dict: d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59}//查找速度快,但占用内存,内部无序,key值得类型必须不可变,例如可变的list就不能作为key
访问:简单地使用 d[key] ,需要预判key是否存在:'Paul' in d;d.get('Bart'),key不存在时返回None
更新:d['Paul'] = 72,若key值已存在,用新的value替换掉旧的value
遍历:获得key的list
12.set: s = set(['A', 'B', 'C']);//内部无序,内部元素类型必须不可变
访问:'Bart' in s//true/false
遍历: for name in s:
print name
更新:add(),remove();
13:定义函数:默认参数,可变参数(*args)
14.对list进行切片:L[1:5:2]:取索引从1-4,每两个取一个;倒序切片,倒数第一个元素的索引是-1
生成列表:range(1,101)创建一个大小为100的数组;range(1, 100, 2)
>>> [x * x for x in range(1, 11)]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
15.索引迭代:enumerate()函数,注意在Python中,迭代永远是取出元素本身,而非元素的索引
16.迭代dict的value:for v in d.values():;
迭代dict的key和value :for k,v in d.items():
17.复杂的表达式
18.列表生成式的 for 循环后面还可以加上 if 判断(多层表达式)
①数据类型:整数,浮点数,字符串(''或者""包围),布尔值(true,false,计算and,or,not;Python把0、空字符串''和None看成 False,其他数值和非空字符串都看成 True),空值(none)
②print语句:在python交互环境下写代码,print语句也可以跟上多个字符串,用逗号“,”隔开,就可以连成一串输出,遇到逗号“,”会输出一个空格再接着输出后面的
③注释:#行注释
④定义字符串时转义字符\的使用,表示某些特殊字符只是一个普通字符
⑤raw字符串和多行字符串:一个字符串包含很多需要转义的字符,可以在字符串前加个前缀 r ,表示这是一个 raw 字符串,里面的字符就不需要转义了;如果要表示多行字符串,可以用'''...'''表示
⑥Python的诞生比Unicode标准发布的时间还要早,最早的Python只支持ASCII编码,普通的字符串'ABC'在Python内部都是ASCII编码的。Python在后来添加了对Unicode的支持,以Unicode表示的字符串用u'...'表示
⑦创建list:list = [1,2,3],Python是动态语言,所以list中包含的元素并不要求都必须是同一种数据类型,我们完全可以在list中包含各种数据;按照索引访问list,倒序访问list;append()-》list末尾添加元素,insert()在指定位置插入,pop()删除最后一个元素,pop(n)删除指定位置元素
⑧创建元组tuple: t = ('Adam', 'Lisa', 'Bart'),一旦创建不能修改;创建单元素tuple时必须末尾多加一个逗号,否则会被解释器理解为整数,而不是元组;“可变”的tuple问题:t = ('a', 'b', ['A', 'B']),注意元组的不变性是指其指向不变
代码缩进规则:具有相同缩进的代码被视为代码块,4个空格不能用tab,如果你在Python交互环境下敲代码,还要特别留意缩进,并且退出缩进需要多敲一行回车
⑨if语句:if age >= 18:
print 'adult'
else:
print 'teenager'
嵌套的
if age >= 18:
print 'adult'
elif age >= 6:
print 'kid'
else:
print 'baby'
⑩循环
L = ['Adam', 'Lisa', 'Bart']
for name in L:
print name
while x < N:
print x
11:dict: d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59}//查找速度快,但占用内存,内部无序,key值得类型必须不可变,例如可变的list就不能作为key
访问:简单地使用 d[key] ,需要预判key是否存在:'Paul' in d;d.get('Bart'),key不存在时返回None
更新:d['Paul'] = 72,若key值已存在,用新的value替换掉旧的value
遍历:获得key的list
12.set: s = set(['A', 'B', 'C']);//内部无序,内部元素类型必须不可变
访问:'Bart' in s//true/false
遍历: for name in s:
print name
更新:add(),remove();
13:定义函数:默认参数,可变参数(*args)
14.对list进行切片:L[1:5:2]:取索引从1-4,每两个取一个;倒序切片,倒数第一个元素的索引是-1
生成列表:range(1,101)创建一个大小为100的数组;range(1, 100, 2)
>>> [x * x for x in range(1, 11)]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
15.索引迭代:enumerate()函数,注意在Python中,迭代永远是取出元素本身,而非元素的索引
16.迭代dict的value:for v in d.values():;
迭代dict的key和value :for k,v in d.items():
17.复杂的表达式
18.列表生成式的 for 循环后面还可以加上 if 判断(多层表达式)