原文

Python 能让程序紧凑, 可读性增强. 用 Python 写的程序通常比同样的 C, C++ 或 Java 程序要短得多, 这是因为以下几个原因:

  • 高级数据结构使你可以在单独的语句中也能表述复杂的操作;
  • 语句的组织依赖于缩进而不是 开始/结束 符 (类似 C 族语言的 {} 符号或 Pascal 的begin/end关键字);
  • 参数或变量不需要声明.

启动解释器

$ python3.5

输入一个文件结束符 ( UNIX 上是 Control-D , Windows 上是 Control-Z ) 解释器会以 0 值退出. 如果没有起作用, 你可以输入以下命令退出: quit().

启动解释器的第二个方法是 python -c 'command [arg] ...',

参数传递

调用解释器时, 脚本名和附加参数传入一个名为 sys.argv 的字符串列表.

  • 没有给定脚本和参数时, 它至少有一个元素: sys.argv[0], 此时它是一个空字符串,
  • 脚本名指定为 '-' (表示标准输入) 时, sys.argv[0] 被设为 '-' .
  • 使用 -c 命令 时, sys.argv[0] 被设定为 '-c' .
  • 使用 -m 模块 时, sys.argv[0] 被设定为模块的全名.
  • -c command 或 -m module 之后的参数不会被 Python 解释器的选项处理机制所截获, 而是留在 sys.argv 中, 供命令或模块操作.

错误处理

在主提示符或从属提示符后输入中断符 (通常是 Control-C 或者 DEL) 就会取消当前输入, 回到主提示符. [2] 执行命令时输入一个中断符会抛出一个 KeyboardInterrupt 异常, 它可以被 try 语句截获.

可执行脚本

类 BSD 的 UNIX 系统中, Python 脚本可以像 Shell 脚本那样直接执行, 只要在脚本文件开头加一行文本来声明模式:

#! /usr/bin/env python3.2

#! 这两个字符必须是文件的头两个字符. 在某些平台上, 第一行必须以 UNIX 风格的行结束符 ('\n') 结束, 不能用 Windows ('\r\n') 的行结束符

在 Windows 系统下, 没有 “可持行模式 (executable mode)” 的概念. Python 安装器会自动地把 .py 后缀的文件与 python.exe 绑定, 因此双击一个 Python 文件, 就可以把它作为脚本来运行. 扩展名也可以是 .pyw, 这时工作台窗口会隐藏不被打开.

定制模块

获取 user site-package 目录地址

>>> import site
>>> site.getusersitepackages()
'/home/lg/.local/lib/python3.5/site-packages'

现在你可以在上面的目录下创建一个名为 usercustomize.py 的文件, 并在里面放置任何你想放的东西. 它将影响到每一次 Python 的调用, 除非使用了 -s 选项来禁用了自动导入功能.

sitecustomize 以同样的方式工作, 但通常由该计算机的管理员在全局 site-packages 目录下创建, 并且在 usercustomize 之前被导入.

python 解释器的更多相关文章

  1. python入门-python解释器执行

    最近由于公司需要,接触了python这门神奇的语言,给我的感觉就是开发快速和代码简洁. 开始还是先罗列一下解释性语言和编译性语言的差别吧0.0!   编译性语言:是在程序运行前,需要专门的一个编译过程 ...

  2. python学习笔记-python解释器

    刚开始学习python,首先要了解一下python解释器. 什么是python解释器? 编写python代码保存后,我们会得到一个以.py为扩展名的文本文件.要运行此文件,就需要python解释器去执 ...

  3. python环境搭建-设置PyCharm软件的配色方案和Python解释器

    设置PyCharm软件的配色方案 设置Python解释器(用于Python2 or 3 的切换)

  4. python解释器快捷键

    13. 交互式输入的编辑和历史记录 某些版本的 Python 解释器支持编辑当前的输入行和历史记录,类似于在 Korn shell 和 GNU Bash shell 中看到的功能.这是使用GNU Re ...

  5. Python解释器

    当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件.要运行代码,就需要Python解释器去执行.py文件. 由于整个Python语言从规范到解释器都是开源的 ...

  6. python 解释器内建函数001

    python解释器内建函数列表如下: 001.abs() 求绝对值 #!/usr/bin/python if __name__=="__main__": print(abs(-10 ...

  7. python解释器的安装;python2与python3同时在环境变量中时的解决方案

    新文档 html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,addres ...

  8. 浅析Python解释器的设计

    从现代编译器的角度看,解释器和编译器的边界已经相当的模糊.我们后面的讨论说到的编译器就是Python的解释器,没有特别说明的指的是CPython的实现. 内存管理(Memory Management) ...

  9. Python tutorial阅读之使用 Python 解释器

    配置环境变量后,一般可以直接通过Python或指定Python版本号来调用Python. Python 解释器有些操作类似 Unix shell:当使用终端设备(tty)作为标准输入调用时,它交互的解 ...

  10. Qt Creator 整合 python 解释器教程

    目录 1. 前言 2.前提条件 3.步骤 3.1 新建 python文件 3.2 编写 python 代码 3.3 配置 python 解释器 3.4 执行 python file 1. 前言 Pyt ...

随机推荐

  1. [Unit Testing] Using Mockito Annotations - @Mock, @InjectMocks, @RunWith

    Previously we have seen how to do Unit testing with Mockito; import org.junit.Test; import static or ...

  2. minipad2

    minipad2 是一款小巧的纯文本笔记软件,系统资源占用少,集笔记 / 便笺.计算器.备忘录.电子词典.快启面板.通讯录.文字模板.多重剪贴板等多种功能于一体,所有内容自动保存,关闭时自动记忆最后的 ...

  3. 解决javah生成c头文件时找不到android类库的问题

    问题描述: cmd下面进入工程的bin/classes下面,执行 javah xxx.xxx.A 生成头文件, 一般来说都是可以成功执行的,但是如果xxx.xxx.A类里面引用了android类库里面 ...

  4. Swift ARC 自动引用计数

    1.ARC 引用类型在堆上的内存分配过程中有 8 字节的地址长度用来保存对象的引用计数,堆上的内存并不像栈上那样立即进行回收,系统会定时对堆上的内存进行检查,当某个实例不再被使用时,引用计数会变为 0 ...

  5. ajax之async属性

    Ajax请求中的async:false/true的作用 官方的解释是:http://api.jquery.com/jQuery.ajax/ async Boolean Default: true By ...

  6. LeetCode OJ 238. Product of Array Except Self 解题报告

        题目链接:https://leetcode.com/problems/product-of-array-except-self/ 238. Product of Array Except Se ...

  7. jquery ui autocomplete输入中文不自动完成的问题

    因为输入法或浏览器的问题,在输入中文后并没有触发自动完成,要再按多一下键盘才触发,查看发现它是用keydown来实现.bind("keydown.autocomplete", fu ...

  8. 第三部分:Android 应用程序接口指南---第二节:UI---第四章 Action Bar

    第4章 Action Bar Action Bar是一个能用于确定应用程序和用户的位置,并提供给用户操作和导航模式的窗口功能.如果需要显著地展示当前用户的操作或导航,应该使用Action Bar,因为 ...

  9. [k8s]kube-dns架构图解

    kubedns DNS Policy http://blog.fleeto.us/translation/configuring-private-dns-zones-and-upstream-name ...

  10. 菜鸟学Java(二十二)——重新认识泛型

    泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数.这种参数类型可以用在类.接口和方法的创建中,分别称为泛型类.泛型接口.泛型方法. Java语言引 ...