1. Python简介:

Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。

Python是纯粹的自由软件源代码解释器CPython遵循 GPL(GNU General Public License)协议[1]  。
Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。
Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中[2]  有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。
 

Python的种类

  • Cpython     Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。
  • Jyhton     Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。
  • IronPython     Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似)
  • PyPy(特殊)     Python实现的Python,将Python的字节码字节码再编译成机器码。
  • RubyPython、Brython ...

小结

Python的解释器很多,但使用最广泛的还是CPython。如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。

目前Python主要应用领域:

  • 云计算: 云计算最火的语言, 典型应用OpenStack
  • WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django
  • 科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas
  • 系统运维: 运维人员必备语言
  • 金融:量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测
  • 图形GUI: PyQT, WxPython,TkInter

2. Python环境

安装python

windows:

1、下载安装包
https://www.python.org/downloads/
2、安装
安装路径:自己定义,默认C盘
3、配置环境变量
【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用 ; 分割】
如:原来的值;C:\python3,切记前面有分号

Linux:

无需安装,原装Python环境

ps:如果自带2.6,请更新至2.7或者3.5,根据自身要求,Ubuntu上的Python更新快,centos上的Python老

pycharm小技巧:

 在所有行的开头加上#号:
选中所有要添加注释的行,Ctrl + ?

3.Python入门

编码

默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 当然你也可以为源码文件指定不同的编码:

# -*- coding: cp-1252 -*-

行与缩进

python最具特色的就是使用缩进来表示代码块,不需要使用大括号({})。

缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。实例如下:

if True:
print ("True")
else:
print ("False")

如果缩进数的空格数不一致,会导致运行错误,报错关键词为IndentationError。

多行语句

Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠(\)来实现多行语句,例如:

total = item_one + \
item_two + \
item_three

在  [], {}, 或 () 中的多行语句,不需要使用反斜杠(\),例如:

total = ['item_one', 'item_two', 'item_three',
'item_four', 'item_five']

空行

函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。

空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。

记住:空行也是程序代码的一部分。

多个语句构成代码组

缩进相同的一组语句构成一个代码块,我们称之代码组。

像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。

我们将首行及后面的代码组称为一个子句(clause)。

如下实例:

if expression :
suite
elif expression :
suite
else :
suite

Python3 解释器

Linux/Unix的系统上,一般默认的 python 版本为 2.x,我们可以将 python3.x 安装在 /usr/local/python3 目录中。

安装完成后,我们可以将路径 /usr/local/python3/bin 添加到您的 Linux/Unix 操作系统的环境变量中,这样您就可以通过 shell 终端输入下面的命令来启动 Python3 。

$ PATH=$PATH:/usr/local/python3/bin/python3    # 设置环境变量
$ python3 --version
Python 3.5.2

在Window系统下你可以通过以下命令来设置Python的环境变量,假设你的Python安装在 C:\Python35 下:

set path=%path%;C:\python35

在 /home/dev/ 目录下创建 hello.py 文件,内容如下:

1
print "hello,world"

执行 hello.py 文件,即: python /home/dev/hello.py

1.内容编码

python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)

ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。

显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode

Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536, 注:此处说的的是最少2个字节,可能更多

UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...

所以,python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),如果是如下代码的话:

报错:ascii码无法表示中文

1
2
3
#!/usr/bin/env python
  
print "你好,世界"

改正:应该显示的告诉python解释器,用什么编码来执行源代码,即:

1
2
3
4
#!/usr/bin/env python
# -*- coding: utf-8 -*-
  
print "你好,世界"

2.注释

Python3 注释

确保对模块, 函数, 方法和行内注释使用正确的风格

Python中的注释有单行注释和多行注释:

Python中单行注释以#开头,例如::

# 这是一个注释
print("Hello, World!")

多行注释用三个单引号(''')或者三个双引号(""")将注释括起来,例如:

1、单引号(''')

#!/usr/bin/python3
'''
这是多行注释,用三个单引号
这是多行注释,用三个单引号
这是多行注释,用三个单引号
'''
print("Hello, World!")

