python学习笔记(6)

转载 2015年11月21日 13:09:04

学到这里已经很不耐烦了,前面的数据结构什么的看起来都挺好,但还是没法用它们做什么实际的事。

 基本语句的更多用法


 使用逗号输出

>>> 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
复制代码

 循环语句


 打印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,结果
复制代码

 

【机器学习-斯坦福】学习笔记6 - 朴素贝叶斯

本次课程大纲: 1、 朴素贝叶斯 - 朴素贝叶斯事件模型 2、 神经网络(简要) 3、 支撑向量机(SVM)铺垫 – 最大间隔分类器...
  • maverick1990
  • maverick1990
  • 2013年11月14日 12:41
  • 4765

Python学习笔记(1)

1、最大优势在于它的字符串模式匹配能力,其提供一个十分强大的正则表达式匹配引擎。核心实现依赖Perl,但语法比Perl易懂的多。高级语言、面向对象、可拓展、可移植、语法清晰、易维护、高效的原型。 2、...
  • hanbo622
  • hanbo622
  • 2016年11月28日 10:14
  • 514

Python学习笔记(一)基础语法

Python标识符 在python里,标识符有字母、数字、下划线组成。 在python中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。 python中的标识符是区分大小写的...
  • aa294194253
  • aa294194253
  • 2015年02月15日 10:02
  • 474

python 学习笔记 4 -- 函数篇

本文主要是针对python的函数定义做的笔记,详细记录各种需要了解的知识,比如规范、参数、返回值、局部变量、全局变量以及doc_string的相关知识,使用大量简单例子作为解释更容易理解!...
  • longerzone
  • longerzone
  • 2013年12月09日 13:32
  • 2659

Python 学习笔记之一——Python简介

Python学习一 (Python简介)
  • Jeff_Liu_Sky
  • Jeff_Liu_Sky
  • 2016年08月01日 16:15
  • 1040

Python基础学习笔记之(一)

Python基础学习笔记之(一)zouxy09@qq.comhttp://blog.csdn.net/zouxy09        前段时间参加微软的windowsAzure云计算的一个小培训,其中P...
  • zouxy09
  • zouxy09
  • 2013年11月24日 15:58
  • 29904

Python学习手册笔记

之前为了编写一个svm分词的程序而简单学了下Python,觉得Python很好用,想深入并系统学习一下,了解一些机制,因此开始阅读《Python学习手册(第三版)》。如果只是想快速入门,我在这里推荐了...
  • ghevinn
  • ghevinn
  • 2014年06月06日 16:03
  • 3316

Python3 基础学习笔记

Python3 基础学习笔记这篇博客不是完整的python教程,只是我在学习python3时记下的一些容易忘记的或比较重要的知识点,里面的代码大多是转自 廖雪峰的python3教程 和 菜鸟教程 。不...
  • Cyiano
  • Cyiano
  • 2017年04月10日 19:58
  • 737

python自动化运维学习笔记1- psutil系统性能信息模块

1、psutil系统性能信息模块 下载地址 https://pypi.python.org/packages/source/p/psutil/ 安装 tar zxvf psutil-2...
  • u012823211
  • u012823211
  • 2014年12月17日 20:05
  • 1411

AppleScript学习笔记(六)处理程序Handler

进入AS4AS书中的最后一章了,本章说的内容类似于OC中的方法和其调用。本文的内容:(1)定义和调用Handler (2)load script...
  • u010962810
  • u010962810
  • 2014年03月01日 10:55
  • 2999
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python学习笔记(6)
举报原因:
原因补充:

(最多只允许输入30个字)