Python基础知识,,一、了解Python


一、了解Python

1、python的创始人是吉多•范罗苏姆(Guido van Rossum)。

2、目前Python的主要应用领域:

云计算(OpenStack)、WEB开发、人工智能、系统运维、金融、图形GUI(PyQT,WxPython,TkInter)等等。

3、Python是一门动态解释型的强类型定义语言。

(1)解释型与编译型

解释型:在程序运行的前一刻,还只有源程序而没有可执行程序;而程序每执行到源程序的某一条指令,则会有一个称之为解释程序的外壳程序将源代码转换成二进制代码以供执行。如Java、JavaScript、VBScript、Perl、Python等等。

编译型:一次把所有的代码转换成机器语言,然后写成可执行文件。如C/C++、Pascal/Object Pascal(Delphi)、VB等基本都可视为编译语言。

(2)动态语言和静态语言

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

静态语言:静态类型语言是在编译期间检查的,也就是说在写程序时要声明所有变量的数据类型。

(3)强类型定义语言和弱类型定义语言

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

弱类型定义语言:数据类型可以被忽略的语言。

4、Python的特点

(1)Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂;

(2)开发效率非常高,Python拥有非常强大的第三方库;

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

(4)可移植性,Python程序无需修改就几乎可以在市场上所有的系统平台上运行;

(5)可嵌入性,你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能;

(6)速度慢,Python 的运行速度相比C语言确实慢很多,跟JAVA相比也要慢一些;

(7)代码不能加密,因为PYTHON是解释性语言,它的源码都是以名文形式存放的;

(8)线程不能利用多CPU问题,这是Python被人诟病最多的一个缺点,GIL即全局解释器锁(Global Interpreter Lock),是计算机程序设计语言解释器用于同步线程的工具,使得任何时刻仅有一个线程在执行,Python的线程是操作系统的原生线程。

5、Python的发展史

1989年,Guido开始写Python语言的编译器;

1991年,第一个Python编译器诞生;

1999年,Python web框架的鼻祖Zope 1发布;

1994年1月,Python 1.0;

2000年10月16日,Python 2.0;

2004年11月30日,Python 2.4;

2006年9月19日,Python 2.5;

2008年10月1日,Python 2.6;

2010年7月3日,Python 2.7;

2008年12月3日,Python 3.0;

2009年6月27日,Python 3.1;

2011年2月20日,Python 3.2;

2012年9月29日,Python 3.3;

2014年3月16日,Python 3.4;

2015年9月13日,Python 3.5。

二、基础知识

1、第一个Python程序Hello World

print("Hello World")

2、变量\字符编码

(1)声明变量

name = "Lei Lu"

上述代码声明了一个变量,变量名为: name,变量name的值为:"Lei Lu"

(2)变量定义的规则

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

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

关键字不能声明为变量名。

(3)字符编码

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

ASCII  255  1bytes

-----> 1980  gb2312  7xxx

-----> 1995  GBK1.0  2w+

-----> 2000  GB18030  27xxx

-----> unicode  2bytes

-----> utf-8  en:1bytes,zh:3bytes

3、注释

当行注视:# 被注释内容

多行注释:""" 被注释内容 """

4、Python运行过程简述

当python程序运行时,编译的结果则是保存在位于内存中的PyCodeObject中,当Python程序运行结束时,Python解释器则将PyCodeObject写回到pyc文件中;当python程序第二次运行时,首先程序会在硬盘中寻找pyc文件,如果找到,则直接载入,否则就重复上面的过程。所以我们应该这样来定位PyCodeObject和pyc文件,我们说pyc文件其实是PyCodeObject的一种持久化保存方式。

5、数据类型

(1)int(整形):在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647;在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807。

(2)long(长整型):Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小。

(3)float(浮点型):浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。

(4)complex(复数):复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。

6、字符串拼接,格式化输出

字符串是 %s;整数 %d;浮点数%f

name = input("name:")

age = input("age:")

job = input("job:")

info = ‘‘‘

----------------- info of $ -----------------

Name:

Age:

Job:

‘‘‘

方式一:

info = ‘‘‘

----------------- info of‘‘‘ + name + ‘‘‘-----------------

Name:‘‘‘ + name+ ‘‘‘

Age:‘‘‘ + age+ ‘‘‘

Job:‘‘‘ + job + ‘‘‘

‘‘‘

print(info)

注:这种方法最好不要使用

方式二:

info = ‘‘‘

----------------- info of%s -----------------

Name:%s

Age:%s

Job:%s

‘‘‘ %(name,name,age,job)

print(info)

方式三:

info = ‘‘‘

----------------- info of{_name} -----------------

Name:{_name}

Age:{_age}

Job:{_job}

‘‘‘ .format(_name=name,

    _age=age,

_job=job)

print(info)

方式四:

info = ‘‘‘

----------------- info of{0} -----------------

Name:{0}

Age:{1}

Job:{2}

‘‘‘ .format(name,age,job)

print(info)

7、创建列表

name_list = [‘leilu‘,‘seven‘,‘lily‘]

name_list = list([‘leilu‘,‘seven‘,‘lily‘])

8、创建元组

元组:不可变列表

ages = (11,12,13,14,15,16)

ages = tuple(11,12,13,14,15,16)

9、创建字典

person = {"name": "leilu", ‘age‘: 24}

person = dict({"name": "leilu", ‘age‘: 24})

Python基础知识

评论关闭