首页 > 编程语言 >Python介绍

Python介绍

时间:2022-08-26 19:35:01浏览次数:195  
标签:count 解释器 编译 Python 代码 介绍 python

python介绍

 

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

最新的TIOBE排行榜,Python已经占据世界第四名的位置, Python崇尚优美、清晰、简单,是一个优秀 广泛使用的语言。

 

 

 

由上图可 见,Python整体呈上升趋势,反映出Python应 用越来越 广泛并且也逐渐得到业内的认可!!!

Python可以应 用于众多领域,如:数据分析、组件集成、 网络服务、图像处理、数值计算和科学计算等众多领域。 目前业内 几乎所有 大中型互联 网企业都在使 用Python,如:

Youtube、Dropbox、BT、Quora(中国知乎)、 豆瓣、知乎、Google、Yahoo!、

Facebook、NASA、百度、腾讯、汽 车之家、美团等。

 

 目前Python主要应用领域:

 
 云计算:云计算最火的语 言, 典型应 用OpenStack WEB开发:众多优秀的WEB框架,众多大型网站均为Python开发,Youtube,

 知乎, 豆瓣。。。, 典型WEB框架有Django科学运算、 人工智能:典型库NumPy, SciPy, Matplotlib, Enthoughtlibrarys,pandas

 系统运维:运维人员必备语 言

 金融:量化交易, 金融分析,在金融工程领域,Python不不但在用,且用的最多, 而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,
    库丰富,成熟稳定,科学计算和统计分析都很 牛逼, 生产效率远远 高于c,c++,java,尤其擅长策略回测 图形GUI: PyQT, WxPython,TkInter
 

 

Python在 一些公司的应用:

 

 
 谷歌:Google App Engine 、code.google.com 、Google earth 、 谷歌爬虫、
 

Google 广告等项 目都在 大量量使 用Python开发  CIA: 美国中情局 网站就是 用Python开发的


 NASA: 美国航天局(NASA) 大量量使 用Python进 行行数据分析和运算

 
YouTube:世界上最 大的视频 网站YouTube就是 用Python开发的
 

 Dropbox:美国最 大的在线云存储 网站,全部 用Python实现,每天 网站处理理10亿个


 Instagram:美国最大的图 片分享社交 网站,每天超过3千万张照 片被分享全部用python开发
Facebook: 大量量的基础库均通过Python实现的
Redhat: 世界上最流行的Linux发 行版本中的yum包管理 工具就是 用python开发的
豆瓣: 公司几乎所有的业务均是通过Python开发的
知乎: 国内最 大的问答社区,通过Python开发(国外Quora)
春雨医生:国内知名的在线医疗 网站是 用Python开发的除上面之外,还有搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝 、土豆、新浪、果壳等公司都在使用Python完成各种各样的任务。

 

1.1.python是 一 门什什么样的语 言

 

编程语 言主要从以下 几个⻆角度为进行分类,编译型和解释型、静态语 言和动态语言、强类型定义语言和弱类型定义语言,我们先看编译型语言和解释型语言. 稍后再说强类型和弱类型

 

编译和解释的区别是什什么?

 

编译器 是把源程序的每 一条语句句都编译成机器语言,并保存成 二进制 文件,这样运行时计算机可以直接以机器语 言来运 行行此程序,速度很快;

 而解释器 则是只在执 行行程序时,才 一条 一条的解释成机器语 言给计算机来执 行,所以运行速度是不如编译后的程序运行的快的.

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

 

编译型vs解释型

 

编译型

 

优点:编译器 一般会有预编译的过程对代码进行优化。因为编译只做 一次,运行时不需要编译,所以编译型语 言的程序执 行行效率 高。可以脱离语 言环境独立运行。

 

缺点:编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境 生成机器码,不同的操作系统之间移植就会有问题,需要根据运行的操作系统环境编译不同的可执行文件。

 

解释型

 

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

 

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

 

1.2.python的优缺点

先看优点

 
Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易易懂,初学者学Python,不但入门容易易, 而且将来深入下去,可以编写那些非常复杂的程序。
 

开发效率 非常 高,Python有 非常强 大的第三方库,基本上你想通过计算机实现任何功能,Python官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发, 大大降低开发周期,避免重复造轮子。
 

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

可移植性————由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序 无需修改就几乎可以在市场上所有的系统平台上运行
 

