Python
人生苦短,我用Python。

Python 开发之旅 (4)特立独行 之 缩进

check.png


上图是C语言Python语言实现相同功能的对比。在C语言中每个花括号里的函数都进行了TAB缩进。而在Python里面只有return a+b进行了缩进。撇开语法不谈,只说说缩进。实际在C语言中缩不缩进区别不是很大,而在Python语言里如果不进行缩进那将是一个灾难性的事件,同级的缩进会被认为在同一块内。我认为这个块是同一级别指令。



Python解释器进行解释的时候应该是从上到下逐条解释。遇到def的时候知道这是一个函数,所以不做执行,等待调用。而遇到TAB缩进时,又发现与上一指令不在同一级别或者说块内,所以也会不执行。直到与Python相遇。


那么如果不缩进的话在return处会触发“expected an indented block”提示,告诉你此处需要缩进。那么你只需要一个TAB就可以解决。


如果你一开始就有一个很好的代码书写习惯,实际这些问题你遇到的几率很小,或者说微乎其微。

Python 开发之旅 (3)如法炮制之 My Function

上一节说过:在我们接触数学的时候是不是第一步都是学习加减乘除?通过加减乘除可以实现两个数以上的计算结果。这个加减乘除就是一个内置函数。


那么现在就是将加减乘除变为函数的时候,注意这个函数不再是内置函数而是用户自定义函数


打开IDLE这里先不要输入任何代码,继续选择菜单栏的 File- New File。会弹出一个未命名的编辑窗口,在这里及使输入回车也不会运行代码。


现在开始输入代码:


def add(a,b):
    return a+b
print(add(3,2))


在新弹出的窗口选择 File- Save。选择一个路径,输入一个文件名。继续选择 Run - Run Module。或者直接F5快捷键。


def.png



return.png


这里是不是得到了一个结果是5的 shell 界面。


还是回归到源码


def add(a,b):
    return a+b
print(add(3,2))


def 在python里面是定义一个函数的开端。add是函数的名字 a,b是函数的参数。return 是返回的意思。返回的是a与b相加的值。


print是格式化打印。由于add函数是具有返回值的,所以打印的时候就是打印的3+2的值。


mind.png


Python 开发之旅 (2)诸子百家 之 Built-in Function

Python的自带CHM帮助文档内有一个Built-in Function (内置函数)

    在我们接触数学的时候是不是第一步都是学习加减乘除?加减乘除是一种方法,通过这个方法我们可以实现两个数以上的计算结果。这个加减乘除就是一个内置函数。


    Python 的内置函数列表如下:


built-in.png


上一节用了一个print函数:


print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)


  • Print objects to the text stream file, separated by
    sep and followed by end. sep, end and
    file, if present, must be given as keyword arguments.

    All non-keyword arguments are converted to strings likestr()does and written to the stream, separated by sep and followed by
    end. Both sep and end must be strings; they can also
    be
    None, which
    means to use the default values. If no objects are given,
    print()will just write end.

    The file argument must be an object with awrite(string)method; if
    it is not present or
    None,sys.stdoutwill be used. Since printed arguments are
    converted to text strings,
    print()cannot be used with binary mode file
    objects. For these, use
    file.write(...)instead.

    Whether output is buffered is usually determined by file, but if the
    flush keyword argument is true, the stream is forcibly flushed.

    Changed in version 3.3: Added the
    flush keyword argument.


通过这个函数我们可以实现一些数据的格式化打印功能,一般用于调试或者输入的提示。


例如:


print("%s %s"%("hello","上、下博客"))


就可以将hello与上、下博客字符进行打印。


这一节在说一个简单的函数(ABS)官方解释如下:


abs(x)

  • Return the absolute value of a number. The argument may be an integer or a
    floating point number. If the argument is a complex number, its magnitude is
    returned.


这个函数是返回数字的绝对值,x 是一个参数。这个参数可以是整数或者浮点数。


效果如图:


abs.png



当输入

abs(-1)

返回 1、输入 1 时返回 1。

Python 开发之旅 (1)重现经典之 Hello World

    首先要了解到Python是一种面向对象的解释型语言,解释型语言是不需要翻译成机器语言,而是翻译成中间语言,再由解释器对中间语言进行解析从而执行。


Python 下载:https://www.python.org/downloads/ 


在这里不对Python的具体版本做限制,大家可以选择任意版本。这里我使用Python 3.6.1。然后就可以进行安装。


install now.png


这里选择install now ,安装包就会进行默认的路径以及一些初始化的操作。注意在进行选择安装包的时候注意自身操作系统位数


安装结束选择close关闭安装界面。


close.png


这时我们打开idle,就可以进入编辑状态了。


idle.png


在这里直接输入一条命令:

print("%s"%("hello world"))

我们来看看效果。


hello world.png


是不是已经将我们的字符串打印出来?这里要解释一下%s的意思就是按照字符串形式打印输出。


如果想要格式化多个字符串可以以逗号分隔:

print("%s %s"%("hello","www.iwonmo.com"))

www.png


但是前面的%s是不可或缺的。有多少个字符串就要有多少个%s。