澳门在线威尼斯官方 > 澳门在线威尼斯官方 > Python幼功一

原标题:Python幼功一

浏览次数:170 时间:2020-01-01

返回目录页

---恢复内容开始---

Python介绍

一、Python介绍

python的出生与应用

  python的创始人为吉多·范罗苏姆(Guido van Rossum)。

  Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言。

1、python的出生和应用

python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。

目前Python主要应用领域:

云计算

WEB开发

科学运算、人工智能

系统运维

金融

图形GUI

python是什么编程语言

*  编程语言主要分类*

*  编译型和解释型*

*  静态语言和动态语言*

*  强类型定义语言和弱类型定义语言*

2、python是什么编程语言

编译语言主要从以下几个角度进行分类,编译型和解释型、静态语言和动态语言、强类型定义语言和弱类型定义语言。

2.1编译型语言和解释型语言

编译型语言:当用户写完一段代码需要执行的时候,由编译器先把整段代码一次性编译成计算机能看懂的二进制文件,然后再执行。这个过程中,如果用户写的代码出错了,编译器就得整段从头开始编译,只是几行或者几页代码的情况下还感觉不出来,但是如果代码由成千上万行甚至上亿行,可想而知,会浪费很多时间,导致开发速度慢。而且,他不是跨平台的,编译过后的代码在不同操作系统上就无法执行。他的优点是运行快,因为一旦编译成功,每次调用只需直接执行即可

  编译型语言的代表:C语言、C++语言

解释型语言:当用户写完一段代码需要执行的时候,由解释器一段一段的解释成计算机能看懂的二进制文件,然后直接执行。与编译型语言不同的是,如果用户写的代码出错了,解释器不需要从头开始,这就会大大节省了开发时间。而且他是可以移植的,不同操作系统由不同的解释器可以解释他。他的缺点是执行速度慢,每次执行都需要一行一行的解释。

  解释型语言的代表:JavaScript、PHP、Python

编译型与解释型

编译器  先把源程序全部编译成机器语言,并保存成二进制文件,计算机直接以机器语言来运行程序,速度快

解释器  编译一行执行一行,速度慢

  计算机不能直接认识并执行我们写的语句,它只能认识机器语言(是二进制的形式)

 

编译型
  优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。可以脱离语言环境独立运行。
  缺点:编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,不同的操作系统之间移植就会有问题,需要根据运行的操作系统环境编译不同的可执行文件。

解释型
  优点:有良好的平台兼容性,在任何环境中都可以运行,前提是安装了解释器(虚拟机)。灵活,修改代码的时候直接修改就可以,可以快速部署,不用停机维护。

  缺点:每次运行的时候都要解释一遍,性能上不如编译型语言。

 

2.2 动态语言与静态语言

  动态语言:动态语言是指在运行的时候才去检查一个变量的数据类型,写程序的时候不需要先给一个变量指定类型。当第一次给变量赋值的时候,该语言会将该变量的数据类型存到内存当中。Python和Ruby就是典型的动态语言的代表。

  静态语言:静态语言是指程序在编译的时候就要首先检查每个变量的数据类型,所以用户在写程序之前就要首先声明每个变量的数据类型。Java、C、C++都是静态语言的代表。

动态语言和静态语言

动态类型语言:

  动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。Python和Ruby就是一种典型的动态类型语言,其他的各种脚本语言如VBScript也多少属于动态类型语言。

静态类型语言:

  静态类型语言与动态类型语言刚好相反,它的数据类型是在编译其间检查的,也就是说在写程序时要声明所有变量的数据类型,C/C++是静态类型语言的典型代表,其他的静态类型语言还有C#、JAVA等。

2.3 强类型定义语言和弱类型定义语言

  强类型定义语言:一旦一个变量被赋值为一个数据类型,那么它将永远为该数据类型,除非它被强制转换(int()、str())。比如说 a = 1 那么之后在给 a 赋值的时候也必须为整形。

  弱类型定义语言:一个变量可以在不同的时候被赋予不同数据类型的值。所以,一个变量的数据类型可以被忽略。

强类型定义语言和弱类型定义语言

强类型定义语言:

  强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。举个例子:如果你定义了一个整型变量a,那么程序根本不可能将a当作字符串类型处理。强类型定义语言是类型安全的语言。

弱类型定义语言:

  数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。

强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。另外,“这门语言是不是动态语言”与“这门语言是否类型安全”之间是完全没有联系的!
例如:Python是动态语言,是强类型定义语言(类型安全的语言); VBScript是动态语言,是弱类型定义语言(类型不安全的语言); JAVA是静态语言,是强类型定义语言(类型安全的语言)。

python是一门动态解释性的强类型定义语言。

综上所述,Python是一种动态解释型的强类型定义语言。

python的优缺点

3、python的优缺点

优点:

  优雅、明确、简单

  可移植性、可扩展性、嵌入性

  开发效率高

缺点:

  速度慢

  代码不能加密

  不能多线程

