一、python的定义

python是一门面向对象的、动态解释型的强类型定义语言

    引申:

编译型&解释型:

1、编译型:编译是将源程序翻译成可执行的目标代码,翻译与执行是分开的。对于编译执行而言,运行时的控制权在用户程序。有一个负责翻译的程序来对我们的源代码进行转换,生成相对应的可执行代码,这个过程就是编译,负责编译的程序称之为编译期

    C/C++、Pascal等都是编译型语言。

2、解释型:解释型语言需要解释器来将代码来转换成可执行程序,而解释器只有在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度没有编译后的程序运行的快。

     Java、Perl、Python都是解释型语言。

总结:编译是一次性将代码全部编译,解释就是只在执行的时候才去编译。

 

动态(类型)语言&静态(类型)语言

1、动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在第一次赋值给变量时,在内部将数据类型记录下来。

Python和Perl语言就是一种典型的动态类型语言。

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

 

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

1、强类型定义语言:强制数据类型定义的语言。一个变量被指定了某个数据类型,如果不经过强制转换,那么他就永远是这个数据类型了.

例如:当我们定义了一个整形变量a,那么程序根本不可能将a当作字符串类型处理。

强类型定义语言是类型安全的语言。

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

Python是一种动态、强类型定义语言。

二、Python的优缺点

1、优点:

1)”明确、简单、优雅“

2)开发效率高,Python有很多很强大的第三方库,基本可以通过计算机实现任何功能,官方库里面有相应的开发模块,下载调用后,在基础库的基础上进行开发,降低开发周期。

3)高级语言。当我们用Python语言编写程序时,无需考虑诸如如何管理你的程序使用的内存一类的底层细节。

4)可移植性,Python可以被移植在许多平台上,如果避免使用依赖系统的特性,那么Python程序无需修改就可以在市面上所有系统的平台上运行。

5)可扩展性;

6)可嵌入性。

2、缺点:

1)速度慢,由于Python是一边编译一边执行,在速度上较之C语言、Java慢很多

2)代码不能加密

3)线程不能利用多CPU问题。GIL,即全局解释器锁,是计算机程序设计语言解释器用于同步线程的工具,使得任何时候仅有一个线程在执行,Python的线程是操作系统的原生线程,在Linux上是pthead,在Windows上为Win thread,完全由操作西永调度线程的执行。一个python解释器进程内只有一条主线程,以及多条用户程序的执行。即使在多核CPU平台上,由于GIL的存在,禁止多线程的并行执行。

三、Python解释器

Cpython,市面上使用最为流行的解释器。

四、Hello World程序

在Linux下创建一个文件名为hello.py,输入内容:

print(“Hello World”)

   以上代码也可以在pycharm解释器中执行。

五、变量&字符编码

声明变量

name=’ykyk’

上述代码声明了一个变量,变量名为:name,变量name的值为:ykyk。

变量定义的规则:

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

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

关键字不能声明为变量:

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.
变量的赋值
name=’ykyk'
name2=name
print(name,name2)
 
name = ‘tina’
print(name,name2)

 

七、字符编码

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

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

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

Unicode 是一种在计算机上使用的字符编码。Unicode是为了解决传统的字符编码方案的局限而产生的,它为每种语言的每个字符设定了统一并且唯一的二级制编码,规定所有的字符和符号最少由16位来表示(2个字节),即2**16=65536。

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