python基础教程(六)
学到这里已经很不耐烦了,前面的数据结构什么的看起来都挺好,但还是没法用它们做什么实际的事。从这一章节开始有点难度,需要好好理解。
基本语句的更多用法
使用逗号输出
>>> print 'age:',25
age: 25
如果想要同时输出文本和变量值,却又不希望使用字符串格式化的话,那这个特性就非常有用了:
>>> name = 'chongshi'
>>> salutation = 'Mr'
>>> greeting = 'Hello.'
>>> print greeting,salutation,name
Hello. Mr chongshi
模块导入函数
从模块导入函数的时候,可以使用
import somemodule
或者
form somemodule immport somefunction
或者
from somemodule import somefunction.anotherfunction.yetanotherfunction
或者
from somemodule import *
最后一个版本只有确定自己想要从给定的模块导入所有功能进。
如果两个模块都有open函数,可以像下面这样使用函数:
module.open(...)
module.open(...)
当然还有别的选择:可以在语句末尾增加一个as子句,在该子句后给出名字。

>>> import math as foobar #为整个模块提供别名
>>> foobar.sqrt(4)
2.0
>>> from math import sqrt as foobar #为函数提供别名
>>> foobar(4)
2.0

赋值语句
序列解包

>>> x,y,z = 1,2,3
>>> print x,y,z
1 2 3
>>> x,y=y,x
>>> print x,y,z
2 1 3

可以获取或删除字典中任意的键-值对,可以使用popitem方

>>> scoundrel ={'name':'robin','girlfriend':'marion'}
>>> key,value = scoundrel.popitem()
>>> key
'name'
>>> value
'robin'

链式赋值
链式赋值是将同一个值赋给多个变量的捷径。

>>> x = y = 42
# 同下效果:
>>> y = 42
>>> x = y
>>> x
42

增理赋值
>>> x = 2
>>> x += 1 #(x=x+1)
>>> x *= 2 #(x=x*2)
>>> x
6
控制语句
if 语句:

name = raw_input('what is your name?')
if name.endswith('chongshi'):
print 'hello.mr.chongshi'
#输入
>>>
what is your name?chongshi #这里输入错误将没有任何结果,因为程序不健壮
#输出
hello.mr.chongshi

else子句

name = raw_input('what is your name?')
if name.endswith('chongshi'):
print 'hello.mr.chongshi'
else:
print 'hello,strager'
#输入
>>>
what is your name?hh #这里输和错误
#输出
hello,strager

elif 子句
它是“else if”的简写

num = input('enter a numer:')
if num > 0:
print 'the numer is positive'
elif num < 0:
print 'the number is negative'
else:
print 'the nuber is zero'
#输入
>>>
enter a numer:-1
#输出
the number is negative

嵌套
下面看一下if嵌套的例子(python是以缩进表示换行的)

name = raw_input('what is your name?')
if name.endswith('zhangsan'):
if name.startswith('mr.'):
print 'hello.mr.zhangsan'
elif name.startswith('mrs.'):
print 'hello.mrs.zhangsan'
else:
print 'hello.zhangsan'
else:
print 'hello.stranger'

如果输入的是“mr.zhangsan”输出第一个print的内容;输入mrs.zhangshan,输出第二个print的内容;如果输入“zhangsan”,输出第三个print的内容;如果输入的是别的什么名,则输出的将是最后一个结果(hello.stranger)
断言
如果需要确保程序中的某个条件一定为真才能让程序正常工作的话,assert 语句可以在程序中设置检查点。

>>> age = 10
>>> assert 0 < age < 100
>>> age = -1
>>> assert 0 < age < 100 , 'the age must be realistic' Traceback (most recent call last):
File "<pyshell#8>", line 1, in <module>
assert 0 < age < 100 , 'the age must be realistic'
AssertionError: the age must be realistic

循环语句
打印1到100的数(while循环)

x= 1
while x <= 100:
print x
x += 1
#输出
1
2
3
4
.
.
100

再看下面的例子(while循环),用一循环保证用户名字的输入:

name = ''
while not name:
name = raw_input('please enter your name:')
print 'hello.%s!' %name
#输入
>>>
please enter your name:huhu
#输出
hello.huhu!

打印1到100的数(for 循环)

for number in range(1,101):
print number
#输出
1
2
3
4
.
.
100

是不是比while 循环更简洁,但根据我们以往学习其它语言的经验,while的例子更容易理解。
一个简单for 语句就能循环字典的所有键:

d = {'x':1,'y':2,'z':3}
for key in d:
print key,'corresponds to',d[key]
#输出
>>>
y corresponds to 2
x corresponds to 1
z corresponds to 3

break语句
break 用来结束循环,假设找100以内最大平方数,那么程序可以从100往下迭代到0,步长为-1

from math import sqrt
for n in range(99,0,-1):
root = sqrt(n)
if root == int(root):
print n
break
#输出
>>>
81

continue 语句
continue结束当前的迭代,“跳”到下一轮循环执行。

while True:
s=raw_input('enter something:')
if s == 'quit':
break
if len(s) < 3:
continue
print 'Input is of sufficient length'
#输入
>>>
enter something:huzhiheng #输入长度大于3,提示信息
Input is of sufficient length
enter something:ha #输入长度小于3,要求重输
enter something:hah #输入长度等于3,提示信息
Input is of sufficient length
enter something:quit #输入内容等于quit,结果

