`
剑锋无刃
  • 浏览: 33994 次
  • 性别: Icon_minigender_1
  • 来自: 长沙市
最近访客 更多访客>>
社区版块
存档分类
最新评论

python学习笔记-共享你的代码

阅读更多

Python学习笔记-共享你的代码    [CQ1] 

l  Python的一个优点为共享代码,那么如何实现python共享代码?

Python提供了一组技术,可以很容易的实现共享,这包括模块和一些发布工具:

         1、模块允许你合理组织代码来实现最优共享

         2、发布工具允许你向全世界共享你的模块

 

l  模块的概念:模块就是一个包含python代码的文本文件,对模块的主要需求就是要求文件名以.py结尾,这是python的扩展名。要把函数转换为一个模块,需要把代码保存到一个适当命名的文件中。

1、  python的标准库在安装python的时候,就已经预装大量的模块在你电脑中。

2、  如果标准库了没有适合的模块,还可以到第三方python模块网上pypi.

 

l  如何注释代码?为什么要加注释?应该在什么地方加注释?

Python的注释分为两种:单行注释(#adad)和多行注释(”””adad”””

*为代码加注释绝对是一个好的编程习惯,注释有助于建立帮助文档,帮助别人更好的学习你的代码,也帮助你自己养成良好的编程习惯,帮助你更好的了解编程,有助于你以后理解你的代码。首先,我们必须为我们的模块加注释,这能让我们或者别人一目了然的知道你这个模块的功能;其次,我们必须为我们的函数加注释,说明该函数的功能,函数的参数,函数的返回值等等;然后,我们还应该为为我们定义的变量加注释,我们必须说明该变量的用途;最后,我们应该对逻辑性很强或者很难理解的代码加注释(循环,选择,异常等)。

 

l  发布你的模块吧!所谓的发布,是指一个文件集合,这些问价联合在一起允许你构建,打包盒发布你的模块。

1、  首先为模块创建一个文件夹。将预先准备好的模块复制到这个文件夹。

2、  其次,在新文件夹中创建一个名为“setup.py“的文件,在这个文件中包含了有关发布的元数据,编辑这个文件,增加系列代码:

from distutils.core import setup

setup(

                    name      =      模块的名称’,

                    version     =      ‘1.0.0’,

                    py_modules  =     [‘模块的名称’],

                    author      =      作者的名称’,

                    author_email   =   邮箱’,

                    url            =   链接地址’,

                    description     =   描述模块功能’,

)

3、  构建一个发布文件。在模块文件夹中打开终端,

终端键入命令:python3 setup.py sdist

4、  将发布安装到你的python本地副本中。

终端键入命令:sudo python3 setup.py install

l  构建模块后,导入模块病使用。使用语句:import 模块名。在这里会产生错误,该错误说明我们使用的模块中的函数未定义。这是因为我们没有规定给函数是属于该模块的命名空间,应该这样调用:模块名.函数;

 

l  如何更新以前编写的函数?增加函数的参数,可以增加函数的功能,让该函数更加符合用户的需求。

 

l  Python会尽力运行你的代码:与编译型语言不同,python在运行之前并不全会全面检查代码的合法性这使得python可以做很多其他语言中无法做到的很酷的事情,如果运行时动态的定义函数。当然,这相当灵活,也非常强大。

 

l  在改进python的模块时,应该考虑到向下兼容,至于如何做到向下兼容,可以用函数参数缺省值来表示,这样函数就可以既做到以前的用户方便使用,还可以满足不停变化的用户需求。

 

*你怎么知道python的(本地)模块放在哪吗?我们可以询问IDLE,IDLE中的提示窗口键入:import  syssys.path,可以看到一个位置列表,python解释器就在这个位置上搜索模块。例如:

>>> import sys; sys.path

['', 'C:\\Python33\\Lib\\idlelib', 'C:\\Windows\\system32\\python33.zip', 'C:\\Python33\\DLLs', 'C:\\Python33\\lib', 'C:\\Python33', 'C:\\Python33\\lib\\site-packages']

 

*可以在一行上使用“;把多行代码放在一行上吗?的确可以,但是,最好python的代码独占一行,这样可以增加代码的可读性,养成良好的编程风格。

*python中所有的代码都与一个命名空间关联,在主程序中(以及IDLE SHELL)的代码与一个__main__的命名空间关联。将代码放在其单独模块时,python会自动创建一个与模块同名的命名空间。

*使用一个普通的import语句时,这会指示python解释器允许你使用该命名空间来限定访问该空间的函数,但如果使用<from 命名空间import 函数>,会把指定函数增加到当前命名空间中,这样一来,就不必在使用命名空间来限定。注意:如果当前命名空间已经有了同名函数,这个特定的import语句将覆盖当前的函数

*pypi发布代码的两个步骤:首先,通过命令窗口注册pypi,以及通过命令窗口进行上传。

*为什么要把模块安装到python的本地副本中?能不能放在某个文件中,再从其中导入?的确可以,不过要记住,python会在一组特定的位置寻找模块,如果把你的模块放在某个文件中,而这个文件夹并不在解释器扫描范围内,就会导致importError错误。

*模块名.pyc文件是什么?解释器第一次执行模块代码时,它会读入代码,并转换为一种中间代码格式,最终所要执行的就是这些字节码(与javaJVM相似,利用java技术编译代码时,java代码会转换成.class文件),python在下一次使用模块时,就会先确定该模块是否改变,如果没改变就会直接用.pyc文件,如果改变,就会重新编译该模块,在用.pyc文件。提高了执行效率。

*是否只想用户提供.pyc文件就可以了呢?可不可以删除pyc文件?不行,因为pyc文件的使用主要是解释器完成的一个运行时优化。可以,不过要记住,你可能会损失运行时优化。

*BIF肯定属于__main__命名空间?并非如此,他们会自动导入到__main__命名空间,但是BIF有他们自己的命名空间,这个命名空间是__builtins__


 [CQ1]剑锋无刃

 

分享到:
评论

相关推荐

    Python学习笔记-10.类(Class)1.pdf

    在本篇Python学习笔记中,我们将深入探讨Python类的概念、特性以及如何使用它们。 首先,定义一个Python类非常简单,它使用关键字"class"。一个基本的类定义如下: ```python class MyClass: pass ``` 类中的...

    python入门笔记-李金(强烈推荐).zip

    本篇笔记是基于作者李金的《python入门笔记-李金(强烈推荐)》的解析,旨在为初学者提供一份详尽的Python语言学习指南。这份笔记采用Jupyter Notebook的形式,使得学习过程更加直观且互动性强。Jupyter Notebook是...

    python学习笔记.pdf

    在这份《python学习笔记.pdf》中,记录了Python编程的基础知识和一些技巧,内容涵盖了字符串处理、变量操作、数据结构、循环、条件判断等方面。以下是对学习笔记中提到知识点的详细说明。 ### 字符串处理 在Python...

    python学习笔记用案例

    "Python学习笔记用案例"这个标题表明这是一份包含了实际应用示例的学习资料,旨在帮助初学者通过实例来理解和掌握Python编程。描述中的“欢迎下载”暗示这份资料是公开共享的,鼓励大家学习和交流。 在Python的学习...

    python学习笔记

    本学习笔记将深入探讨Python的动态类型系统、类型检查、多态性以及数字类型处理的相关知识点。 在Python中,变量没有显式声明类型,变量的类型是在运行时根据变量被赋予的值来动态确定的。这意味着,当你为变量赋值...

    python学习笔记(一)

    在"Python学习笔记(一)"中,我们主要会探讨以下几个核心知识点: 1. **Jupyter Notebook**:Jupyter Notebook是一款强大的交互式计算环境,允许程序员在同一个界面上编写代码、运行代码并展示结果。这种工作方式...

    python学习笔记(六)

    通过阅读“Python学习笔记(六).ipynb”这个文件,你将能够进一步掌握Jupyter Notebook的使用方法,包括如何组织代码、创建图表,以及如何利用其交互性和分享功能。继续你的学习旅程,你会发现Jupyter Notebook是...

    学习Python的笔记与代码.zip

    模块是Python代码的组织单元,通过导入机制可以在不同文件之间共享代码。 5. **面向对象编程**:Python支持类和对象的概念,包括类定义、继承、封装、多态等面向对象特性。你可以创建自定义类来构建复杂的数据结构...

    python 2.5 学习笔记

    标题“Python 2.5 学习笔记”直接指向我们讨论的核心内容是Python这门编程语言,在这里,我们关注的是Python的2.5版本。由于这个版本发布于2006年,属于较早的版本,但它依然在计算机编程历史上占有重要地位,是很多...

    09-python-theano-更复杂的网络-卷积神经网络-tensor模块

    本系列学习笔记将深入探讨Theano的tensor模块,以及如何构建更复杂的网络,包括卷积神经网络(Convolutional Neural Networks, CNN)。下面我们将详细讲解这些知识点。 首先,让我们了解Theano的基础。Theano是一个...

    python1903笔记 05-git.zip

    在Python学习过程中,掌握版本控制工具是至关重要的,Git作为最流行的一种版本控制系统,被广泛应用于软件开发。这个“python1903笔记 05-git.zip”压缩包显然是一个关于Git的教程或笔记,旨在帮助学习者理解并熟练...

    Python学习笔记.docx

    Python是一种高级编程语言,以其简洁明了的语法和强大的功能而受到广泛的欢迎。在Python中,面向对象编程是其...了解并熟练掌握这些知识点将有助于深入理解Python的面向对象编程,从而编写出更加高效和可维护的代码。

    Python 学习笔记(下) - 草莓君的妙妙屋1

    在Python编程语言中,函数是组织代码的...这篇笔记涵盖了Python编程中的核心概念,对于初学者和有一定经验的开发者来说,都是很好的学习参考资料。理解并熟练运用这些知识点,将有助于编写更高效、更健壮的Python代码。

    Python 笔记源码 (源码)

    这份"Python笔记源码"包含了丰富的学习资料,旨在帮助开发者深入理解Python编程,并提高实践能力。 源码是程序的基础,它是由人类可读的编程语言编写的文本文件。在Python中,源码通常以`.py`为扩展名。源码的重要...

    Python学习笔记

    【Python学习笔记】 在Python的世界里,学习笔记的标题“Python学习笔记”暗示我们将深入探讨Python编程的基础和高级概念。Python是一种广泛使用的高级编程语言,以其简洁明了的语法和强大的功能著称。它适用于各种...

    PythonDjango学习笔记Python简单运用(二).docx

    ### Python Django 学习笔记知识点总结 #### 一、Python 基础操作与环境配置 **1. 安装与启动 Python** - **安装**:安装 Python 后,可以在开始菜单找到相关的安装项。 - **启动 IDLE**:安装完成后,通过 IDLE ...

    Python与Java对比学习笔记.pdf

    1. **简单易学**:Python的语法简洁,阅读Python代码就像读英语一样,降低了学习门槛。 2. **免费开源**:Python遵循FLOSS原则,允许自由分发、阅读源码和进行修改,促进了社区的共享和创新。 3. **高层语言**:...

Global site tag (gtag.js) - Google Analytics