优点:

  1. 简单、易学、免费、开源

  2. 强大的第三方库

  3. 面向对象

  4. 可移植性

  5. 可扩展性

 

4、python的种类

CPython

当我们从Python官方网站下载并安装好Python 3.6后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。

CPython是使用最广的Python解释器。教程的所有代码也都在CPython下执行。

IPython

IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。

CPython用>>>作为提示符,而IPython用In [``序号``]:作为提示符。

PyPy

PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。

绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点。

Jython

Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。

IronPython

IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。

小结:

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

  

缺点:

  1. 速度慢

  2. 代码不能加密

  3. 线程不能利用多CPU问题

 

二、python环境配置

 

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

 

python的种类

CPython

  这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。

IPython

  IPython是基于CPython之上的一个交互式解释器,IPython只是在交互方式上有所增强,功能一样

PyPy

  PyPy是另一个Python解释器。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),可以显著提高Python代码的执行速度

Jython

  Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。

IronPython

  IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。

小结:

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

三、python基础

python基础初识

1.编写python代码

在D盘创建一个文件名为1.py的文件,代码如下

print("Hello world")

 

 按win+R打开运行窗口,输入cmd打开命令窗口、

 

图片 1

 

在命令行窗口里输入python D:/1.py

图片 2

 

 上图可以看出,以及成功运行该文件代码并且打印出“Hello World!”

内容编码

  python2解释器(默认ascill)

  python3对内容进行编码的默认为utf-8。

  ASCII  其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。

 

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

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

                                                  欧洲的字符用2个字节保存

                                                  东亚的字符用3个字节保存...

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

  #!/usr/bin/env python   寻找解释器位置

  # -*- coding: utf-8 -*-   显示中文

2.内容编码

解释器在执行代码的时候,需要将代码编译成机器能读懂的二进制码(由1和0组成),而python2版本在编译的时候默认以ASCII码的格式进行转换(也可以指定编码格式),而python3版本在编译的时候默认为utf-8格式进行转换。

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

  然而,世界上的语言以及符号远远不止256个,所以当计算机传入世界各国的时候ASCII码已经不能满足大家的使用了,于是出现了Unicode(统一码、万国码、单一码),Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
注:此处说的的是最少2个字节,可能更多

  但是问题来了,友谊Unicode至少2个字节,也就是16位,但是英文字母以及有些符号根本不需要这么多字节,所以统一用Unicode码的话会大大浪费宝贵的内存空间,于是又出现了一种新的编码:UTF-8.该编码格式是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...

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

报错:ascii码无法表示中文

print('你好,世界!')

解决方法是,在代码的首行加入以下代码,用来指定编码格式:

#-*- ecoding:utf-8 -*-
#这样,就能成功执行并打印出中文“你好,世界!”了。

注释

  单行注释:# 被注释内容

  多行注释:'''被注释内容''',或者"""被注释内容"""

  文档注释:1. 选中函数名称

       2. 点击小灯泡

       3. 选择 insert documentation string stub

  标记注释:#_TODO(人名)_显示功能菜单  和单行注释差不多

3、注释

当行注释:# 被注释内容

多行注释:'''被注释内容''',或者"""被注释内容"""

变量

4、变量

变量:把程序运行的中间结果临时的存在内存里,以便后续的代码调用。

变量定义的规则:

  • 变量名只能是 字母、数字下划线的任意组合
  • 变量名的第一个字符不能是数字
  • 以下关键字不能声明为变量名
  • 变量的定义要具有可描述性。

4.1声明变量

1 #!/usr/bin/env python
2 #_*_ coding:utf-8 _*_
3 
4 name = "bingbing"

 

上述代码声明了一个变量

变量名为:name

变量name的值为:“bingbing”

变量的作用:昵称,其代值内存里某个地址中保存的内容

图片 3

推荐定义方式

#驼峰体

AgeOfOldboy = 56

NumberOfStudents = 80

#下划线

age_of_oldboy = 56

number_of_students = 80

4.2变量定义的规则

 变量名只能是 字母、数字或下划线的任意组合

变量名的第一个字符不能是数字

以下关键字不能声明为变量名
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec',

'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print',

'raise', 'return', 'try', 'while', 'with', 'yield']

变量的定义要具有可描述性。

常量

常量即指不变的量

定义类型为全部大写

AGE_OF_OLDBOY = 56

 4.3推荐定义方式

#驼峰体

bingBingBing = 23
HaaaaaaHaaaHaa = 12

#下划线
bing_bing_bing = 23
ha_ha_ha = 12

 

基础数据类型(初始)

 4.4变量的赋值

#!/usr/bin/env python
#_*_ coding:utf-8 _*_

name1 = "bingbing"
name2 = "haha"

 

 

 

#!/usr/bin/env python
#_*_ conding:utf-8 _*_

name1 = "bingbing"
name2 = name1

图片 4

 

本文由澳门在线威尼斯官方发布于澳门在线威尼斯官方,转载请注明出处:Python幼功一

关键词:

上一篇:没有了

下一篇:NET平台常用的框架整理