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子句,在该子句后给出名字。
![](https://common.cnblogs.com/images/copycode.gif)
>>> import math as foobar #为整个模块提供别名
>>> foobar.sqrt(4)
2.0
>>> from math import sqrt as foobar #为函数提供别名
>>> foobar(4)
2.0
![](https://common.cnblogs.com/images/copycode.gif)
赋值语句
序列解包
![](https://common.cnblogs.com/images/copycode.gif)
>>> x,y,z = 1,2,3
>>> print x,y,z
1 2 3
>>> x,y=y,x
>>> print x,y,z
2 1 3
![](https://common.cnblogs.com/images/copycode.gif)
可以获取或删除字典中任意的键-值对,可以使用popitem方
![](https://common.cnblogs.com/images/copycode.gif)
>>> scoundrel ={'name':'robin','girlfriend':'marion'}
>>> key,value = scoundrel.popitem()
>>> key
'name'
>>> value
'robin'
![](https://common.cnblogs.com/images/copycode.gif)
链式赋值
链式赋值是将同一个值赋给多个变量的捷径。
![](https://common.cnblogs.com/images/copycode.gif)
>>> x = y = 42
# 同下效果:
>>> y = 42
>>> x = y
>>> x
42
![](https://common.cnblogs.com/images/copycode.gif)
增理赋值
>>> x = 2
>>> x += 1 #(x=x+1)
>>> x *= 2 #(x=x*2)
>>> x
6
控制语句
if 语句:
![](https://common.cnblogs.com/images/copycode.gif)
name = raw_input('what is your name?')
if name.endswith('chongshi'):
print 'hello.mr.chongshi'
#输入
>>>
what is your name?chongshi #这里输入错误将没有任何结果,因为程序不健壮
#输出
hello.mr.chongshi
![](https://common.cnblogs.com/images/copycode.gif)
else子句
![](https://common.cnblogs.com/images/copycode.gif)
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
![](https://common.cnblogs.com/images/copycode.gif)
elif 子句
它是“else if”的简写
![](https://common.cnblogs.com/images/copycode.gif)
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
![](https://common.cnblogs.com/images/copycode.gif)
嵌套
下面看一下if嵌套的例子(python是以缩进表示换行的)
![](https://common.cnblogs.com/images/copycode.gif)
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'
![](https://common.cnblogs.com/images/copycode.gif)
如果输入的是“mr.zhangsan”输出第一个print的内容;输入mrs.zhangshan,输出第二个print的内容;如果输入“zhangsan”,输出第三个print的内容;如果输入的是别的什么名,则输出的将是最后一个结果(hello.stranger)
断言
如果需要确保程序中的某个条件一定为真才能让程序正常工作的话,assert 语句可以在程序中设置检查点。
![](https://common.cnblogs.com/images/copycode.gif)
>>> 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
![](https://common.cnblogs.com/images/copycode.gif)
循环语句
打印1到100的数(while循环)
![](https://common.cnblogs.com/images/copycode.gif)
x= 1
while x <= 100:
print x
x += 1
#输出
1
2
3
4
.
.
100
![](https://common.cnblogs.com/images/copycode.gif)
再看下面的例子(while循环),用一循环保证用户名字的输入:
![](https://common.cnblogs.com/images/copycode.gif)
name = ''
while not name:
name = raw_input('please enter your name:')
print 'hello.%s!' %name
#输入
>>>
please enter your name:huhu
#输出
hello.huhu!
![](https://common.cnblogs.com/images/copycode.gif)
打印1到100的数(for 循环)
![](https://common.cnblogs.com/images/copycode.gif)
for number in range(1,101):
print number
#输出
1
2
3
4
.
.
100
![](https://common.cnblogs.com/images/copycode.gif)
是不是比while 循环更简洁,但根据我们以往学习其它语言的经验,while的例子更容易理解。
一个简单for 语句就能循环字典的所有键:
![](https://common.cnblogs.com/images/copycode.gif)
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
![](https://common.cnblogs.com/images/copycode.gif)
break语句
break 用来结束循环,假设找100以内最大平方数,那么程序可以从100往下迭代到0,步长为-1
![](https://common.cnblogs.com/images/copycode.gif)
from math import sqrt
for n in range(99,0,-1):
root = sqrt(n)
if root == int(root):
print n
break
#输出
>>>
81
![](https://common.cnblogs.com/images/copycode.gif)
continue 语句
continue结束当前的迭代,“跳”到下一轮循环执行。
![](https://common.cnblogs.com/images/copycode.gif)
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基础学习笔记(六)的更多相关文章
- 0003.5-20180422-自动化第四章-python基础学习笔记--脚本
0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...
- Python基础学习笔记(六)常用列表操作函数和方法
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-lists.html 3. http://www.liaoxuef ...
- python 基础学习笔记(1)
声明: 本人是在校学生,自学python,也是刚刚开始学习,写博客纯属为了让自己整理知识点和关键内容,当然也希望可以通过我都博客来提醒一些零基础学习python的人们.若有什么不对,请大家及时指出, ...
- Python 基础学习笔记(超详细版)
1.变量 python中变量很简单,不需要指定数据类型,直接使用等号定义就好.python变量里面存的是内存地址,也就是这个值存在内存里面的哪个地方,如果再把这个变量赋值给另一个变量,新的变量通过之前 ...
- Python基础学习笔记(十三)异常
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-exceptions.html Python用异常对象(excep ...
- Python基础学习笔记(十二)文件I/O
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-files-io.html ▶ 键盘输入 注意raw_input函 ...
- Python基础学习笔记(十一)函数、模块与包
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-functions.html 3. http://www.liao ...
- Python基础学习笔记(十)日期Calendar和时间Timer
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-date-time.html 3. http://www.liao ...
- Python基础学习笔记(九)常用数据类型转换函数
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-variable-types.html 3. http://www ...
- Python基础学习笔记(八)常用字典内置函数和方法
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-dictionary.html 3. http://www.lia ...
随机推荐
- SQLServer数据集合的交、并、差集运算
SQLServer2005通过intersect,union,except和三个关键字对应交.并.差三种集合运算. 他们的对应关系可以参考下面图示 相关测试实例如下: use tempdb go if ...
- 深度理解select、poll和epoll
在linux 没有实现epoll事件驱动机制之前,我们一般选择用select或者poll等IO多路复用的方法来实现并发服务程序.在大数据.高并发.集群等一些名词唱得火热之年代,select和poll的 ...
- HTTP请求行、请求头、请求体详解(转)
转自 https://blog.csdn.net/u010256388/article/details/68491509/ HTTP请求报文解剖 HTTP请求报文由3部分组成(请求行+请求头+ ...
- MATLAB矩阵的LU分解及在解线性方程组中的应用
作者:凯鲁嘎吉 - 博客园http://www.cnblogs.com/kailugaji/ 三.实验程序 五.解答(按如下顺序提交电子版) 1.(程序) (1)LU分解源程序: function [ ...
- 在Markdown中转载CSDN博客
1.CSDN博客页面右键,点击[检查] 点击检查后,页面右侧出现html代码,如下图 2.如果需要转载全文,则在html代码下侧点击选中article_content 即可,会在代码框中自动选中art ...
- 基于C#的单元测试(VS2015)
这次来联系怎么用VS2015来进行C#代码的单元测试管理,首先,正好上次写了一个C#的WordCount程序,就用它来进行单元测试联系吧. 首先,根据VS2015的提示,仅支持在共有类或共有方法中支持 ...
- 控件_ProgressBar
进度条的风格: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:andr ...
- 寒假训练——搜索 G - Xor-Paths
There is a rectangular grid of size n×mn×m . Each cell has a number written on it; the number on the ...
- EJB3.0中的session bean以及MDB解析
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/aboy123/article/details/24587133 大型业务系统面临的主要问题就是高并发 ...
- Spring 注解大全
@Autowired 自动注入 (存在多个可注入Bean时,通过 @Qualifier 指定)@Resource 与@Autowired作用相同@Repository 只能标注在 DAO 类上.该注解 ...