python 学习心得第四章

1.lambda表达式

1:什么是lambda表达式

为了简化简单函数的代码,选择使用lambda表达式

上面两个函数的表达式虽然不一样,但是本质是一样的,并且lambda表达式和三元运算的结合,充分的减少了代码的数量

2.python的内置函数

1 绝对值 abs()

2 all()循环参数,如果每个参数都为真。则all返回True

all(里面是iterable)

注意假值都有:0 none False [] {}  '' () 都为假值

3 any() 只要有一个为真 就为真值

any(里面是iterate)

4 ascii,对象的类里面找_repr_方法的返回值

5 bin二进制

6 oct八进制

7 十进制

8 十六进制

9 各种进制转换为十进制

二进制转十进制

八进制转十进制

十六进制转十进制

int(里面第一个为进制的数,第二个为是什么进制)

10 bool判断对象的真假

11 str()将对象转化为字符串型

12 byte()将对象转为字节类型

如果是转数字则不用加encoding utf-8,转字符串就要加encoding utf-8

13 acsii内部的转化,ascii码是由一个字节决定的,总共是256总表示

14 随机验证码

15 可执行的

16 compile编译 python会打开需要执行的文件,把里面的内容识别为一个大的字符串,然后通过compile把这个大的字符串编译为python可以识别的代码

或者直接放一个字符串在compile里面让其进行编译

17 dir()查询功能

18 help()查询功能

19 divmod 返回通过被除数和除数 返回商和余数(一般用于分页,只要有余数,说明要加一页)

20 eval执行代码表达式

excel表里面可以用这个方法进行计算,因为excel里面默认的都是字符串

eval里面可以传人字典参数

eval只能执行表达式且有返回值

21 exec执行python的代码

exec执行的代码没有返回值,所以不能执行表达式这种代码

总结:python的compile、eval、exce组合起来用,compile用来执行编译代码,eval和exce用来执行代码。

22 filter过滤,filte(函数,iterate)

filte里面直接传人函数,如果用的是lambda就直接写lambda的表达式

并且a只有循环以后才能看见元素,原理和rang只有循环以后元素才会进入内存是一样的

23 map (函数,iterate)让所有的元素都受到函数的执行

24 globals()和locals()

注意 globals放在那里都可搜全局变量,但locals只能放在你学、要搜索的局部里面才能搜局部变量

25 hash()为了保存比较大的字符串且方便快速定位。比如字典的K很大,可以保存为hash值

无论保存的是什么字符串,都是一样的长度值

26 isinstance 判断这个对象是不是这个类创造的,支持当前类的父类

27 iter创造一个可以iterate的对象

28 next取iter创造出来的对象里面的元素

如果取完了就会报错

29 max 和 min去最大最小值

30 pow求指数

31 round四舍五入

32 sum 求和 ,里面是iterable的

sum参数里面iterable后面的参数是求和以后继续增加的数字

33 zip组合元素

由于li1和li2都是元组所以a为((11,'a'),(22,'b'),(33,'c'))如果li1和li2为列表则为[(11,'a'),(22,'b'),(33,'c')]

排序sort()只能数字和数字排序,字符串和字符串排序

对于数字按大小排列的

对于字符串,把其转换为字节以后按数字>字母>汉字(汉字字符串转换为字节以后按数字小的排在前面)

3.函数的形参是对实参的引用

4.文件的操作

文件操作一般分为打开文件,操作文件,关闭文件

打开文件的时候需要指定打开文件的路径和方式

打开文件用open函数

打开文件的模式有

  • r 只读(也是文件的默认操作)
  • w 只写 (不可读,不存在则创建,存在则清空)
  • x 只写 (不可读,不存在则创建,存在则报错)
  • a 只写 (不可读 不存在则创建 ,存在则报错)

r 只读:

w 只读:

x 只读:

a 追加:

在基本操作后面加“+”符号,表示可读可写

  • r+ 读写
  • w+ 写读
  • x+ 写读
  • a+ 写读

r+:

w+:(x+和w+一样,唯一的不同就是当文件存在的时候x+报错)

a+:

在基本操作后面加b,所以python通过文件和计算机交互就使用字节,不再使用字符串

  • rb,r+b
  • wb,w+b
  • xb,x+b
  • ab,a+b

rb:

如果想要读取b的内容只能用print(str(b, encoding='utf-8'))方法转换为字符串来看

wb:(ab和xb与wb的写方法相同)

文件操作常用的功能:

write(写)、close(关)、read(读)、readline(一行一行的读)、seek(操作指针的位置)、tell(找到指针的位置)、flush(文件还没有操作完关闭的时候,数据还在内存,强行把数据刷到硬盘)

truncate(把指针前面的数据都保留下来,其它的删除)

注意:seek在选择指针位置的时候,如果是r方式类型,则read()里面的指针是按一个字符一个字符走的,如果是rb类型的方式,read()里面的指针是按一个字节一个字节走的。

每一次关掉文件以后,指针会自己归零

with ....as方法的操作:

1 可以不用再写close(),执行完以后自动关闭文件。

2 可以同时执行两个文件,这是py2.7以后新开发的功能

本章总结:

1 函数可以作为参数 传递到另外一个函数里面

a代表的是函数,a()代表执行函数。x=123和a=a代表的函数是一个道理

