Python学习之路 — Python基础1,之路python

来源:http://www.sh-fengwen.com 作者:家常菜谱 人气:85 发布时间:2019-09-02
摘要:Python基础学习第一周,python基础第一周 Python学习之路 — Python基础1,之路python Python的基础概念    本节内容 2017-01-18 编译型:一次把代码都转换成机器语言,然后写成可执行语言 解释

Python基础学习第一周,python基础第一周

Python学习之路 — Python基础1,之路python

Python的基础概念   

本节内容

2017-01-18

  • 编译型:一次把代码都转换成机器语言,然后写成可执行语言
  • 解释型:每执行到源代码某个指令的时候,就将代码转换成二进制代码进行执行
  • 静态语言:写程序的时候需要声明所有变量的数据类型
  • 动态语言:赋值的时候已经在内部将数据类型记录
  • 强类型:一旦指定数据类型,不经过强制转换就永远是这个类型
  • 弱类型:数据类型可以被忽略

Python是动态解释型的强类型定义语言

一、 Python介绍

目前Python主要应用领域:

  • 云计算: 云计算最火的语言, 典型应用OpenStack
  • WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django
  • 科学运算、人工智能电子游戏美高梅网址,: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,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完成各种各样的任务。 

PYTHON解释器版本

  • Cpython:使用C语言开发的,最常用的Python2.7,开发者可以支持到2020年。提示符:>>>
  • Ipython:基于Cpython,在交互式上有所增强,提示符:In[1]
  • PyPy:采用JIT技术,对Python代码进行动态编译,提高执行速度
  • Jpython:运行在JAVA平台,可以把Python编译成Java
  • Ironpython:运行在微软、NET平台,可以把Python编译成.net字节码

如果需要和Java或者.NET进行交互,推荐通过网络调用的方式,确保程序间的独立性

Python 是一门什么样的语言?

编程语言主要从以下几个角度为进行分类,编译型和解释型、静态语言和动态语言、强类型定义语言和弱类型定义语言,每个分类代表什么意思呢,我们一起来看一下。

字符编码

  • 默认ASCII编码,最多8位1个字节,最多可表示255个符号。Python2默认编码,不支持中文。
  • 1980年GB2312,可支持72*94=6768个中文字符,常用于MP3、手机
  • 1995年GBK1.0,可支持21886个符号
  • 2000年GB18030,可支持28484个汉字
  • Unicode,统一码、万国码,最少16位(2个字节)
  • UTF-8,对Unicode进行压缩和优化:英文1个字节,汉字3个字节,欧洲2个字节。Python3默认编码支持中文。

可以在第一行声明字符集:

# -*- coding : utf-8 -*-

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

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

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

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

小程序练习

  • Hello world!

 1 print ("Hello world!") 

  • 赋值数据类型
数值型:age=int(input("age:"))
字符型:name=str(input("name:"))
  • input输出%s和{}
name=input("name:")
age=input("age:")
info = '''
-----info of %s----
name:%s
age:%s
'''%(name,name,age)
print(info)  

1 name=input("name:")
2 age=input("age:")
3 info = '''
4 -----info of {_name}----
5 name:{_name}
6 age:{_age}
7 '''.format(_name=name,_age=age)
8 print(info)

 

  • if else判断
1 _usrname= "david"
2 _password="abc123"
3 usrname=input("name:")
4 password=input("password:")
5 if usrname ==_usrname and password ==_password:
6    print("welcome {name} login...".format(name=usrname))
7 else :
8    print("Invalid usrname or password!")

 

  • while循环
1 count =0
2 for i in range (10):
3   while count <3 :
4     print (i)
5     i +=2
6     count +=1

 1 _age=12
 2 count=0
 3 while count <3 :
 4    age =int(input("age:"))
 5    if age ==_age :
 6     print("yes,you are right")
 7     break
 8    elif age>_age :
 9     print("{ages} is too big,think smaller!".format(ages=age))
10    else :
11     print("{ages} is too small,think bigger!".format(ages=age))
12    count+= 1
13    if count==3:
14     continue_confirm=input("will you go on?")
15     if continue_confirm=="y" :
16        count=0
17 else:
18     print("ok,you have tried too much")

 

  • for循环

 1 for i in range(1,10,3) : 2 print (i) 

 

Python的基础概念 2017-01-18 编译型:一次把代码都转换成机器语言,然后写成可执行语言 解释型:每...

编译型vs解释型

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

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

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

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

Python的优缺点

先看优点

再看缺点:

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学习之路 — Python基础1,之路python

关键词:

最火资讯