学python lesson3

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 15:56   2738   0

准备发布:

1.首先为模块创建一个文件夹;

创建好之后,将nester.py模块文件复制到这个文件夹中。简单起见,文件夹命名为nester;

2.在创建好的文件夹中创建一个名为setup.py的文件;

这个文件包含有关发布的元数据。编辑这个文件,增加下面的代码:

from distutils.core import setup # 从python发布工具导入“setup”函数

setup(

# setup函数的参数名

name = 'nester',

version = '1.0.0',

py_modules = ['nester'] # 将模块的元数据与setup函数的参数关联

author = 'abc' # 自定义模块使用的值

author_email = 'zzz@qwe.net', # 自定义模块使用的值

url = 'http://wwwabc.net', # 自定义模块使用的值

description = 'A test for ', # 自定义模块使用的值

)

构建发布:

3.构建一个发布文件;

发布工具包含有构建一个发布所需的所有功能。在nester文件夹中打开一个终端窗口,键入一行命令:python setup.py sdist

4.将发布安装到你的Python本地副本中;

仍然在终端窗口,键入命令:sudo python setup.py install

发布速览

利用Python的发布工具,你的模块已经转换为一个发布,并且安装在你的Python本地副本上。

开始时只有一个函数,这个函数输入到一个名为nester.py的文件中,这就创建了一个模块。然后创建一个名为nester的文件夹存放这个模块。通过在这个文件夹中增加一个名为setup.py的文件,从而能够构建和安装你的发布,这会生成一组额外的文件,并在nester文件夹中出现两个新的文件夹。这些文件和文件夹都是由发布工具为你创建的。

python是动态语言,而静态语言是?

静态语言(强类型语言)

静态语言是在编译时变量的数据类型即可确定的语言,多数静态类型语言要求在使用变量之前必须声明数据类型。例如:C++、Java、Delphi、C#等。

动态语言(弱类型语言)

动态语言是在运行时确定数据类型的语言。变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型。例如PHP/ASP/Ruby/Python/Perl/ABAP/SQL/JavaScript/Unix Shell等等。

.pyc文件,字节码。

pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte code,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由Python的虚拟机来执行的,这个是类似于Java或者.NET的虚拟机的概念。pyc的内容,是跟python的版本相关的,不同版本编译后的pyc文件是不同的,2.5编译的pyc文件,2.4版本的python是无法执行的。

导入模块并使用

既然已经构建了模块,并作为发布打包和安装,下面来看使用时还需要什么。要使用一个模块,只需要把它导入到你的程序中,或者导入到交互式shell:

import nester # import是python关键字,nester是模块名

Python的模块实现命名空间

Python中的所有代码都与一个命名空间关联。

主Python程序中的代码与一个名为__main__的命名空间关联。将代码放在其单独的模块中时,Python会自动创建一个与模块同名的命名空间。所有,你的模块中的代码会与一个名为nester的命名空间关联。

假设你目前正在某个命名空间,如果想指示另外一个模块命名空间中的某个函数,就需要用该模块的命名空间对这个函数的调用作出限制。

所有,不能简单的通过print_lol(cast)调用这个函数,而需要限定为nester.print_lol(cast),这样一来,Python解释器就会知道去那里找这个函数。命名空间限定的格式如下:首先是模块名,然后是一个点,再后面是函数名,如nester.print_lol(cast)。

采用from nester import 函数名,可以直接引用函数,但是不建议这样做,因为可能本命名空间存在同名函数,会覆盖本命名空间的属性。

Pypi社区上传?

Python包索引(PyPI)是Python编程语言的软件存储库。

PyPI(Python Package Index)是python官方的第三方库的仓库,所有人都可以下载第三方库或上传自己开发的库到PyPI。PyPI推荐使用pip包管理器来下载第三方库。
pip可正常工作在Windows、Mac OS、Unix/Linux等操作系统上,但是需要至少2.6+和3.2+的CPython或PyPy的支持。python 2.7.9 和3.4以后的版本已经内置累pip程序,所以不需要安装。

s = "abc汉字"

len(s) # 5

type(b"abc") # bytes

type(u'abc') # str

str(2.2) #str

"学习{0},还要学习{1}".format('C语言','Python')

s = "a,b,c"

l = s.split(',') # l = ['a','b','c']

ll = ','.join(l) # ll = 'a,b,c'

s.find('a') #0

s.find('b') #2

l.sort.__doc__ # 'L.sort(key=None,reverse=False)

x = ['abc','a','bc','abcd']

x.sort(key=len) # x = ['a','bc','abc','abcd']

num = '1', # num = ('1',)

num = ('1',) # num = ('1',)

type(num) # tuple

num = ('1') # num = '1'

type(num) # str

num = '1','2','3' # num = ('1','2','3')

num = ('1','2','3') # num = ('1','2','3')

a,b,c = num # a = '1', b = '2', c = '3'

l = list(num) # l = ['1','2','3'], num = ('1','2','3')

ll = tuple(l) # ll = ('1','2','3')

想要元素不可变,用元组。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP