本人最开始接触python是在2013年接触,写过hello word!在此之前对开发类没有多大兴趣,不知道重要性,属于浑浑噩噩,忙忙乎乎,跌跌撞撞的。随后选择了Linux运维作为就业主攻方向。

  经过几年的工作实际情况,越发觉得懂开发的运维是多么的重要。经过再三思虑,决定重拾开发学习。看过php\lua\python;最终选定python作为首选主攻对象。

  通过博客记录python的学习之路。记录这传奇的一生。

python诞生

  1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。 就这么一个不经意的打发时间,创造出了一个优秀的语言,python从此诞生。

python地位

  在编程语言排行榜中,python稳居第4位(2016),远超php\C#。有赶超c++入围前三甲之势。

Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。互联网公司广泛使用Python来做的事一般有:自动化运维自动化测试大数据分析、爬虫、Web 等。

  为什么是Python而不是其他语言?

C 和 Python、Java、C#等

C语言: 代码编译得到 机器码 ,机器码在处理器上直接执行,每一条指令控制CPU工作

其他语言: 代码编译得到 字节码 ,虚拟机执行字节码并转换成机器码再后在处理器上执行

Python 和 C  Python这门语言是由C开发而来

  对于使用:Python的类库齐全并且使用简洁,如果要实现同样的功能,Python 10行代码可以解决,C可能就需要100行甚至更多.
  对于速度:Python的运行速度相较与C,绝逼是慢了

Python 和 Java、C#等

  对于使用:Linux原装Python,其他语言没有;以上几门语言都有非常丰富的类库支持
  对于速度:Python在速度上可能稍显逊色

所以,Python和其他语言没有什么本质区别,其他区别在于:擅长某领域、人才丰富、先入为主。

Python的种类

  • Cpython
        Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。
  • Jyhton
        Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。
  • IronPython
        Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似)
  • PyPy(特殊)
        Python实现的Python,将Python的字节码字节码再编译成机器码。
  • RubyPython、Brython ...

以上除PyPy之外,其他的Python的对应关系和执行流程如下:

 

PyPy,在Python的基础上对Python的字节码进一步处理,从而提升执行速度!

python环境安装

  • windows环境(本人业务使用较少,不涉及,具体配置请百度)
  • mac环境(人穷未用过,具体配置请百度)
  • Linux环境
    • linux基础服务自带python,如需要重安装请使用yum install python -y,会自动安装python所需要依赖包。
    • 编译安装python
      • 下载python源码包
      • 确认Linux环境支持gcc; yum install gcc-c++ -y
      • 解压编译 ./configer --prefix=/usr/local/python3 && make && make install