可扩展性————如果你需要你的 一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序 用C或C++编写,然后在你的Python程序中使用它们。
 

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

 

再看缺点

 
速度慢,Python的运行速度相比C语言确实慢很多,跟JAVA相比也要慢一些,因此这也是很多所谓的大牛不屑于使用Python的主要原因,


但其实这里所指的运 行行速度慢在 大多数情况下 用户是 无法直接感知到的,必须借助测试工具才能体现出来, 


比如你用C运 一个程序花了了0.01s, 用Python是0.1s,这样C语 言直接 比Python快了10倍,算是非常夸张了,但是你是无法直接通过肉眼感知的,


因为一个正常人所能感知的时间最 小单位是0.15-0.4s左右,哈哈。其实在 大多数情况下Python已经完全可以满 足你对程序速度的要求,除非你要写对速度要求极 高的搜索引擎等,这种情况下,当然还是建议你用C去实现的。
 

代码不不能加密,因为PYTHON是解释性语 言,它的源码都是以名 文形式存放的,不不过我不不认为这算是 一个缺点,如果你的项 目要求源代码必须是加密的,那你 一开始就不不应该 用Python来去实现。
 

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


Python的线程是操作系统的原生线程。在Linux上为pthread,在Windows上为Win thread,完全由操作系统调度线程的执行。 一个python解释器 进程内有一条主线程,以及多条用户程序的执行线程。


即使在多核CPU平台上,由于GIL的存在,所以禁止多线程的并行执行。关于这个问题的折衷解决方法,我们在以后线程和进程章节里再进行详细探讨。
 

 

  

何 一 门语言都不是完美的,都有擅长和不擅长做的事情,建议各位不要拿一个语言的劣势去跟另 一个语言的优势来去比较,语言只是 一个 工具,是实现程序设计师思想的工具,就像我们之前中学几何时,有的时候需要要圆规,有的时候需要用三⻆尺 一样,拿相应的 工具去做它最擅 长的事才是正确的选择。之前很多 人问我Shell和Python到底哪个好?我回答说Shell是个脚本语言,但Python不只是个脚本语言,能做的事情更更多

 

1.3.python解释器

当我们编写Python代码时,我们得到的是 一个包含Python代码的以.py为扩展名的 文本 文件。要运 行行代码,就需要Python解释器 去执 行行.py 文件。

由于整个Python语 言从规范到解释器 都是开源的,所以理理论上,只要 水平够 高,任何 人都可以编写Python解释器 来执行Python代码(当然难度很 大)。事实上,确实存在多种

 

Python解释器 。

 

CPython

 

当我们从Python官 方 网站下载并安装好Python 2.7后,我们就直接获得了了 一个官方版本的解释器 :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发展史

 

 1989年,为了打发圣诞节假期,Guido( 龟叔)开始写Python语 言的编译器 。

 

Python这个名字,来 自Guido所挚爱的电视剧Monty Python’s Flying Circus。他希望这个新的叫做Python的语 言,能符合他的理理想:创造 一种C和shell之间,功能全 面,易易学易易 用,可拓拓展的语 言。

 

1991年,第 一个Python编译器 诞 生。它是 用C语 言实现的,并能够调 用C语 言的库 文件。从 一出 生,Python已经具有了了:类,函数,异常处理理,包含表和词典在内的

 

核心数据类型,以及模块为基础的拓拓展系统。

 

Granddaddy of Python web frameworks, Zope 1 was released in 1999 Python 1.0 - January 1994 增加了了 lambdamapfilter and reduce.

 

Python 2.0 - October 16, 2000,加 入了了内存回收机制,构成了了现在Python语 言

 

框架的基础

 

Python 2.4 - November 30, 2004, 同年年 目前最流 行行的WEB框架Django 诞 生 Python 2.5 - September 19, 2006

 

Python 2.6 - October 1, 2008 Python 2.7 - July 3, 2010

 

 

三.python的安装

 

 一路确定即可. 记得path下打钩.

 

四. 第 一个python程序

 

python程序有两种编写方式:

 

进入cmd控制台. 输入python进入编辑模式. 这时候我们可以直接编写python程序
 

也可以在.py 文件中编写python代码. 通过python命令来执行python代码

 