2 利用函数的传递实现map功能

无论是现实map还是filter都是实参的时候传一个函数和一个对象进去,在函数内部将形参进行for循环,利用for循环出来的对象元素再将其放入形参函数进行操作,最后得到处理以后的结果

3 读和写的时候内部有两个指针,分别被读和写操作

python学习心得第四章的更多相关文章

  1. python学习心得第五章

    python学习心得第五章 1.冒泡排序: 冒泡是一种基础的算法,通过这算法可以将一堆值进行有效的排列,可以是从大到小,可以从小到大,条件是任意给出的. 冒泡的原理: 将需要比较的数(n个)有序的两个 ...

  2. python学习心得第三章

    python学习心得第三章 1.三元运算 变量=值1 if 条件 else 值2 由图如果条件成立则赋值1给变量,如果条件不成立则赋值2给变量. 2.数据类型 集合:set() class set(o ...

  3. [Python学习笔记][第四章Python字符串]

    2016/1/28学习内容 第四章 Python字符串与正则表达式之字符串 编码规则 UTF-8 以1个字节表示英语字符(兼容ASCII),以3个字节表示中文及其他语言,UTF-8对全世界所有国家需要 ...

  4. Python学习系列----第四章 函数

    4.1 函数定义   函数是python中重要的工具.函数用关键字 def 来定义.def 关键字后跟一个函数的标识符名称,然后跟一对圆括号.圆括号之中可以包括一些变量名,该行以冒号结尾.接下来是一块 ...

  5. Python学习笔记 -- 第四章

    高阶函数 变量可以指向函数 f=abs f(-10) 10 变量f指向abs函数,直接调用abs()函数和调用f()完全相同 传入参数 变量可以指向函数,函数的参数可以接收另一个函数的参数,这种函数成 ...

  6. 我的MYSQL学习心得(四) 数据类型

    我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(五) 运 ...

  7. [Python学习笔记][第五章Python函数设计与使用]

    2016/1/29学习内容 第四章 Python函数设计与使用 之前的几页忘记保存了 很伤心 变量作用域 -一个变量已在函数外定义,如果在函数内需要修改这个变量的值,并将这个赋值结果反映到函数之外,可 ...

  8. WCF学习心得----(四)服务承载

    WCF学习心得----(四)服务承载 这一章节花费了好长的时间才整理个大概,主要原因是初次接触这个东西,在做练习实践的过程中,遇到了很多的问题,有些问题到目前还没有得以解决.所以在这一章节中,有一个承 ...

  9. 我的MYSQL学习心得(四)

    原文:我的MYSQL学习心得(四) 我的MYSQL学习心得(四) 我的MYSQL学习心得(一) 我的MYSQL学习心得(二) 我的MYSQL学习心得(三) 我的MYSQL学习心得(五) 我的MYSQL ...

随机推荐

  1. ruby中tes-unitt数据初始化方法整理

    在用ruby做测试时,很多时候需要一些数据初始化以及事后的数据恢复还原之类的操作,下面整理了这些方法.require "test/unit" class TestAnion < ...

  2. coderforces 731c

    题目大意:给出m组数据,每组数据包括两个数Li与Ri,分别表示左右袜子的索引(下标),表示这一天要穿的袜子:而我们要使得每天穿的这两只袜子的颜色相同,所以可以改变袜子的颜色,每次只能改变一只袜子的颜色 ...

  3. javascript基础部分

    javascript基础部分 1  数据类型: 基础数据类型(通过typeof来检测):Number,string,undefined,null,boolean,function typeof只能检测 ...

  4. SVN的感叹号

    黄色感叹号(有冲突):--这是有冲突了,冲突就是说你对某个文件进行了修改,别人也对这个文件进行了修改,别人抢在你提交之前先提交了,这时你再提交就会被提示发生冲突,而不允许你提交,防止你的提交覆盖了别人 ...

  5. MVC4 +EasyUI Tabs 使用

    Tabs 右键菜单功能实现 前端 <div id="tabs" class="easyui-tabs" fit="true" bord ...

  6. css属性在各种浏览器上的兼容性

    transform:在360急速浏览器不支持,在IE兼容性上看IE浏览器的版本,IE9+是支持.

  7. Python爬虫 网页图片

    一 概述 参考http://www.cnblogs.com/abelsu/p/4540711.html 弄了个Python捉取单一网页的图片,但是Python已经升到3+版本了.参考的已经失效,基本用 ...

  8. Kendo UI For ASP.NET MVC项目资源

    一.官网: 1.Telerik大学官网:http://best.telerikacademy.com/ 二.相关博客 1.http://blog.csdn.net/magicsgxie/article ...

  9. 基于Grunt&Mocha 搭建Nodejs自动化单元测试框架(含代码覆盖率统计)

    Introduction Grunt 是一个基于任务的JavaScript 世界的构建工具 Mocha 是具有丰富特性的 JavaScript 测试框架,可以运行在 Node.js 和浏览器中,使得异 ...

  10. 01-C#入门(调试和错误处理)

    老实说,这一章没有什么要写的,很多都是实操性的东西. 调试方法 可以使用Debug.WriteLine().Trace.WriteLine()输入调试信息到窗体下的输出窗口,不过没怎么用过,比较有用的 ...