python学习笔记之(四)

本节介绍python的一些高级特性

1.切片

数字字符均适用:

>>> L = range(100)
>>> L[:10:2]
[0, 2, 4, 6, 8]
>>> L[::5]
[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95]

range函数为内部函数,生成长度为n的自然list

头:尾:间隔

>>> L[-1]
99
>>> L[-3:]
[97, 98, 99]

字符串也可:

>>> 'ABCDEFGHIJ'[:3]
'ABC'
>>> 'ABCDEFGHIJ'[::2]
'ACEGI'
2.迭代

只要满足条件,什么数据类型都能迭代

条件

>>> from collections import Iterable
>>> isinstance('abc', Iterable)
True

迭代dict:

>>> d = {'a':1, 'b':2, 'c':3}
>>> for key in d:
	print key

	
a
c
b

>>> for value in d.itervalues():
	print value

	
1
3
2

给list 加下标:

>>> for i, value in enumerate(['A', 'B', 'C']):
	print i, value

	
0 A
1 B
2 C

循环中引入两个变量:

>>> for x, y in [(1, 1), (2, 4), (3, 9)]:
	print x, y

	
1 1
2 4
3 9

3.列表生成式

是python内置的简单却强大的用于创建list的生成式

基础用例:

>>> [x*x for x in range(1, 11)]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

也能用于全排或显示dict的key与value:

>>> [m + n for m in 'ABC' for n in 'XYZ']
['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']
>>> d = {'x':'a', 'y':'b', 'z':'c'}
>>> for k, v in d.iteritems():
	print k, '=', v

	
y = b
x = a
z = c
>>> [k + '=' + v for k, v in d.iteritems()]
['y=b', 'x=a', 'z=c']


综合用例:

>>> L = ['Hello', 'World', 'IBM', 18]
>>> [s.lower() for s in L if isinstance(s, str)]
['hello', 'world', 'ibm']

4.生成器

如果列表元素可以按照某种算法推算出来,就不必生成整个列表,而是通过循环的过程推出后续元素,节省空间。

python中可以变循环边计算的机制就是生成器---generator

将列表生成式的[]改成()就是创建generator的一种方法:

>>> g = (x*x for x in range(1, 11))
>>> g
<generator object <genexpr> at 0x00000000029C9EA0>
>>> g.next()
1
>>> for n in g:
	print g

可以使用next()来调用。但不好用,一般使用迭代来调用:

>>> g = (x*x for x in range(1, 11))
>>> for n in g:
	print n

	
1
4
9
16
25
36
49
64
81
100

创建generator的另一种方法是在函数定义中使用 yield 关键字:

>>> def fab(max):
	n, a, b = 0, 0 ,1
	while n < max:
		yield b
	        a , b = b, a+b
	        n = n + 1

	        
>>> fab(6)
<generator object fab at 0x00000000029C9EA0>

程序yield处,原是 return ,是裴波那切数列的生成方式




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python学习笔记PDF是一种学习Python编程语言的资料形式,它包含了Python的基本语法、数据类型、流程控制、函数、模块、面向对象编程、异常处理等相关内容。以下是关于Python学习笔记PDF的详细内容说明: 1. 基本语法:Python学习笔记PDF中,首先介绍了Python的基本语法,例如如何定义变量、数据类型的使用(包括整数、浮点数、字符串、列表、元组、字典等),以及如何进行算术运算、比较运算和逻辑运算。 2. 流程控制:Python学习笔记PDF中,进一步介绍了流程控制的知识,包括条件判断和循环控制。条件判断主要是通过if语句进行判断执行不同的代码块,而循环控制则通过while循环和for循环来实现重复执行一段代码。 3. 函数:Python学习笔记PDF中,对函数的概念和使用进行了详细的解释。函数是代码的封装和组织方式,通过定义函数可以提高代码的重用性和可读性。学习者将了解到如何定义函数、调用函数、函数参数的传递以及函数返回值的使用。 4. 模块:Python学习笔记PDF中,介绍了Python中的模块和包的概念。模块是一组函数、类或变量的集合,以.py文件的形式存在,可以被其他程序调用和使用。学习者将学习如何导入模块、使用模块中的函数和变量。 5. 面向对象编程:Python学习笔记PDF中,对面向对象编程进行了系统的讲解。面向对象编程是一种以对象为基本单位的编程思想,通过定义类和对象,可以更好地组织和管理代码。学习者将了解如何定义类、创建对象、封装、继承和多态的使用。 6. 异常处理:Python学习笔记PDF中,对异常处理进行了介绍。异常是程序在运行过程中出现的错误,通过捕获和处理异常,可以更好地控制程序的执行流程并提高程序的健壮性。学习者将了解到如何使用try-except语句来捕获和处理异常。 总之,Python学习笔记PDF是一份全面而详细的学习Python编程语言的资料,通过学习该资料,学习者将获得扎实的Python编程基础,并能够运用Python进行简单的程序开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值