【学习笔记】python
1. len( s )
返回对象(字符、列表、元祖等)的长度或项目个数。
>>>str = "runoob"
>>> len(str) # 字符串长度
6
>>> l = [1,2,3,4,5]
>>> len(l) # 列表元素个数
5
2. from __future__ import xxx
首先要说明的是, from __future__ import print_function 一般需要放在脚本文件第一行。因为这个 statement 改变的是语言的基础功能,编译解释器需要从一开始就知道这一点。
以 from __future__ import print_function 为例,导入之后, print 就不再作为 special keyword 使用而是作为一个函数 print ( arg ) 来使用了,小括号需要加上。
from __future__ import print_function
import sys
import os
import time for x in range(0,10):
print(x, sep=' ', end='') # No need for sep here, but okay :)
time.sleep(1)
附 python 说明文档摘录,可以出现在 __future__ 之前的只有the module docstring, comments, blank lines, and other future statements
A future statement is recognized and treated specially at compile time: Changes to the semantics of core constructs are often implemented by generating different code. It may even be the case that a new feature introduces new incompatible syntax (such as a new reserved word), in which case the compiler may need to parse the module differently. Such decisions cannot be pushed off until runtime.
再例如下面的代码,如果没有__future__ 的声明,两个 print 输出都是1。本质差异在于,如果没有 import division, / 会映射到 __div__() 方法,如果有 import 则会映射到 __truediv__() 方法(注意,两种情况下, // 都映射到 __floordiv__())
Future statements are special -- they change how your Python module is parsed, which is why they must be at the top of the file. They give new -- or different -- meaning to words or symbols in your file.
3. xrange()
xrange() 函数用法与 range() 完全相同,所不同的是 xrange() 生成的不是一个数组,而是一个生成器。使用方法如下:
xrange(stop)
xrange(start, stop[, step])
参数说明: start 计数从 start 开始。默认为0。如 xrange(5) 等价于 xrange(0, 5); stop 计数到 stop 结束,但不包括 stop。如xrange(0, 5) 是 [0, 1, 2, 3, 4] 没有 5; step 步长,默认为1。如xrange(0, 5) 等价于 xrange(0, 5, 1)。
range() 方法返回的是一个 list 对象,它需要开辟专门的空间保存序列中所有的元素。
xrange() 方法返回的是 xrange 对象,它是一个序列对象,但并不保存序列中的元素。
根据 python 官方文档的定义,一个序列对象不必要保存所有的元素。
如果只对序列进行读操作, xrange() 方法效率较高;但如果要改变序列的元素,或者需要对序列增删元素,那么只能通过 range() 方法生成一个list对象。
4. lambda 表达式
相对于def定义的函数而言, lambda 表达式则简单很多,因为其主体是一个表达式而非代码块,并允许在代码内嵌入一个函数定义,不过一般只能封装有限的逻辑。
如下面的例子所示, lambda 表达式定义了一个匿名函数,用于筛选100以内3的倍数,并生成一个列表。
list (filter(lambda x:True if x % 3 == 0 else False, range(100)))
当然lambda表达式也可以嵌套在函数体内,使用的时候可以用一个变量来接收,如下:
def make_repeat(n):
return lambda s : s * n double = make_repeat(2) # double变量此处是一个函数
print (double(8)) # 使用double向lambda表达式里的s传一个参数,并得到表达式的结果
5. with 关键字
如果你有两个想过的操作,你想要的这个操作成对执行,中间插入一段其他的代码,使用 with 就是一种很方便的方法。最经典的例子就是打开一个文件,对文件进行操作然后在关闭文件。
with open('output.txt', 'w') as f:
f.write('Hi there!')
上述的 with 语句会在嵌入的程序运行完后自动关闭文件。使用 with 语句的好处就是无论嵌套模块如何退出,都可以保证文件被关闭。
如果嵌套模块结束之前有异常发生,系统将在异常被外部异常处理程序捕获之前关闭该文件。
如果嵌套模块中包含有 return 语句、 continue 语句或者 break 语句, with 语句一样可以在跳转之前自动关闭文件。
6. chr()函数
用于将一个范围在 range(256)内的整数(也即是 0~255)转换成对应的 ASCII码字符。
>>> print chr(0x30) # 十六进制
0
>>> print chr(1) # 十进制数,ASCII码1表示start of heading,什么也不输出 >>> chr(1)
'\x01'
与此相对应的有一个函数 ord(),则是返回单个 ASCII字符对应的 ASCII值或 Unicode值。
>>> ord('d')
100
>>> ord('A')
65
reference
[2] python lambda表达式
未完待续……
【学习笔记】python的更多相关文章
- MongoDB学习笔记:Python 操作MongoDB
MongoDB学习笔记:Python 操作MongoDB Pymongo 安装 安装pymongopip install pymongoPyMongo是驱动程序,使python程序能够使用Mong ...
- Python学习笔记—Python基础1 介绍、发展史、安装、基本语法
第一周学习笔记: 一.Python介绍 1.Python的创始人为吉多·范罗苏姆.1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言 ...
- Python学习笔记--Python字符串连接方法总结
声明: 这些总结的学习笔记,一部分是自己在工作学习中总结,一部分是收集网络中的知识点总结而成的,但不到原文链接.如果有侵权,请知会,多谢. python中有很多字符串连接方式,总结一下: 1)最原始的 ...
- 学习笔记——python(继承)
学习笔记(Python继承) 有几种叫法(父类-子类.基类-派生类)先拿代码演示一下: class father: def work(self): print("work>>&g ...
- 集智人工智能学习笔记Python#0
1,学习基本Python语句规范: print('Hello world') print() 为函数 ‘Hello world’为字符串 2,表达式和语句的区别: 表达式有结果,运算就是表达式的一种: ...
- python学习笔记-python程序运行
小白初学python,写下自己的一些想法.大神请忽略. 安装python编辑器,并配置环境(见http://www.cnblogs.com/lynn-li/p/5885001.html中 python ...
- python学习笔记-python解释器
刚开始学习python,首先要了解一下python解释器. 什么是python解释器? 编写python代码保存后,我们会得到一个以.py为扩展名的文本文件.要运行此文件,就需要python解释器去执 ...
- Python学习笔记(Ⅰ)——Python程序结构与基础语法
作为微软的粉丝,最后终于向Python低头了,拖了两三个月终于下定决心学习Python了.不过由于之前受到C/C#等语言影响的思维定式,前期有些东西理解起来还是很费了些功夫的. 零.先抄书: 1.Py ...
- python学习笔记--python编程基础
一.一个隆重的仪式 我们在学习语言的时候,第一个写的程序肯定都是hello world.来写第一个程序吧,其实很简单,python的语法就是简单.优雅,一个print就搞定. 1 print('hel ...
- python学习笔记--python简介
一.什么是python? python是一种面向对象.解释型的高级程序语言.python具有语法简洁.易于学习.功能强大,可扩展性强,跨平台等诸多特点.1989年开始开发,于1991年发布第一个公开发 ...
随机推荐
- SpringBoot打包项目成war包,并部署到服务器的tomcat上
最近遇到项目需要上线部署到服务器,需要讲自己的SpringBoot项目打包成war包,部署到tomcat上. 下面记录下打包部署的过程. (1) 将SpringBoot项目打包成war包, 一.修改打 ...
- ASP.NET WebApi系列
ASP.NET Web API 是一种框架,用于轻松构建可以访问多种客户端(包括浏览器和移动设备)的 HTTP 服务. ASP.NET Web API 是一种用于在 .NET Framework 上构 ...
- 关于视频断点续播和H5的本地存储
前段时间,需要在下实现一个视频的断点续播功能,呃,我不会呀,这就很尴尬了.然后呢,在下就想起了一个叫做localStorage的东西.这是个什么东西呢?在网上查阅了一些资料后,在下发现这是webSto ...
- eclipse导入java工程
1)File下的import选项 2)点击General,选择Existing Projects into Workspace,点击next 3)点击Browse,在弹出的窗口中选择导入工程所在的文件 ...
- python之循环(增删)内使用list.remove()
dat=['] for item in dat: ': dat.remove(item) print(dat) #按要求是把'0'都删掉的,输出结果是['1', '2', '3', '0'] ?? 首 ...
- vue路由懒加载 及import
- Android为TV端助力:adb查找包名位置
logcat | grep START 查找启动launcher adb shell "pm list packages -f | grep +包名" 查找包的路径
- 简单易懂的单元测试框架-gtest(二)
简介 事件机制用于在案例运行前后添加一些操作(相当于挂钩函数).目前,gtest提供了三种等级的事件,分别: 全局级,所有案例执行的前后 TestSuite级,某一个案例集的前后 TestCa ...
- Spark MLlib FPGrowth关联规则算法
一.简介 FPGrowth算法是关联分析算法,它采取如下分治策略:将提供频繁项集的数据库压缩到一棵频繁模式树(FP-tree),但仍保留项集关联信息.在算法中使用了一种称为频繁模式树(Frequent ...
- 该用Python还是SQL?4个案例教你节省时间
在数据分析行业,对数据提出的每一个问题都可以用多种潜在的语言和工具包来回答.每种语言都有其优势,它们之间也存在着不同的区别.不能否认的是,有些操作用Python执行起来要比SQL更加高效.这篇文章分享 ...