Python知识点整理(基础篇)
来源:互联网 发布:提额软件 编辑:程序博客网 时间:2024/06/06 12:24
Python 数据类型基础
字面常量
所谓字面,就是我们在程序中直接以值的行式来操作、表现(可以对照变量);所谓常量,是指这些值不能再被改变了。字面常量的种类:(1)整形整形数值 默认是int型,例如:22,33如果要表示一个long型,则加 l、L后缀。例如:22L、33L(2)浮点型浮点数默认是双精度dobule型的。例如:33.3如果要表示单精度浮点型,加f、F后缀。例如:33.3F(3)字符串型包含在双引号""中的字符序列,是字符串。例如:“hello,world”(4)字符型用单引号''包含,或者用/转义的字符,是字符型。例如:/n、'a'
Python表达式
列表推导式(list comprehension)
语法:[expr for iter_var in iterable] 或 [expr for iter_var in iterable if cond_expr]
说明:
第一种语法:首先迭代iterable里所有内容,每一次迭代,都把iterable里相应内容放到iter_var中,再在表达式中应用该iter_var的内容,最后用表达式的计算值生成一个列表。
第二种语法:加入了判断语句,只有满足条件的内容才把iterable里相应内容放到iter_var中,再在表达式中应用该iter_var的内容,最后用表达式的计算值生成一个列表。
第一种语法:首先迭代iterable里所有内容,每一次迭代,都把iterable里相应内容放到iter_var中,再在表达式中应用该iter_var的内容,最后用表达式的计算值生成一个列表。
第二种语法:加入了判断语句,只有满足条件的内容才把iterable里相应内容放到iter_var中,再在表达式中应用该iter_var的内容,最后用表达式的计算值生成一个列表。
>>> [x**2 for x in range(9)]
[0, 1, 4, 9, 16, 25, 36, 49, 64]
>>> [x**2 for x in range(9) if x%2==0]
[0, 4, 16, 36, 64]
>>> [(x+1,y+1) for x in range(3) for y in range(3) if x>=y] #嵌套的for语句?
[(1, 1), (2, 1), (2, 2), (3, 1), (3, 2), (3, 3)]
生成器表达式
语法:(expr for iter_var in iterable) 或 (expr for iter_var in iterable if cond_expr)
说 明:列表解析是比较早的Python版本里就引进的(好像是2.0版本),而生成器表达式则是在2.4中引入的新内容,它和列表解析的语法很像,但是在大数据量处理时,生成器表达式的优势就体现出来了,因为它的内存使用方式更好,效率更高,它并不创建一个列表,只是返回一个生成器。当然,列表解析并不会被遗弃。
说 明:列表解析是比较早的Python版本里就引进的(好像是2.0版本),而生成器表达式则是在2.4中引入的新内容,它和列表解析的语法很像,但是在大数据量处理时,生成器表达式的优势就体现出来了,因为它的内存使用方式更好,效率更高,它并不创建一个列表,只是返回一个生成器。当然,列表解析并不会被遗弃。
举例:
>>> (i + 1 for i in range(10) if i % 2)
<generator object <genexpr> at 0x011DC5D0>
>>> g = (i + 1 for i in range(10) if i % 2)
>>> l = []
>>> for j in g:
l.append(j)
>>> l
[2, 4, 6, 8, 10]
从上面可看出,列表解析和生成器表达式语法虽然很像,但实质上还是有很大不同的。
>>> (i + 1 for i in range(10) if i % 2)
<generator object <genexpr> at 0x011DC5D0>
>>> g = (i + 1 for i in range(10) if i % 2)
>>> l = []
>>> for j in g:
l.append(j)
>>> l
[2, 4, 6, 8, 10]
从上面可看出,列表解析和生成器表达式语法虽然很像,但实质上还是有很大不同的。
条件表达式
Python2.5之后加入的
smaller = x if x < y else y
Python流程语句
循环中的else
在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。例子:
#!/usr/bin/pythoncount = 0while count < 5: print count, " is less than 5" count = count + 1else: print count, " is not less than 5"输出:
0 is less than 51 is less than 52 is less than 53 is less than 54 is less than 55 is not less than 5
0 0
- Python知识点整理(基础篇)
- Python 基础知识点整理
- Python知识点整理(函数篇)
- Python知识点整理(异常篇)
- python 基础知识点整理 和具体应用
- Python基础(语法知识点)
- python基础知识点(1)
- CSS知识点整理之基础篇
- 测试基础知识点整理(周末版)
- Java基础------知识点整理(一)
- Java基础------知识点整理(二)
- Java基础------知识点整理(三)----- 继承
- Java基础------知识点整理(五)-----多态
- Java基础------知识点整理(六)-----抽象
- Java基础------知识点整理(七)-----接口
- Java基础------知识点整理(九)-----异常
- 各种基础知识点整理(Java向)
- java2SE基础知识点整理(一)
- 2014.12.15 3D打印
- 使用Crashlytics来保存应用崩溃信息
- 解析几何 —— 圆
- Android 实现类似IOS App唤醒的代理方法
- shell使用小结
- Python知识点整理(基础篇)
- 欢迎使用CSDN-markdown编辑器
- 二叉树的递归和非递归实现 java
- poj1753 Flip Game 状态压缩+bfs
- java/Character类/正则表达式/Pattern/Matcher/Math/Random类
- Intellij Idea 15中开发Maven+osgi项目(Apache felix环境)
- Codeforces 360Div2
- U-boot配置及编译阶段流程宏观分析
- 修改apache的最大连接数