关闭

python的循环,pass和DocString

标签: python
362人阅读 评论(0) 收藏 举报
分类:
先来说说最简单的while循环和for循环:

while循环和C的相似性更高:

while 1>0:
    guess=int(input('enter a number: '))
    if guess==23:
        print 'guess right!'
        break
    elif guess>23:
        print 'higher'
    else :
        print 'lower'
print 'the loop1 is over'

注意for的写法:
for i in range(1,10,3): # equal to C: for(int i=1;i<10;i+=2)
    print i
else: # else statement can follow loop
    print 'the loop2 is over'
它们的输出:

>>> 
enter a number: 2
lower
enter a number: 44
higher
enter a number: 23
guess right!
the loop1 is over
1
4
7
the loop2 is over
>>> 

pass在python函数中代表不返回值,或者说是返回None,类似于C的return ;

def maxnum(a,b):
    if a>b:  return a
    else : pass  #return none statement 
print maxnum(23,45)
print maxnum(45,23)

>>> 
None
45
>>> 

接下来聊聊DocString:

其全称是documentation strings。它放在函数的第一行,能输出提示信息,帮助函数更容易理解,使用函数的__doc__(双下划线)来输出信息。

def midfind(a,lx,rx,goal):
    ''' this is a half find for ourneed number, 
    the return is goal number's place.'''

    low=lx
    high=rx
    while low<=high:
        mid=(low+high)>>1
        if a[mid]>goal:
            high=mid-1
        elif a[mid]<goal:
            low=mid+1
        else: return mid
    return -1
a=[3,5,7,10,23,45]
print midfind(a,0,5,5)+1
print (midfind.__doc__) #midfind.__doc__ is the document strings,
                        #note: multi-line for __  

>>> 
2
 this is a half find for ourneed number, 
    the return is goal number's place.
>>> 


0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

python,关键词pass

for letter in 'python': if letter == 'h': pass print " This is pass block" p...
  • Enbu_Yuan
  • Enbu_Yuan
  • 2017-03-12 13:39
  • 324

UnityShader:选择Pass渲染通道

上一篇博客讲了MRT多重渲染,这篇接着学习通过一个shader输出不同效果的另一种方法——指定不同的渲染通道。渲染通道在unity Shader中就是SubShader中的Pass。之前的shader...
  • ylbs110
  • ylbs110
  • 2016-12-10 19:26
  • 4194

<基础原理进阶>机器学习算法python实现【2】--ForwardPass&BackPropagation

我们前面已经谈到,在构建一个网络时,主要的思路可以分为两部分: Loop:{   前向传播——计算结果,得到loss_function 反向传播——逐层计算梯度,调整参数数值 }until conve...
  • Skyfish2016
  • Skyfish2016
  • 2017-05-19 13:52
  • 271

Android Jenkins+gradle+git自动化构建并生成二维

Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。       网上有很多jenkins的介绍与其他博客写的自动化构建,我现在也整理一套自己摸索来的Andro...
  • u010217289
  • u010217289
  • 2017-04-28 15:20
  • 363

Python 3语法小记(八)类class

Python 3 中只有新式类,没有旧式类,不需要显示的指定,你定义的类都是新式类 如果你不知道新式类和旧式类的区别,那么,也不用知道了 定义: >>> class Nothing: #定义方法...
  • jcjc918
  • jcjc918
  • 2013-08-01 23:08
  • 18330

Unity3D Shader官方教程翻译(五)----Shader语法:Pass

ShaderLab syntax: Pass ShaderLab 语法:Pass(通道编程) The Pass block causes the geometry of an obje...
  • xy849288321
  • xy849288321
  • 2013-02-21 13:22
  • 4374

Python 3语法小记(六)条件、循环和assert、pass、del

条件: if 条件:     语句块 elif:     语句块 else:     语句块 elif 表示 else if 这居然是合法的!!!1 >>> if 1 < x >> if x.....
  • jcjc918
  • jcjc918
  • 2013-08-01 13:06
  • 10874

飘逸的python - 代码即文档docstring

什么是docstring在软件工程中,其实编码所占的部分是非常小的,大多是其它的事情,比如写文档。文档是沟通的工具。 在python中,比较推崇在代码中写文档,代码即文档,比较方便,容易维护,直观,...
  • u010180339
  • u010180339
  • 2015-07-10 14:05
  • 8813

理解Iass Pass SasS三种云服务区别

其实搞懂这个问题也不难,我们可以把云计算理解成一栋大楼,而这栋楼又可以分为顶楼、中间、低层三大块。那么我们就可以把Iass(基础设施)、Pass(平台)、Sass(软件)理解成这栋楼的三部分。基础设施...
  • caojianwei1992
  • caojianwei1992
  • 2017-10-31 09:54
  • 305

llvm學習(三)————如何編譯自己的第一個Pass

一句話編譯自己的Pass: test$ `llvm-config --bindir`/clang  -shared  -fPIC `llvm-config --cxxflags`  `llvm-con...
  • ningxialieri
  • ningxialieri
  • 2014-01-14 21:21
  • 2085
    个人资料
    • 访问:329671次
    • 积分:8834
    • 等级:
    • 排名:第2518名
    • 原创:575篇
    • 转载:13篇
    • 译文:0篇
    • 评论:36条
    我的链接
    最新评论