python学习笔记(四) 思考和准备】的更多相关文章

一.zip的坑 zip()函数接收多个可迭代数列,将数列中的元素重新组合,在3.0中返回迭代器指向 数列首地址,在3.0以下版本返回List类型的列表数列.我用的是3.5版本python, 所以zip返回的是指向地址. 先看几个例子 结果: 可见,在3.0以上版本,对zip函数返回的结果采用list函数可以转化为列表. 通过列表生成式同样可以将zip结果化为列表. 结果: 当zip操作的对象为一个列表,那么生成的列表中每个元素(元祖)中 为(n,)形式. 当zip操作的多个列表长度不一样,那么z…
Python的函数除了正常使用的必选参数外,还可以使用默认参数.可变参数和关键字参数. 默认参数 基本使用 默认参数就是可以给特定的参数设置一个默认值,调用函数时,有默认值得参数可以不进行赋值,如: def power(x, n=2): s=1 while n > 0: n = n - 1 s = s * x return s 这样调用power(5)时,相当于调用power(5, 2). 设置默认参数时的注意事项: 一是必选参数必须在前,默认参数在后,否则Python的解释器会报错: 二是如何…
一.装饰器 1.知识储备 函数对象 函数可以被引用 函数可以当参数传递 返回值可以是函数 可以当作容器的元素 def func1(): print (666) def func2(): print (666) def func3(): print (666) list1=[func1,func2,func3] for i in list1: i() *args:接收溢出的位置参数 **kwargs:接收溢出的关键字参数 名称空间与作用域 2.闭包函数 闭包函数的定义:定义在函数内部的函数,特点是…
一:定义类并创建实例 Python中定义类,通过class关键字,类名开头大写,参数列表为所继承的父类.如果没有需要明确继承的类,则继承object. 使用类来创建对象,只需 类名+() 形式即可,python中没有new创建对象的. class Person(object): pass xiaoming = Person() xiaohong = Person() 二:动态改变的类属性 Python可以在创建实例后,通过实例来添加属性.而不是直接在类中定义好所有属性,并且同一个类的不同对象,可…
一.函数是什么? 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,编程中的函数在英文中也有很多不同的叫法.在BASIC中叫做subroutine(子过程或子程序),在Pascal中叫做procedure(过程)和function,在C中只有function,在Java里面叫做method. 定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可. 二.使用函数的好处: 1.简化代码2.提高代码的复用性3.代码可扩展 三.p…
一.生成器 生成器是什么?其实和list差不多,只不过list生成的时候数据已经在内存里面了,而生成器中生成的数据是当被调用时才生成呢,这样就节省了内存空间. 1. 列表生成式,在第二篇博客里面我写了三元运算符,和那个有点像,如果要生成列表[‘01’, ‘02’, ‘03’, ..., ‘10’]怎么做?除了循环还可以用一行语句代替循环生成. list = [str(i).zeffill() for i in range(1,11)] 生成器:要创建一个generator,有很多种方法.第一种方…
在能够获取到网页内容之后,发现内容很多,那么下一步要做信息的筛选,就和之前的筛选图片那样 而在python中可以通过正则表达式去筛选自己想要的数据 1.首先分析页面内容信息,确定正则表达式.例如想获取下面这些内容的链接 可以通过筛选出符合<li><a href="xxx"的内容,获取到href中的链接,设置正则:reg = r'<li><a href="(.+?)"'去筛选数据就OK了: 2.在python中用正则表达式去筛选数据…
迭代器 __iter__方法返回一个迭代器,它是具有__next__方法的对象.在调用__next__方法时,迭代器会返回它的下一个值,若__next__方法调用迭代器 没有值返回,就会引发一个StopIteration异常.    特点: 访问者不需要关心迭代器内部的结构,仅需通过__next__方法不断去取下一个内容 不能随机访问集合中的某个值 ,只能从头到尾依次访问 访问到一半时不能往回退 便于循环比较大的数据集合,节省内存 name = iter(['koka','lolo','lala…
字典是Python中唯一的映射类型.所谓映射即指该数据类型包含哈希值(key)和与之对应的值(value)的序列.字典是可变类型.字典中的数据是无序排列的. 4.1.1字典的创建及赋值 dict1={} dict2={'name':John,'age':24} 使用dict()函数创建字典. dict()函数接受序列,或关键字参数作为参数创建字典.若不提供参数则创建空字典. dict1=dict([['x',1],['y',2]])#接受list作为参数创建字典 dict2=dict(x=1.y…
1 再谈print和import 1.1 打印多个参数 print 能够同时打印多个表达式,并且能自定义分隔符.如下: print('a','b','c') ——> a b c print('a','b','c',sep="_") ——> a_b_c 1.2 import 导入模块时,能够给导入的模块取一个别名(相对于生活中的小名,不管怎么叫,还是你而已),方法是在语句末尾添加 as 子句并指定别名. import math as foobar from pi import…