学python lesson3
准备发布:
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')
想要元素不可变,用元组。
学python lesson3相关推荐
- 老齐学python的django 源代码_《跟老齐学Python:Django实战》真正的手把手“带”您学习...
全书通过不断升级改造的方式,带着读者完成了一个"极其"简单的实战项目.这里说简单是相对于那些"大牛"而言.如果您是大牛,齐老师会建议您使用谷歌或者读官方英文文档 ...
- python queue 调试_学Python不是盲目的,是有做过功课认真去了解的
有多少伙伴是因为一句'人生苦短,我用Python'萌生想法学Python的!我跟大家更新过很多Python学习教程普及过多次的Python相关知识,不过大家还是还得计划一下Python学习路线!Pyt ...
- 想转行学python过来人提醒大家几点
因为目前python非常火,应用也非常广泛,是目前最火的行业之一,竞争很大,工资很高,未来发展也极好. 首先告诉你,零基础学习python难度还是有的,python的专业程度本身就不简单,学习这事本来 ...
- 从零开始学 Python 之运算符
从零开始学 Python 之运算符 前言 大家好,这里是「痴海」从零开始学习 Python 系列教程.此文首发于「痴海」公众号,欢迎大家去关注.学习一门语言最好的办法,就是教懂别人.在这公众号,我会从 ...
- 学Python培训有什么用
Python在近几年的发展非常迅速,在互联网行业Python的薪资也越来越高,不少人开始准备学习Python技术,那么到底学Python培训有什么用呢?来看看下面的详细介绍. 学Python培训有 ...
- 学Python有哪些优势
Python在人工智能领域应用是比较广泛的,近几年,越来越多的人对Python技术比较感兴趣,想要学习,那么具体学Python有哪些优势呢?我们来看看下面的详细介绍就知道了. 学Python有哪些优势 ...
- 学python培训到底能干嘛
Python是在人工智能领域发挥着很重要的作用的,现在依旧有很多人对Python这项技术不是很了解,学Python培训到底能干嘛?下面小编来为大家做下详细的介绍. python其实并不难学,对于初学者 ...
- 学Python的好处有哪些?
Python是一种比较简单的编程语言技术,想要快速进入到IT行业,Python是非常好的选择,为什么这么说呢?下面小编就为大家详细的介绍一下学Python的好处有哪些? 学Python的好处有哪些 ...
- 零基础学python培训需要学习多久?
Python是一种入门比较简单的编程语言,但是如果是零基础学员,学习起来还是需要时间的,那么零基础学python培训需要学习多久呢?我们来看看小编的详细介绍吧. 零基础学python培训需要学习多久? ...
最新文章
- 200 万年薪,却招不到清华姚班毕业生!能上姚班的都是什么人?
- 算法提高 学霸的迷宫
- 购物车模块如何进行测试?
- Transformer详细解读与预测实例记录
- NGINX轻松管理10万长连接
- 前端学习(537):多列布局4横跨多列
- 阿里云使用笔记-Lrzsz上传下载文件-centos7
- Soul网关源码阅读(八)路由匹配初探
- centos7 python3安装numpy_CentOS7 安装python库(numpy、scipy、matplotlib、scikit-learn、tensorflow)...
- airpods pro连接安卓声音小_苹果AirPods搭配安卓手机怎么样?那是相当好
- Linux下的python.......安装
- 基于C语言的移位密码和仿射密码
- 天才黑客,阿里安全科学家吴翰清:做对事只能赢一场,跟对人可以赢一生
- 《团队-科学计算器-项目总结》
- html多个背景音乐自动播放,多个背景音乐同时自动播放?
- android 软件调用c库,Android调用第三方C++算法库
- 小程序onShareTimeline()分享朋友圈
- ESP8266入门教程-ESP8266睡眠和唤醒功能
- uniapp微信浏览器H5授权微信登录
- TypeScript报错信息表(备注)