zoukankan      html  css  js  c++  java
  • 【python全栈开发】初识python

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

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

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

    python诞生

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

    python地位

      在编程语言排行榜中,python稳居第4位(2016),远超phpC#。有赶超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、入门第一神句

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

      2、解释器

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

      3、内容编码

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

      4、注释

    单行注释:行首#号。
    多行注释:行前与行尾以3引号(单双均可)
    如:
    #!/usr/bin/env python
    # -*- coding:utf-8 -*-

    print("Hello Word") #这是单个注释,不信你试试 ''' 这是多个注释! 不信你试试 ''' print("Hello Word")

      5、模块引用

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

      6、变量

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

        

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

      7、交互输入

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

    import getpass user = "jason" password = "jason" for t in range(3): in_user = input("用户名:") in_passwd = getpass.getpass("密码:") if in_user == user and password == in_passwd: print("登陆成功") break else: print("用户名/密码错误,请重试")
    #import getpass 密码交互模块

      8、流程控制与代码块

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

      9、while/for循环与控制

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

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

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

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

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

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    for i in range(1,5):
        if i = 2:
            continue
        print(i)
  • 相关阅读:
    Word批量转PDF或者图片
    sqlite3数据c/c++接口编程<linux,window>
    静态库和动态库
    QT信号和槽
    C程序编译过程
    Volatile关键字
    端口复用setsockopt
    深入理解epoll(转载)
    临时变量
    json学习随笔
  • 原文地址:https://www.cnblogs.com/delgyd/p/5938464.html
Copyright © 2011-2022 走看看