注意: python2中的中文编码会有问题. Python2使 用的是ASCII码编码. 处理理不了中文. 我们需要替换成utf-8编码.

 

#     -*- encoding:utf-8 -*-

 

五. 变量

 
变量:将运算的中间结果暂存到内存,以便便后续程序调 用.


变量的命名规则:

1, 变量由字母, 数字,下划线搭配组合 而成

2, 不不可以 用数字开头,更更不不能是全数字

3,不能是pythond的关键字, 这些符号和字 母已经被python占 用, 不可以更更改

4,不要 用中 文

5,名字要有意义

6,不要太长

7, 区分大小写
 

 

推荐 大家使 用驼峰体或者下划线命名

驼峰体: 除 首字 母外的其他每个单词 首字 母 大写

下划线: 每个单词之间 用下划线分开

 

六.常量

 

 
在python中不存在绝对的常量. 约定俗成, 所有字母大写就是常量

 

例如: PI = 3.141592653

 

BIRTH_OF_SYLAR = 1990
 

 

七.注释

 

有时候我们写的东 西不 一定都是给 用户看的. 或者不希望解释器执行. 那我们可以使用#来注释掉代码. 被注释的内容是不会执行的.可以方便后面的程序员来拜读你的代码

 

单行注释: # 被注释的内容

 

多 行注释:''' 被注释的内容 ''', """这个也是多行注释"""
 

 

八.python的基本数据类型

 

 
什么是数据类型?

 

我们人类可以很容易的分清数字与字符的区别,但是计算机并不不能呀,计算机虽然很强 大但从某种⻆度上看 又很傻,除 非你明确的告诉它,

1是数字,“汉”是 文字,否则它是分不不清1和‘汉’的区别的,因此,在每个编程语 言 里都会有 一个叫数据类型的东东,其实就是对常用的各种数据类型进 行了明确的划分,

你想让计算机进行数值运算,你就传数字给它,你想让他处理文字,就传字符串串类型给他。Python中常用的数据类型有多种
 

 

8.1 整数(int)

 

 
常见的数字都是int类型.  用于计算或者 大小的比较

 

在32位机器上int的范围是: -2**31~2**31-1,即-2147483648~2147483647

 

在64位机器上int的范围是: -2**63~2**63-1,即-9223372036854775808~9223372036854775807

 

够你用了吧. 注意这些是整数.
 

 

8.2 字符串(str)

 

 
在Python中,凡是 用引号引起来的,全是字符串.

 

字符串串可以 用单引号,双引号,或者三引号引起来,没有什什么区别,只是 一些特殊的格式需要不不 用的引号 比如:

 

msg = "My name is Alex , I'm 22 years old!" 这个就需要单双引号配合。 msg = """

 

今天我想写首小诗,歌颂我的同桌,你看他那乌黑的短发,好像 一只炸毛鸡。

 

"""

 

想多行赋值 一个字符串,就需要三引号。数字类型有 +-*/ 字符串串有么?

 

字符串只有 + *。

 

#字符串的拼接 s1 = 'a '

 

s2 = 'bc' #print(s1 + s2)

 

#相乘 str*int name = '坚强' #print(name*8)
 

 

8.3 布尔值(bool), 真或者假, True和False

 

九. 用户交互

 

 
使 用input()函数,可以让我们和计算机互动起来

 

语法:内容 = input(提示信息)

 

这里可以直接获取到用户输入的内容
 

 

 十.流程控制if语句句

你在生活中是不不是经常遇到各种选择, 比如玩 筛子,猜大小, 比如选择 走那条路回家?Python程序中也会遇到这种情况,这就用到了if语句。

 

 
第 一种语法:

if 条件:    #引号是将条件与结果分开。

    结果1。 # 四个空格,或者 一个tab键,这个是告诉程序满 足这个条件的结果2。

如果条件是真(True) 执 行行结果1, 然后结果2, 如果条件假(False) 直接结果2

第二种语法:

If 条件:

    结果1

else:

    结果2

代码3

第三种语法: 
If 条件1:
    结果1 

elif 条件2:
    结果2

..

else:
    结果n


第四种语法(嵌套):
 If 条件1:
    结果1 
    If 条件2:
    结果2 
    else:
    结果3
else:
    结果4
 


可以无限的嵌套. 但是在实际开发中. 尽量不要超过三层嵌套
 

 

 十 一. 流程控制-while循环