python基础教程(六)的更多相关文章
- 改写《python基础教程》中的一个例子
一.前言 初学python,看<python基础教程>,第20章实现了将文本转化成html的功能.由于本人之前有DIY一个markdown转html的算法,所以对这个例子有兴趣.可仔细一看 ...
- .Net程序员之Python基础教程学习----列表和元组 [First Day]
一. 通用序列操作: 其实对于列表,元组 都属于序列化数据,可以通过下表来访问的.下面就来看看序列的基本操作吧. 1.1 索引: 序列中的所有元素的下标是从0开始递增的. 如果索引的长度的是N,那么所 ...
- python基础教程笔记—即时标记(详解)
最近一直在学习python,语法部分差不多看完了,想写一写python基础教程后面的第一个项目.因为我在网上看到的别人的博客讲解都并不是特别详细,仅仅是贴一下代码,书上内容照搬一下,对于当时刚学习py ...
- python基础教程(一)
之所以选择py交易有以下几点:1.python是胶水语言(跨平台),2.python无所不能(除了底层),3.python编写方便(notepad++等文本编辑器就能搞事情),4.渗透方面很多脚本都是 ...
- Python基础教程2上的一处打印缺陷导致的代码不完整#1
#1对代码的完善的 出现打印代码处缺陷截图: 图片上可以看到,定义的request根本没有定义它就有了.这个是未定义的,会报错的,这本书印刷问题,这个就是个坑,我也是才发现.花了点时间脱坑. 现在发完 ...
- python基础教程(第二版)
开始学习python,根据Python基础教程,把里面相关的基础章节写成对应的.py文件 下面是github上的链接 python基础第1章基础 python基础第2章序列和元组 python基础第3 ...
- python基础教程1:入门基础知识
写在系列前,一点感悟 没有梳理总结的知识毫无价值,只有系统地认真梳理了才能形成自己的知识框架,否则总是陷入断片儿似的学习-遗忘循环中. 学习方法真的比刻苦"傻学"重要多了,而最重要 ...
- Python基础教程-第3版(文字版) 超清文字-非扫描版 [免积分、免登录]
此处免费下载,无需账号,无需登录,无需积分.收集自互联网,侵权通知删除. 点击下载:Python基础教程-第3版 备用下载:Python基础教程-第3版
- Python基础教程学习笔记:第一章 基础知识
Python基础教程 第二版 学习笔记 1.python的每一个语句的后面可以添加分号也可以不添加分号:在一行有多条语句的时候,必须使用分号加以区分 2.查看Python版本号,在Dos窗口中输入“p ...
- 【Python】Python基础教程系列目录
Python是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. 在现在的工作及开发当中,Python的使用越来越广泛,为了方便大家的学习,Linux大学 特推出了 <Python基 ...
随机推荐
- 扩展entity framework core 实现默认字符串长度,decimal精度,entity自动注册和配置
报道越短,事情越严重!文章越短,内容越精悍! 文章以efcore 2.0.0-preview2.测试验证通过.其他版本不保证使用,但是思路不会差太远.源代码 目标: 1.实现entity的自动发现和m ...
- Linux编译安装程序(使用configure、make、 make install)
以安装vim为例. (vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面). 1.获取源文件 首先进入/usr/local下(只是为了方便处理安装文件,位置随意) 用git ...
- CODE大全——机器学习
聚类 聚类任务 背景 在无监督学习(密度估计.异常检测等)中,训练样本的标记信息是未知的(即不人为指定),旨在发现数据之间的内在联系和规律,为进一步的数据分析提供基础. 此类学习任务中研究最多.应用最 ...
- 【原创】01-1. 基于 checked 关于 attribute 和 property 的理解
Attribute(属性) 和 Property(特性) Attribute(元素节点的属性),例如html中常用的class.title.align等(即:属性节点).而Property 是这个DO ...
- 29. leetcode 167. Two Sum II - Input array is sorted
167. Two Sum II - Input array is sorted Given an array of integers that is already sorted in ascendi ...
- Go语言学习笔记(七)杀手锏 Goroutine + Channel
加 Golang学习 QQ群共同学习进步成家立业工作 ^-^ 群号:96933959 Goroutine Go语言的主要的功能在于令人简易使用的并行设计,这个方法叫做Goroutine,通过Gorou ...
- Activity中finish()和onDestroy()的区别
finish()方法用于结束一个Activity的生命周期,而onDestory()方法则是Activity的一个生命周期方法,其作用是在一个Activity对象被销毁之前,Android系统会调用该 ...
- 从Javascript单线程谈Event Loop
假如面试回答js的运行机制时,你可能说出这么一段话:"Javascript的事件分同步任务和异步任务,遇到同步任务就放在执行栈中执行,而碰到异步任务就放到任务队列之中,等到执行栈执行完毕之后 ...
- Linux操作系统-命令-netstat
# 之前已经写过了3篇与"性能测试"有关系的Linux命令,它们分别是free.top.vmstat # 接下来还需要把另外2个命令也写下来:netstat和iostat 最近认真地读了1篇关于"定位 ...
- SpringMVC创建HelloWorld程序
1.IDE说明和依赖管理工具说明 开发工具:intellij idea 依赖管理使用:maven 2.创建maven工程 创建新的maven工程,并添加相应的文件夹,创建好的项目目录如下所示: 3.添 ...