Head First Python学习笔记一

Head First Python学习笔记1
# 递归
def recursion(movies):
    for item in movies:
        # isinstance是一个判断类型的函数
        if isinstance(item,list):
            recursion(item)
        else:
            print(item)
#

正在学习python,记录一下,话说这本书好像不太适合没有编程基础的人啊,上来就讲列表和递归是闹哪样啊。
python是动态语言,即类型不用声明(想C#里那样List 、int什么的),比如列表要声明可以直接  movies = ["西游记之大圣归来","侏罗纪世界",1,["马达加斯加的企鹅"]],这里还嵌套了列表,所以接下来就是用递归遍历列表了。

学过c#的我认为上面那段代码还是好懂的,def是声明函数的关键字,括号里是参数,for..in..:类似c#里的foreach循环,然后用isinstance判断是否是列表,是则再次调用函数,这是典型的递归了。

再次吐槽:这真的是入门教程吗,不先介绍数据类型和一些基本关键字就直接开始解决问题(书里是为了解决问题:某人收藏了很多电影数据,要求管理一下),仔细想想,这样似乎也不错,就是完全没有编程基础的人可以要吃亏了。

然后把这段代码打包成模块发布(我怎么感觉有点跟不上了),模块有点像是c#里的dll。

先建立文件夹,把源码保存值文件夹内,然后新增一个setup.py的文件,

from distutils.core import setup

setup(
    name        = '程序名称',
    version     = '1.0.0',
    py_modules  = ['模块名称'],
    author      = '作者',
    author_email= '邮箱@gmail.com',
    url         = '',
    description = 'a simple recursion',
    )

 然后在命令行里进入文件夹,运行:python setup.py sdist 就可以打包你的模块了,打包完成后:python setup.py install,安装。这个时候在进入IDLE用import(相当于C#里Using)关键字导入模块,再使用模块名调用函数就可以了。