码迷,mamicode.com
首页 > 编程语言 > 详细

python基础教程(六)

时间:2017-09-01 19:45:23      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:key   time   基本   多个   工作   逗号   else   bin   zhang   

学到这里已经很不耐烦了,前面的数据结构什么的看起来都挺好,但还是没法用它们做什么实际的事。从这一章节开始有点难度,需要好好理解。

 

基本语句的更多用法


 

使用逗号输出

>>> 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.chongshielse:
  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 positiveelif num < 0:
    print the number is negativeelse:
  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.zhangsanelif name.startswith(mrs.):
        print hello.mrs.zhangsanelse:
        print hello.zhangsanelse:
    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
技术分享

 

 

循环语句


 打印1100的数(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!
技术分享

打印1100的数(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基础教程(六)

标签:key   time   基本   多个   工作   逗号   else   bin   zhang   

原文地址:http://www.cnblogs.com/cmt110/p/7464719.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!