Python基础教程笔记——第5章:条件,循环和其他语句
5.1 print和import的更多信息
1. print()3.0之后print不再是语句,而是函数,
>>> print('udg',12,13) udg 12 13
>>> name='yanliang' >>> print(name) yanliang
2. import 把某件事当做另外一件事导入
import somemodule
from somemodule import somefunction
from somemodule import somefunction1,somefunction2,somefunction3.。。。
from somemodule import *
(1)为导入的模块提供别名:>>> import math as foo >>> foo.sqrt(4) 2.0
(2)也可以为函数提供别名:>>>from module import function as function1
5.2 赋值魔法
1. 序列解包
(1)多个赋值同时进行:>>> x,y,z=1,2,3 >>> print(x,y,z) 1 2 3
(2)>>> x,y=y,x >>> print(x,y) 2 1
2. 链式赋值
(1)>>> x=y=2 相当于 >>> y=2 >>> x=y
3. 增量赋值
(1)>>> x+=3 类似于C++中的
5.3 语句块:缩排的乐趣
5.4 条件和条件语句
1. bool值是True配合False ,bool()函数可以用来转换其它的值。
2. if语句
name=input("what is your name!")
if name.endswith('liang'):
print('hello,yanliang')
3.else子句
name=input("what is your name!")
if name.endswith('liang'):
print('hello,yanliang')
else:
print("hello stringer")
4. elseif
5. 嵌套代码块
6. 更复杂的条件
(1)比较运算符:例如x<y , x<=y ,0<x<100也可以等
(2)相等运算符:>>> "foo"=="foo" True >>> "foo"=="fod" False
(3)is: 同一性运算符:
>>> x=y=[1,2,3] >>> x is y True 这里x,y被绑定到同一个对象上,所以具有同一性
>>> z=[1,2,3] >>> z is y False z虽然与y是相等的但不是同一个对象所以不具有同一性
(4)in 成员资格运算符
(5)字符串和序列的比较:按照字母顺序排列
(6)bool运算符:and or not
name=int(input("input the number"))
if name<10 and name>1:
print("OK")
else:
print("wrong")
(7)断言 assert 当不满足条件时直接崩溃退出
5.5 循环
1. while循环
name=''
while not name:
name=input("please input your name")
print("hello %s !" % name)
2. for循环
for number in range(10):
print(number)
3. 循环遍历字典元素
d={"a":1,"b":2,"c":3}
for key in d:
print(key,"corrsponds to",d[key])
4. 一些迭代工具
(1)并行迭代:zip()可以将两个序列合成一个字典对应起来
key1=['a','b','c']
value2=[1,2,3]
mapa=zip(key1,value2)
for name,age in mapa:
print(name,'is',age)
(2)编号迭代
将字符串数组中的包含‘yan’的自字符串全部替换成‘yanliang’
一种方法:
strings=['jhsf','yansgd','gd']
print(strings,'\n')
index=0;
for string in strings:
if 'yan' in string:
strings[index]='yanliang'
index+=1
print(strings,'\n')
第二种方法:采用enumerate函数 enumerate(strings)可以返回索引-值对
strings=['jhsf','yansgd','gd']
print(strings,'\n')
index=0;
for index,string in enumerate(strings):
if 'yan' in string:
strings[index]='yanliang'
print(strings,'\n')
(3)翻转和排序迭代
sorted和reserved 返回排好序或翻转后的对象
sort和reserve 在原地进行排序或翻转
5. 跳出循环
(1)break
(2)continue
(3)while True 。。。break
6. 循环中的else 语句
5.6 列表推导式——轻量级的循环
>>> [x*x for x in range(10)] [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> [x*x for x in range(10) if x%3==0] [0, 9, 36, 81]
5.7 pass del exec
pass: 程序什么也不做
del: 不仅会删除对象的引用也会删除对象的名称,但是那个指向的对象的值是没办法删除的
exec: 执行一个字符串语句
最好是为这个exec语句提供一个命名空间,可以放置变量的地方
eval:
>>> eval(input('please input the number \n'))
please input the number
1+2+3
6
Python基础教程笔记——第5章:条件,循环和其他语句的更多相关文章
- Python基础教程之第5章 条件, 循环和其它语句
Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win32 #Chapter 5 条件, 循环 ...
- Python基础教程笔记——第7章:更加抽象(类)
下面进入Python的面向对象: 对象的魔力: 多态:---可以对不同类的对象使用同样的操作 封装:---对外部隐藏对象内部的工作方式 继承:---以普通的类为基础建立专门的类对象 (1)多态: is ...
- Python基础教程笔记——第4章:字典
字典 字典是Python唯一内建的数学映射类型,字典中的值没有特殊的顺序,键可以是数字,字符串,甚至是元组 字典的创建: 字典由键值对构成,字典中键是唯一的,而值不唯一.>>> a_ ...
- Python基础教程笔记——第2章:列表和元组
python shell 里重复上一次的命令:Alt+p 2.3 列表:Python的苦力 (1)list函数 (2)列表赋值,不蹦蹦为一个元素不存在的位置赋值 (3)删除元素,del name[1] ...
- Python基础教程笔记——第1章
1.8 函数 pow(x,y) x^y abs(x) 取数的绝对值 round(x) 会把浮点数四舍五入为最接近的整数 floor(x) 向下取整的函数,但是需要先imp ...
- Python基础教程笔记——第6章:抽象(函数)
(1)计算裴波那契数列: fbis=[0,1] num=int(input("please input the number")) for i in range(num-2): f ...
- Python基础教程笔记——第3章:使用字符串
字符串是不可修改的,标准序列操作(索引,分片,判断成员资格,求长度,取最大值 最小值)对字符串都是有效的. 格式化字符串,类似于C语言的输出是的感觉. >>> format=&quo ...
- python基础教程笔记—即时标记(详解)
最近一直在学习python,语法部分差不多看完了,想写一写python基础教程后面的第一个项目.因为我在网上看到的别人的博客讲解都并不是特别详细,仅仅是贴一下代码,书上内容照搬一下,对于当时刚学习py ...
- python基础教程笔记—画幅好画(详解)
今天写一下基础教程里面的第二个项目,主要使用python来做一个pdf的图,比较简单. 首先我们需要安装用到的模块pip install reportlab即可. 书上是用urlopen从往上下了一个 ...
随机推荐
- vs 2015 编译cocos2dx 报错
VS 2015 compiling cocos2d-x 3.3 error “fatal error C1189: #error: Macro definition of snprintf confl ...
- C#处理Android Audio and Video
Video Converter for .NET (C#) FFMpeg wrapper http://www.nrecosite.com/video_converter_net.aspx Docum ...
- .net4.5注册到iis
开始->所有程序->附件->鼠标右键点击“命令提示符”->以管理员身份运行->%windir%\Microsoft.NET\Framework\v4.0.30319\as ...
- java将一个List赋值给另一个List的4种方法
编辑 删除 声明:ArrayList a, 仅仅只是声明了一个list变量,其未来作用相当于C++中的引用变量,亦或者相当于一个对象块的索引,但并未为其分配具体的完整的对象所需要的内存空间,其所分配的 ...
- vue+element ui项目总结点(一)select、Cascader级联选择器、encodeURI、decodeURI转码解码、mockjs用法、路由懒加载三种方式
不多说上代码: <template> <div class="hello"> <h1>{{ msg }}</h1> <p> ...
- InvocationTargetException异常的深入研究-servlet的setAttribute与getAttribute
在某项目中,前端jsp传入的用户id数据通过session域传入后台servlet进行处理的过程中,无意间出现了InvocationTargetException异常 前端部分代码如下:测试代码,非原 ...
- elasticsearch插入索引文档 对数字字符串的处理
对于字符串在搜索匹配的时候,字符串是数字的话需要匹配的是精准匹配,如果是部分匹配字符串的话,需要进行处理,把数字型字符串作为一个字符中的数组表示插入之后显示如下: 如果插入之后显示如画线部分的话,则表 ...
- ubuntu 安装 pcap
最近在做负载均衡配置,希望将多个dhcp服务配置成一个虚拟dhcp地址,实现dhcp服务高可用.然而配置完成后却发现一个问题,该如何测试呢. 因此就要用上python了,然后ubuntu下面用pip ...
- vue-gemini-scrollbar(vue组件-自定义滚动条)
vue-gemini-scrollbar(vue组件-自定义滚动条) https://segmentfault.com/a/1190000013338560
- jxcel - 好用的Excel与Java对象转换工具
更多精彩博文,欢迎访问我的个人博客 Jxcel简介 Jxcel是一个支持Java对象与Excel(目前仅xlsx.xls)互相转换的工具包. 项目地址:https://github.com/jptan ...