用了一周时间学习Python语言,把《Learning Python(第3版,2007.10)》这本书的内容基本上比较仔细地看了一遍。本文摘录一些有趣的语言特性。
1. ==和is操作符
来自: 第4章:Introducing Python Object Types
例子1:
L = [1, 2, 3]
M = [1, 2, 3]
L == M <-- true
L is M <-- false
例子2:
L = [1, 2, 3]
M = L # M and L reference the same object
L == M <-- 分别指向的对象是否相同?true
L is M <-- 是否指向同一个对象?true
2. 字符串加前缀字母
来自: 第4章:Introducing Python Object Types
例子1:
myfile = open(r'C:\new\text.dat', 'w')
相当于:
myfile = open('C:\\new\\text.dat', 'w')
例子2:u表示中文字符
#coding=utf-8
menuDefinitions = [{
"title" : u'编程示范',
"cls" : 'active',
。。。
3.slicing(片段)的概念
来自: 第4章:Introducing Python Object Types
str = "media/client/menuitem/Namespace.js"
str[-12:]=="Namespace.js"
str[:-12]=="media/client/menuitem/"
4.通过例子学习List Comprehensions
来自:第4章:Introducing Python Object Types
squares = [x ** 2 for x in [1, 2, 3, 4, 5]] <------ List Comprehensions
与下面的for等价:
squares = []
for x in [1, 2, 3, 4, 5]:
squares.append(x ** 2)
5.用缩进来标识代码块
来自:第10章:Introducing Python Statements
这是最令人吃惊的语言特性!
格式:
Header line:
Nested statement block
6.只要用一条语句就能交换两个变量的值
来自:第11章 Assignment, Expressions, and print
nudge = 1
wink = 2
nudge, wink = wink, nudge <----- Tuple assignment
7.If 测试
来自:第12章 if Tests
例子1:
branch = {'spam': 1.25,
'ham': 1.99,
'eggs': 0.99}
print branch.get('spam', 'Bad choice') <--- 代替了if
例子2:
-- A = Y if X else Z
也可以写为: A = [Z, Y][bool(X)]
8. 循环
来自:第13章 while and for Loops
例子1:
while x:
if match(x[0]):
print 'Ni'
break # Exit, go around else <--- 跳过 else:
x = x[1:]
else: <----- while 循环正常结束时执行 else:
print 'Not found'
例子2:按行读文件内容
for line in open('test.txt'):
print line
9. 用单元测试来保证软件的质量显得更加重要
来自:第15章 Function Basics
摘录: 写道
Of course, this polymorphic model of programming means we have to test our code
to detect errors, rather than providing type declarations a compiler can use to detect
some types of errors for us ahead of time. In exchange for an initial bit of testing,
though, we radically reduce the amount of code we have to write, and radically
increase our code’s flexibility.
10.关于lambda的例子
来自:第17章 Advanced Function Topics
f = lambda x, y, z: x + y + z <---- lambda = Anonymous Functions
等同于
def func(x, y, z): return x + y + z
分享到:
相关推荐
PythonDjango学习笔记Python简单运用(二).docx
Django学习笔记 帮助理清Django的框架,快速学会基于python上Django数据库开发。
python
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为...基于Django3.2+py3.9的靓号管理系统python源码+学习笔记.zip
django 学习笔记(1)—— python和web开发框架(csdn)————程序
django初期学习笔记 还有Python的正则表达式 建议sublime打开
Django学习笔记 1 学习了Django英文版实例,编写了一个实例工程。 2 在实例基础上记录了学习
python基于django的学习笔记系统源码.zip
PythonDjango学习笔记软件下载及安装(一).pdf
PythonDjango学习笔记软件下载及安装(一)参照.pdf
一起学习django,希望对你有帮助
千锋教育 Python 视频教程 www.qfedu.com/video 做真实的自己-用良心做教育 千锋教育 Python 入门教程 有人说,看着 Python 简单易学,想尝试自学,打算找些入门教程自学 Python,不知道哪的视频好。现在,你可来对...
Mysql、Python、Django、Flask、Redis面试笔记大全,不断学习。
本项目是一款基于Python语言及Django框架和PySide2库开发的学习笔记应用——CloudNote。该应用致力于为用户提供一个便捷的云端笔记记录平台。 技术构成: - 主要编程语言:Python - 前端页面实现:PySide2(用于...
python后端开发学习笔记,知识体系,技术栈 python Django mysql性能优化 redis 面向对象
2022 B站最详细django3教程(django从入门到实践) 很适合刚学习django的同学 通过一个案例,把django的基本的templates,models,urls,from,modelfrom讲的清清楚楚,甚至还给了我们应用场景。
Django学习笔记,对Django文档的细化和实例