代码编写

  1、入门第一神句

  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3. print("Hello Word")

  2、解释器

  1. #!/usr/bin/env python
    指定解释器位置,与shell脚本开端类似

  3、内容编码

  1. # -*- coding:utf-8 -*-
    python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),在2.x版本不能直接支持中文,需要添加指定字符编码,在3.x版本可以直接支持,可以不用写。但为规范编程,沿用指定内容编码。

  4、注释

  1. 单行注释:行首#号。
    多行注释:行前与行尾以3引号(单双均可)
    如:
  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3.  
  4. print("Hello Word")
  5. #这是单个注释,不信你试试
  6. '''
  7. 这是多个注释!
  8. 不信你试试
  9. '''
  10. print("Hello Word")

  5、模块引用

  1. Python有大量的模块,从而使得开发Python程序非常简洁。类库有包括三中:
  1. Python内部提供的模块
  2. 业内开源的模块 
  3. 程序员自己开发的模块 
  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3.  
  4. import os
  5. print(os.system('df -h')
  1. import os
    模块引入语句
    print(os.system('df -h')
    模块函数与方法使用。

  6、变量

  1. 1、声明变量
  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3.  
  4. name="jason"
  1. name是变量名;"jason"是变量值
  1. 变量的作用:昵称,其代指内存里某个地址中保存的内容
  1.  

    

  1. 作变量定义的规则:
  1. 变量名只能是 字母、数字或下划线的任意组合
  2. 变量名的第一个字符不能是数字
  3. python保留关键字不能声明为变量名
  1. 等价变量赋值
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3.  
  4. name1 = "wupeiqi"
  5. name2 = name1
  1.  
    

  7、交互输入

  1.  python2.x
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3.  
  4. # 将用户输入的内容赋值给 name 变量
  5. name = raw_input("请输入用户名:")
  6.  
  7. # 打印输入的内容
  8. print name
  1.   python3.x
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3.  
  4. # 将用户输入的内容赋值给 name 变量
  5. name = input("请输入用户名:")
  6.  
  7. # 打印输入的内容
  8. print name
  1.   案例1:模拟终端用户登陆
  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3.  
  4. user = "jason"
  5. password = "jason"
  6. for t in range(3):
  7. in_user = input("用户名:")
  8. in_passwd = input("密码:")
  9. if in_user == user and password == in_passwd:
  10. print("登陆成功")
  11. break
  12. else:
  13. print("用户名/密码错误,请重试")
  1.   案例2:模拟终端用户登陆,密码不可见。
  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3.  
  4. import getpass
  5. user = "jason"
  6. password = "jason"
  7. for t in range(3):
  8. in_user = input("用户名:")
  9. in_passwd = getpass.getpass("密码:")
  10. if in_user == user and password == in_passwd:
  11. print("登陆成功")
  12. break
  13. else:
  14. print("用户名/密码错误,请重试")
  1. #import getpass 密码交互模块

  8、流程控制与代码块

  1. 代码块:python是一个强制缩进的编程语言。不同缩进的代码格式代码不同层级的代码块。
  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3.  
  4. age = 20
  5. if age > 20:
  6. print("age > 20")
  7. elif age < 20:
  8. print("age < 20")
  9. else:
  10. print("age = 20")
  1.  

  9、while/for循环与控制

  (1)、while循环
while 条件:
  循环代码块

  (2)for循环
for 条件:
  循环代码块

  (3)、break 结束当前循环体

  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3.  
  4. for i in range(1,5):
  5. if i = 2:
  6. break
  7. print(i)

  (4)、continue 结束当次循环体

  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3.  
  4. for i in range(1,5):
  5. if i = 2:
  6. continue
  7. print(i)

【python全栈开发】初识python的更多相关文章

  1. python 全栈开发:python基础

    python具有优美.清晰.简单,是一个优秀并广泛使用的语言.诞生于1991年2.python历史 1989年,为了打发圣诞节假期,Guido开始写Python语言的编译器.Python这个名字,来自 ...

  2. Python 全栈开发一 python初识

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

  3. Python 全栈开发四 python基础 函数

    一.函数的基本语法和特性 函数的定义 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的.函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数 ...

  4. Python 全栈开发二 python基础 字符串 字典 集合

    一.字符串 1,在python中,字符串是最为常见的数据类型,一般情况下用引号来创建字符串. >>ch = "wallace" >>ch1 = 'walla ...

  5. Python 全栈开发三 python基础 条件与循环

    一. 条件语句 python条件语句是根据一条或多条语句的执行结果的真假(True Or False)来决定代码块的执行. 而执行内容可以多行,以缩进来区分表示同一范围. 1.Python判断条件真假 ...

  6. python 全栈开发,Day99(作业讲解,DRF版本,DRF分页,DRF序列化进阶)

    昨日内容回顾 1. 为什么要做前后端分离? - 前后端交给不同的人来编写,职责划分明确. - API (IOS,安卓,PC,微信小程序...) - vue.js等框架编写前端时,会比之前写jQuery ...

  7. python全栈开发从入门到放弃之迭代器生成器

    1.python中的for循环 l = [1,2,3,4,5,6] for i in l: #根据索引取值 print(i) 输出结果: 1 2 3 4 5 6 2.iterable  可迭代的 可迭 ...

  8. Python全栈开发【面向对象进阶】

    Python全栈开发[面向对象进阶] 本节内容: isinstance(obj,cls)和issubclass(sub,super) 反射 __setattr__,__delattr__,__geta ...

  9. Python全栈开发【面向对象】

    Python全栈开发[面向对象] 本节内容: 三大编程范式 面向对象设计与面向对象编程 类和对象 静态属性.类方法.静态方法 类组合 继承 多态 封装 三大编程范式 三大编程范式: 1.面向过程编程 ...

  10. Python全栈开发【模块】

    Python全栈开发[模块] 本节内容: 模块介绍 time random os sys json & picle shelve XML hashlib ConfigParser loggin ...

随机推荐

  1. 国外服务器:org.xml.sax.SAXParseException

    改为: xsi:schemaLocation="http://www.springframework.org/schema/beans classpath:org/springframewo ...

  2. vue2.0自学笔记

    前言: 一.优点: 轻量级.高效率.上手快.简单易学.文档全面而简洁 二.功能: 1.模板渲染 2.模块化 3.扩展功能:路由.Ajax 三.课程包含: 1.Vue实例 2.Vue组件 3.Vue指令 ...

  3. 工作笔记6-java相关

    1.有时候安装失败或者要装新版本的JDK,可先卸载JDK: a.   首先执行命令查看服务器下的JDK的版本:命令如下:rpm -qa |grep jdk b.   然后执行命令:yum -y rem ...

  4. 构建web应用之——SpringMVC实现CRUD

    配置好SpringMVC最基本的配置后,开始实现处理数据的CRUD(CREATE, READ, UPDATE, DELETE) 为实现模块上的松耦合,我们将与数据库的交互任务交给DAO(Data Ac ...

  5. python 面向对象 继承 派生 组合

    具体参考博客:http://www.cnblogs.com/linhaifeng/articles/6182264.html#_label12 一.面向对象 面向对象:对象与对象之间的相互交互,不可预 ...

  6. JavaScript Basic Memo

    1.this 的指向 1).由 new 调用?绑定到新创建的对象. 2). 由 call 或者 apply(或者 bind)调用?绑定到指定的对象. 3). 由上下文对象调用?绑定到那个上下文对象. ...

  7. python简介和python工具的选择

    Python 简介 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有 ...

  8. Saiku根据入参日期查询出对应的数据(二十)

    Saiku根据入参日期查询出对应的数据 之前好像有写过一篇博客关于saiku date range的,现在进一步更新啦!!! 这里的日期筛选会更完善一些,需要提供两个参数 开始日期与结束日期(star ...

  9. flask 第七章 简陋版智能玩具 +MongoDB初识和基本操作

    1.简陋版web智能玩具 FAQ.py文件 import os from aip import AipSpeech, AipNlp from uuid import uuid4 "" ...

  10. xpath 在firefox,chrome中正常,在requests中不正常的解决。

    经多次测试发现: lxml中的etree格式化以后,直接使用firefox或chrome提取的xpath检索不到内容. 主要是因为tbody # 车种xpathczxx = '/html/body/t ...