2、双引号(""")

#!/usr/bin/python3
"""
这是多行注释,用三个单引号
这是多行注释,用三个单引号
这是多行注释,用三个单引号
"""
print("Hello, World!")

 总结:

单行注释:# 被注释内容

多行注释:""" 被注释内容 """ or'''被注释内容'''
ps:"""多行注释"""即可以代表一个多行注释,也可以代表一个段落

例子:

duanluo = """My name is John,
My age is 18,
My address is Beijing.
"""
print(duanluo)

Python的格式化输出:

name = input("name:")
age = input("age:")
job = input("job")
hobby = input("hobby:") """
print("My name is,",name,"I am",age,"years old,\n",
"My job is",job,"My hobby is",hobby)
"""
info = """
---------info of %s-------------
Name:%s
Age:%d
Job:%s
Hobby:%s
-------------end----------------
"""%(name,name,age,job,hobby)
print(info)

其中%s表示格式化一个对象为字符
其中%d表示为整数

3.变量

变量定义:一个在内存存储数据的容器

 
变量的意义:因为它保存的程序执行的中间结果或者状态,以供后面的代码进行调用
前面定义了变量,那么后面就一定要进行调用,否则定义的变量就没有意义
 
变量的主要作用就是存储和标记
 
引用变量是用来存储信息和操作在一个计算机程序。他们还提供一种标签数据与一个描述性的名称,所以我们的程序可以被读者和我们自己更清楚地理解。它有助于认为变量保存信息的容器。他们的唯一目的是标签和数据存储在内存中。这些数据可以使用您的程序。

变量声明:

输入字符串的时候一定要告诉python,输入的是字符串,加"",为了区分字符串和变量,要用逗号(,)区分 #数字不需要加引号(""),否则定义就变成字符串了 #用print引用变量时不能加引号(""),否则定义就变成字符串了,而不是输出变量的结果了

变量规则:

 NameError:变量名没定义
变量一定是先定义后调用
变量名只能是字母、数字、下划线,不能以数字开头的组合
变量的名字一定要有描述性的意义,否则时间长了,自己和他人都看不懂意义
变量的名字的常用方式
age_of_John = #官方推荐用法
ageOfJohn = #驼峰 AGE_OF_JOHN =
常量一般是全大写(python没有限制,但是为了区别,一般不要用全大写)

小例子(进度条):

import sys,time
for i in range(20):
sys.stdout.write("#")
sys.stdout.flush()
time.sleep(0.1)

python报错:

 IndentationError:expected an indented block 缩进错误
同一级别的代码缩进必须保持一致

最新文章

  1. python 旋转数组
  2. Hihocoder 1063 缩地
  3. Selenium+WebDriver+Python 定时控制任务
  4. 用Castor 处理XML文档
  5. elk实战分析nginx日志文档
  6. 高版本Chrome不支持showModalDialog
  7. Twig模版语言入门
  8. memcached全面剖析–4. memcached的分布式算法
  9. 【ASP.NET】TreeView控件学习
  10. html自定义checkbox、radio、select —— checkbox、radio篇
  11. linux下Oracle11g RAC搭建(六)
  12. 虚拟机下 solr7.1 cloud 集群搭建 (手动解压和官方脚本两种方式)
  13. mysql查看工具——mysql profiler sql
  14. Linux:command not found
  15. Archlinux/Manjaro使用笔记-使用makepkg安装软件 报错:未找到strip分割所需的二进制文件 的解决方法
  16. Mark 韦氏拼音 邮政式拼音 和汉语拼音
  17. 图解项目管理流程:禅道&JIRA中的操作
  18. 查找Mysql慢查询Sql语句
  19. IDE、SATA、SCSI、SAS、FC、SSD 硬盘类型
  20. test20181019 B君的第三题

热门文章

  1. Step by Step 安装 BizTalk Server 2009
  2. [译]如何防止elasticsearch的脑裂问题
  3. Html5 实现灯笼绘制
  4. 每天一个linux命令(45):free 命令
  5. 《Effective Java》—— 读后总结
  6. css双飞翼布局
  7. WPF入门教程系列十五——WPF中的数据绑定(一)
  8. UIViewController 生命周期
  9. 收集的React.JS资料
  10. OpenCASCADE Hidden Line Removal