linux下python可以vim python3 自动补全全么

Linux系统技术交流QQ群(2632018)验证问题答案:刘遄
众所周知,系统管理员需要精通一门脚本语言,而且招聘机构列出的职位需求上也会这么写。大多数人会认为 Bash (或者其他的 shell 语言)用起来很方便,但一些强大的语言(比如 Python)会给你带来一些其它的好处。
首先,我们会使用 Python 的命令行工具,还会接触到 Python 的面向对象特性(这篇文章的后半部分会谈到它)。
学习 Python 可以助力于你在桌面应用开发及数据科学领域的职业发展。
容易上手,广泛使用,拥有海量“开箱即用”的模块(它是一组包含 Python 语句的外部文件),Python 理所当然地成为了美国计算机专业大学生在一年级时所上的程序设计课所用语言的不二之选。
在这个由两篇文章构成的系列中,我们将回顾 Python 的基础部分,希望初学编程的你能够将这篇实用的文章作为一个编程入门的跳板,和日后使用 Python 时的一篇快速指引。
中的 Python
Python 2.x 和 3.x 通常已经内置在现代 Linux 发行版中,你可以立刻使用它。你可以终端模拟器中输入 "python" 或 "python3"来进入 Python shell, 并输入 "quit()" 退出。
$ which python
$ which python3
$ python -v
$ python3 -v
&&& quit()
&&& quit()
在 Linux 中运行 Python 命令
如果你希望在键入 "python" 时使用 Python 3.x 而不是 2.x,你可以像下面一样更改对应的符号链接:
$ sudo rm /usr/bin/python
$ cd /usr/bin
$ ln -s python3.2 python # Choose the Python 3.x binary here
删除 Python 2,使用 Python 3
顺便一提,有一点需要注意:尽管 Python 2.x 仍旧被使用,但它并不会被积极维护。因此,你可能要考虑像上面指示的那样来切换到 3.x。2.x 和 3.x 的语法有一些不同,我们会在这个系列文章中使用后者。
另一个在 Linux 中使用 Python 的方法是通过 IDLE (Python 集成开发环境),这是一个为编写 Python 代码而生的图形用户界面。在安装它之前,你最好查看一下适用于你的 Linux 发行版的 IDLE 可用版本。
# aptitude search idle
[Debian 及其衍生发行版]
# yum search idle
[ 和 Fedora]
# dnf search idle
[Fedora 23+ 版本]
然后,你可以像下面一样安装它:
$ sudo aptitude install idle-python3.2
# I'm using Linux Mint 13
安装成功后,你会看到 IDLE 的运行画面。它很像 Python shell,但是你可以用它做更多 Python shell 做不了的事。
比如,你可以:
轻松打开外部文件 (File → Open);
Python Shell
复制 (Ctrl + C) 和粘贴 (Ctrl + V) 文本;
查找和替换文本;
显示可能的代码补全(一个在其他 IDE 里可能叫做“智能感知”或者“自动补完”的功能);
更改字体和字号,等等。
最厉害的是,你可以用 IDLE 创建桌面应用。
我们在这两篇文章中不会开发桌面应用,所以你可以根据喜好来选择 IDLE 或 Python shell 去运行下面的例子。
Python 中的基本运算
就像你预料的那样,你能够直接进行算术操作(你可以在你的所有运算中使用足够多的括号!),还可以轻松地使用 Python 拼接字符串。
你还可以将运算结果赋给一个变量,然后在屏幕上显示它。Python 有一个叫做拼接 (concatenation) 的实用功能——给 print 函数提供一串用逗号分隔的变量和/或字符串,它会返回一个由你刚才提供的变量依序构成的句子:
&&& x = b / a
&&& print(b, "divided by", a, "equals", x)
注意,你可以将不同类型的变量(数字,字符串,布尔符号等等)混合在一起。当你将一个值赋给一个变量后,你可以随后更改它的类型,不会有任何问题(因此,Python 被称为动态类型语言)。
如果你尝试在静态类型语言中(如 Java 或 C#)做这件事,它将抛出一个错误。
学习 Python 的基本操作
面向对象编程的简单介绍
在面向对象编程(OOP)中,程序中的所有实体都会由对象的形式呈现,并且它们可以与其他对象交互。因此,对象拥有属性,而且大多数对象可以执行动作(这被称为对象的方法)。
举个例子:我们来想象一下,创建一个对象“狗”。它可能拥有的一些属性有颜色、品种、年龄等等,而它可以完成的动作有 叫()、吃()、睡觉(),诸如此类。
你可以看到,方法名后面会跟着一对括号,括号当中可能会包含一个或多个参数(向方法中传递的值),也有可能什么都不包含。
我们用 Python 的基本对象类型之一——列表来解释这些概念。
解释对象的属性和方法:Python 中的列表
列表是条目的有序组合,而这些条目所属的数据类型并不需要相同。我们像下面一样来使用一对方括号,来创建一个名叫 "rockBands" 的列表:
你可以向 "rockBands" 的 "append()" 方法传递条目,来将它添加到列表的尾部,就像下面这样:
&&& rockBands = []
&&& rockBands.append("The Beatles")
&&& rockBands.append("Pink Floyd")
&&& rockBands.append("The Rolling Stones")
为了从列表中移除元素,我们可以向 "remove()" 方法传递特定元素,或向 "pop()" 中传递列表中待删除元素的位置(从 0 开始计数)。
换句话说,我们可以用下面这种方法来从列表中删除 “The Beatles”:
&&& rockBands.remove("The Beatles")
或者用这种方法:
&&& rockBands.pop(0)
如果你输入了对象的名字,然后在后面输入了一个点,你可以按 Ctrl + space来显示这个对象的可用方法列表。
列出可用的 Python 方法
列表中含有的元素个数是它的一个属性。它通常被叫做“长度”,你可以通过向内建函数 "len" 传递一个列表作为它的参数来显示该列表的长度(顺便一提,之前的例子中提到的 print 语句,是 Python 的另一个内建函数)。
如果你在 IDLE 中输入 "len",然后跟上一个不闭合的括号,你会看到这个函数的默认语法:
Python 的 len 函数
现在我们来看看列表中的特定条目。它们也有属性和方法吗?答案是肯定的。比如,你可以将一个字符串条目转换为大写形式,并获取这个字符串所包含的字符数量。像下面这样做:
&&& rockBands[0].upper()
'THE BEATLES'
&&& len(rockBands[0])
在这篇文章中,我们简要介绍了 Python、它的命令行 shell、IDLE,展示了如何执行算术运算,如何在变量中存储数据,如何使用 "print" 函数在屏幕上重新显示那些数据(无论是它们本身还是它们的一部分),还通过一个实际的例子解释了对象的属性和方法。
下一篇文章中,我们会展示如何使用条件语句和循环语句来实现流程控制。我们也会解释如何编写一个脚本来帮助我们完成系统管理任务。
你是不是想继续学习一些有关 Python 的知识呢?敬请期待本系列的第二部分(我们会在脚本中将 Python 和命令行工具的优点结合在一起),你还可以考虑购买我们的《终极 Python 编程》系列教程。
像往常一样,如果你对这篇文章有什么问题,可以向我们寻求帮助。你可以使用下面的联系表单向我们发送留言,我们会尽快回复你。
原文来自:
本文地址:编辑员:唐资富,审核员:冯琪
为您推荐一些与本文相关的文章:
进阶课程目录
第24章 使用Xen与Kvm部署虚拟化服务环境。(即将公布)
Linux技术交流QQ群
向每个正在奋斗的Linuxer致敬.
Linux技术交流群A:560843
Linux技术交流群B:340829
Linux技术交流群C:463590
Linux技术交流群D:915246
Linux技术交流群E:1663106
Linux技术交流群F:1653851
Linux技术交流群G:2632018
Linux技术交流群H:2636170
Linux技术交流群I:2650582
全国Linux技术交流群(总):
9月0 篇文章10月0 篇文章11月0 篇文章12月0 篇文章
1月0 篇文章12月0 篇文章Access denied | python-china.org used Cloudflare to restrict access
Please enable cookies.
What happened?
The owner of this website (python-china.org) has banned your access based on your browser's signature (ca07f7-ua98).Windows下python自动补全模块readline下载
偶尔用用python, 自动补全还是需要的.
本以为很简单的下载自动补全模块就可以了,结果搞了半天, 哎,开源软件就是这样,麻烦(当然在linux下就简单多了).
这里把编译好的文件拿出来, 希望可以让你免除我这样的麻烦.
首先如果打算自己编译的话,自动补全模块在这里下载 http://newcenturycomputers.net/projects/.html .
另外我这里编译好的适用与python2.7(x86) windows版本.
本来我使用python 3版本的,可惜自动补全模块不兼容这个版本,所以只编译了适用于python2.7的版本.
1.将以下所有文件复制到Python\Lib\site-packages\下
Readline-1.7-py2.7.egg-info
readline.py
readline.pyc
_rlsetup.pyd
2.将.startup.py放到%USERPROFILE%
添加环境变量PYTHONSTARTUP,
值为%USERPROFILE%\.startup.py
这样python启动时就可以自动开启补全功能了
您可以任意转载本文,但转载时请勿删除作者信息。
作者:hgyxbll,原文链接:
相关文章:为Python添加交互模式下TAB自动补全以及命令历史功能。
1.获取python目录
[root@localhost ~]# python
Python 2.6.6 (r266:84292, Jul 23 :56)
[GCC 4.4.7
(Red Hat 4.4.7-11)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
&&& import sys
&&& sys.path
['', '/usr/lib/python2.6/site-packages/paramiko-1.7.7.1-py2.6.egg', '/usr/lib64/python26.zip', '/usr/lib64/python2.6', '/usr/lib64/python2.6/plat-linux2', '/usr/lib64/python2.6/lib-tk', '/usr/lib64/python2.6/lib-old', '/usr/lib64/python2.6/lib-dynload', '/usr/lib64/python2.6/site-packages', '/usr/lib64/python2.6/site-packages/gst-0.10', '/usr/lib64/python2.6/site-packages/gtk-2.0', '/usr/lib64/python2.6/site-packages/webkit-1.0', '/usr/lib/python2.6/site-packages', '/usr/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg-info']
从上面看出python在我系统上的路径是 &/usr/lib/python2.6/site-packages
2.切换至该目录写个tab.py的脚本,脚本目录就是处理python中&tab&事件,脚本内容如下
&[root@localhost]# cd /usr/lib/python2.6/site-packages
[root@localhost python2.6/]# vim&tab.py
#!/usr/bin/python
# python tab file
import sys
import readline
import rlcompleter
import atexit
# tab completion
readline.parse_and_bind('tab: complete')
# history file
histfile = os.path.join(os.environ['HOME'], '.pythonhistory')
readline.read_history_file(histfile)
except IOError:
atexit.register(readline.write_history_file, histfile)
del os, histfile, readline, rlcompleter
3.切换至自己主目录
[root@localhost python2.6]# cd
[root@localhost
~]# vim .bashrc
4. 增加环境变量
export PYTHONSTARTUP=/usr/lib/python2.6/site-packages/tab.py  
5.配置环境变量生效
[root@localhost ~]# source .bashrc
阅读(...) 评论()听说学习python最好在linux下_python吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:147,989贴子:
听说学习python最好在linux下收藏
能不能推荐一下易上手的linux版本,因为主要想花时间在学python上,不想变成折腾linux
Ubuntu相对容易上手不过你要有心理准备,既然用linux了,就要丢弃windows下的一些习惯,多用键盘,多用命令行,少用鼠标点击
arch opensuse
楼主么么哒
我在用学习哈
那就在win下写代码咯。不说别的,就说在虚拟机中装Linux吧。你得下载虚拟机,安装虚拟机,你得下载镜像,安装Linux,你还得学习Linux中vi的使用。综上所述,win下学习从你目前情况最适合你。
CentOS,Ubuntu
小甲鱼python-资深吃货挚爱世间美味,好吃不贵!买生鲜,就上天猫,购新鲜,购健康!理想生活上天猫!
我建议你在先在Windows下学习,掌握了基础后转到linux下。因为一开始就折腾linux会让你分心,在熟悉的环境下更有利于学习。然后装个Debian或Ubuntu,了解一下基础操作。(不要安装arch和gentoo之类的,初学者玩不来的)这方面的书籍有《鸟哥的Linux私房菜》等,有需要可以看看。顺带一句,多数发行版自带py环境,但可能没有IDLE,需要自己安装。本人用的是Arch,IDLE一并装了,所以不知道其他的有没有。编辑器推荐sublime,网上有下。
楼主么么哒
哈,linux可够你折腾的了,不过也挺好玩的。改改新胃口嘛
乌版图挺好的,很简单
听说学习python最好在linux下-----------------没这必要吧
我这边急需python的工程师,下面是JD,有意向的简历砸过来:运维平台开发工程师 工作职责:-自动运维系统的设计与开发 -资产管理系统的设计与开发 -数据分析与展示平台的设计与开发职位要求:-本科或以上学历,计算机相关专业 -熟悉linux下C/C++、SHELL、PERL、PYTHON编程至少其一 -丰富的PHP/JAVA等WEB开发经验,熟悉MYSQL数据库 -具有良好的分析和解决问题能力,对攻关疑难问题具有浓厚兴趣 -具有强烈的进取心和求知欲望,善于学习和运用新知识 -较高的综合素质,很强的责任心,勤于动手,不怕繁琐,重视流程规范 -有一定的项目开发经验和软件工程意识、曾从事运维相关系统开发或者对运维工作非常了解者优先考虑交付运维系统研发工程师 工作职责:-负责大规模自动化交付运维系统的设计、研发工作 -负责百度操作系统和工具链的优化、设计和研发工作 -负责数据中心能耗优化系统的设计、研发工作 -与业务部门进行需求沟通,设计并实现满足其需求的业务模型和平台职位要求:专业技能要求,满足其一即可: -精通Python语言,熟悉ruby语言,具备自动化交付运维系统研发工作经验者优先 -精通Linux操作系统和文件系统,精通c或c++语言,具备相关工作经验者优先 -熟悉数据挖掘,具备服务器相关的数据挖掘工作经验者优先 软素质要求: -2年以上工作经验 -对新技术敏感,求知欲强,能快速学习并具备较强的技术领悟能力 -快速、全面、准确领悟业务需求、具有较好前瞻意识 -团队合作能力,良好的沟通能力与口头、书面表达能力,严谨的工作态度与高质量意识,良好的抗压能力
走到生命的哪一个阶段,都该喜欢那一段时光,完成那一阶段该完成的职责,顺生而行,不沉迷过去,不狂热地期待着未来,生命这样就好。不管正经历着怎样的挣扎与挑战,或许我们都只有一个选择:虽然痛苦,却依然要快乐,并相信未来。
nitrous.io
即使不见面,不说话,不发信息,我也会在心里留一个位置,安安稳稳的放着一个人。
楼主么么哒
用Linux基本都喜欢折腾系统,还是用win吧
用自己最熟悉的系统最简单的方式达到楼主最直接的目的,实践证明把时间浪费在除目的以外的事上八成都中途放弃了。
如果个人玩的话建议ubuntu,公司企业的话建议redhat或centOS如果想做hack的话建议学习kail linux如果想linux编程的话做好在学习fresBSD,saloris等其他的就不要瞎折腾。之言不会,爱听不听!
如果真想学linux,就用arch,不过一般人很难坚持
在Linux上应用更广
我的情况和楼主差不多,不过我是小白,楼主在linux下用的python的什么编辑器啊?是IDLE吗?
登录百度帐号推荐应用

我要回帖

更多关于 atom python 自动补全 的文章

 

随机推荐