导读

众所周知,系统管理员需要精通一门脚本语言,而且招聘机构列出的职位需求上也会这么写。大多数人会认为 Bash (或者其他的 shell 语言)用起来很方便,但一些强大的语言(比如 Python)会给你带来一些其它的好处。

首先,我们会使用 Python 的命令行工具,还会接触到 Python 的面向对象特性(这篇文章的后半部分会谈到它)。

学习 Python 可以助力于你在桌面应用开发及数据科学领域的职业发展。

容易上手,广泛使用,拥有海量“开箱即用”的模块(它是一组包含 Python 语句的外部文件),Python 理所当然地成为了美国计算机专业大学生在一年级时所上的程序设计课所用语言的不二之选。

在这个由两篇文章构成的系列中,我们将回顾 Python 的基础部分,希望初学编程的你能够将这篇实用的文章作为一个编程入门的跳板,和日后使用 Python 时的一篇快速指引。

Linux 中的 Python

Python 2.x 和 3.x 通常已经内置在现代 Linux 发行版中,你可以立刻使用它。你可以终端模拟器中输入 "python" 或 "python3"来进入 Python shell, 并输入 "quit()" 退出。

$ which python

$ which python3

$ python -v

$ python3 -v

$ python

>>> quit()

$ python3

>>> 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 [CentOS 和 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 函数提供一串用逗号分隔的变量和/或字符串,它会返回一个由你刚才提供的变量依序构成的句子:

>>> a = 5

>>> b = 8

>>> x = b / a

>>> x

1.6

>>> 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])

11

总结

在这篇文章中,我们简要介绍了 Python、它的命令行 shell、IDLE,展示了如何执行算术运算,如何在变量中存储数据,如何使用 "print" 函数在屏幕上重新显示那些数据(无论是它们本身还是它们的一部分),还通过一个实际的例子解释了对象的属性和方法。

下一篇文章中,我们会展示如何使用条件语句和循环语句来实现流程控制。我们也会解释如何编写一个脚本来帮助我们完成系统管理任务。

你是不是想继续学习一些有关 Python 的知识呢?敬请期待本系列的第二部分(我们会在脚本中将 Python 和命令行工具的优点结合在一起),你还可以考虑购买我们的《终极 Python 编程》系列教程。

像往常一样,如果你对这篇文章有什么问题,可以向我们寻求帮助。你可以使用下面的联系表单向我们发送留言,我们会尽快回复你。

python利器怎么编程-Linux 利器- Python 脚本编程入门(一)相关推荐

  1. linux系统shell脚本编程,Linux系统shell脚本编程(一)

    哈喽,大家好,我是Adam.前面我发了不少关于linux 的文章,今天也是一样,将分几篇文章系统化的讲讲shell脚本编程.废话不多说,走起走起!        首先说一下shell脚本是什么.简单来 ...

  2. Linux之shell脚本编程

    Linux之shell脚本编程 编程介绍 shell 介绍 shell 脚本编程介绍 shell脚本命令 shell 编程基础知识 编程介绍 计算机编程的本质:输入.运算.输出 编译型语言: 程序在执 ...

  3. (shell脚本编程)linux如何利用脚本执行多条命令以及linux如何执行定时任务

    文章目录 shell脚本编程 条件语句 脚本执行多条命令 执行定时任务 本文着重于提高我们的生产力,所以将这几个作为了一个专题. shell脚本编程 脚本中不同语句用分号隔开,和c语言一样. for, ...

  4. linux修改默认python版本_将Linux下python默认版本切换成替代版本

    当你安装 Debian Linux 时,安装过程有可能同时为你提供多个可用的 Python 版本,因此系统中会存在多个 Python 的可执行二进制文件.你可以按照以下方法使用 ls 命令来查看你的系 ...

  5. Linux,shell脚本编程-图书管理系统

    Shell脚本编程-图书管理系统 准备的数据库 代码块 前期准备 进入页面 主菜单 展示图书 查找图书 添加图书 编辑图书 借书 还书 删除图书 运行 演示 主界面 展示图书 查找图书 添加图书 编辑 ...

  6. python软件安装步骤-Linux中Python 环境软件包安装步骤

    简介: 记录一下关于 Python 环境软件包的一些安装步骤 1.升级 Python 到 2.7.10( 默认 2.6.6 ) shell > yum -y install epel-relea ...

  7. linux守护进程编程,Linux守护进程的编程实现

    Linux 守护进程的编程方法 守护进程(Daemon)是执行在后台的一种特殊进程.它独立于控制终端而且周期性地执行某种任务或等待处理某些发生的事件.守护进程是一种非常实用的进程.Linux的大多数s ...

  8. python打印倒等腰梯形,Linux使用shell脚本做的菱形等一些益智题

    shell脚本多重循环小实验 一.99乘法表 #!/bin/bash for ((a=1;a<=9;a++)) do for ((b=1;b<=$a;b++)) do c=$[$a*$b] ...

  9. python网络编程linux清华_Python网络编程篇之socket

    参数一:地址簇 socket.AF_INET IPv4(默认) socket.AF_INET6 IPv6 socket.AF_UNIX 只能够用于单一的Unix系统进程间通信 参数二:类型 socke ...

最新文章

  1. 【Linux入门连载二】Linux系统有哪些基本目录?
  2. Data Collection with Apache Flume(一)
  3. 超越java jb51_.net mvc超过了最大请求长度的解决方法
  4. python 读取xml内容
  5. Linux 系统磁盘满处理方法
  6. 去掉flash player自带的fff新推荐广告插件
  7. 继续惨...555555555
  8. c语言厘米换算分米程序设计,厘米和分米换算(米和厘米换算)
  9. Redis的incr命令引发的反序列化异常和ERR value is not an integer or out of range异常
  10. Java小程序 个人缴税
  11. 【stm32f4 C++与C混合开发】建立keil5的ARM Compiler 6(AC6)标准库开发工程
  12. 海量上传文件服务器端,bat批量上传ftp文件到服务器
  13. 用MATLAB求解小鸭过河曲线
  14. linux内核结构介绍及驱动引入
  15. Java 的核心目的和并发编程
  16. Python基础-编码
  17. 野蛮人大作战怎么用电脑玩 野蛮人大作战PC电脑版怎么玩
  18. koa +ts 搭建简单项目
  19. Quest 3d中Lua script中常用方法1
  20. BIN文件反汇编方法

热门文章

  1. HTML5+CSS学习心得
  2. 外媒:高通指控苹果窃取其芯片机密信息!
  3. SQL UNION 操作符
  4. 【零基础学习iOS开发】【02-C语言】10-函数
  5. 为什么没有MMU的处理器无法安装操作系统?
  6. C# 读取CSV和EXCEL文件示例
  7. 关于delphi中的register, pascal, cdecl, stdcall, safecall
  8. JMS调用IBM MQ监听模式
  9. sscanf用法简介
  10. cdn大全 jquery/jqueryUI/Dojo/MooTools/Prototype