在生活中,我们遇到过循环的事情吧? 比如循环听歌。在程序中,也是存在的,这就是流程空语句while。

 

 
模拟一下循环听歌:


while True: 
    print('我们不 一样')
    print('我们都 一样') 
    print('有啥不不 一样')

 

while 条件:
    结果如果条件是真, 则直接执行结果. 然后再次判断条件. 直到条件是假. 停止循环

 
那我们怎么终止循环呢?结束循环:

    1,改变条件. 
    2,break
 

 

 十 二. 流程控制-break和continue

 

1 2 3 4 5 1break: 立刻跳出循环. 打断的意思        2continue: 停止本次循环, 继续执行下 一次循环.

  

练习:

1、使 用while循环输出 1 2 3 4 5 6 8 9 10 2、求1-100的所有数的和3、输出 1-100 内的所有奇数4、输出 1-100 内的所有偶数

 

5、求1-2+3-4+5 ... 99的所有数的和

 

6、 用户登陆(三次机会重试)

 

 

# 1使⽤用while循环输出 1 2 3 4 5 6 8 9 10
# count = 1
# while count <= 10:
# print(count)
# count += 1

# 2求1-100的所有数的和
count = 1
sum = 0
while count <= 100:
sum = sum + count
count += 1
print(sum)


# 3、输出 1-100 内的所有奇数
'''count = 1
while count<= 100:
if count % 2 != 0:
print(count)
count += 1
'''
#4、输出 1-100 内的所有偶数
# count = 1
# # while count<= 100:
# # if count % 2 == 0:
# # print(count)
# # count += 1

#5、求1-2+3-4+5 ... 99的所有数的和
count = 1
sum = 0
while count <100:
set_1 = count % 2
if set_1 == 0:
sum = sum - count
else:
sum = sum + count
# sum = count + sum
count += 1
print(sum)

 

标签:count,解释器,编译,Python,代码,介绍,python
From: https://www.cnblogs.com/hcx990214/p/16628956.html

相关文章

  • Python 50种区分度高的颜色
    importdistinctipyimportnumpyasnpcolors=distinctipy.get_colors(50)np.set_printoptions(precision=3,suppress=True)colors=np.array(colors)print(repr(c......
  • python 比较两个list
    参考1 https://blog.csdn.net/weixin_44151034/article/details/124286429 参考2参考代码defis_diff_ele(list1,list2):"""判断两个列表元素是否一致(......
  • 学习:python 了解多线程
    在计算机处理工作时,有时需要多个任务并行处理进程:是对计算机的程序的依稀运行过程的秒数简单的来说编写完毕的代码,在没有运行的时候,称为程序正在运行着的代码,这个运行......
  • Python_14文件操作
    一、文件操作:Python提供了必要的函数和方法进行默认情况下的文件基础操作。可以用file对象做大部分的文件操作。open函数,你必须先用Python内置的open函数打开一个文件,创建......
  • 预训练模型简要介绍
    从字面上看,预训练模型(pre-trainingmodel)是先通过一批语料进行训练模型,然后在这个初步训练好的模型基础上,再继续训练或者另作他用。这样的理解基本上是对的,预训练模型的训......
  • python实现推送消息到微信公众号
    使用到库:Requests实现方式:微信已开放了对应的接口,直接通过python的requests库,发起请求,实现推送消息到公众号微信公众号准备:1、没有注册微信公众号,可以使用微信提供的......
  • Python中关于类与对象的创建
    classStudent:native_space='重庆'#在类里面直接定义变量,称为类属性#初始化方法def__init__(self,name,age):self.name=nameself.age......
  • 使用python批量爬取wallhaven.cc壁纸站壁纸
    偶然发现https://wallhaven.cc/这个壁纸站的壁纸还不错,尤其是更新比较频繁,用python写个脚本爬取点latest,按照更新先后排序,获得新地址,发现地址是分页展示的,每一页24张 ......
  • 学习:python 综合训练 超市商品管理系统 数据库版
                 ......
  • python3 函数 定义函数与切片
     如果我们要计算一个圆的面积,就是3.14*r*r,如果每次就算,则每次都要写一遍,就很麻烦,所以有了函数,我们就可以通过调用函数的方法,直接使用就行了。 这里我们可以访问 ......