zoukankan      html  css  js  c++  java
  • Python之路(第一篇):Python简介和基础

    一、开发简介

    1、开发:
          开发语言:
                   高级语言:python、JAVA、PHP、C#、、ruby、Go--》字节码
                    低级语言:C、汇编--》机器码

    2、语言之间的对比:
      PHP类:适用于写网页,局限性
      JAVAPython:可以写网页,也可以写后台
        JAVA执行效率高,开发效率低
        Python 执行效率低,开发效率高

    3、Python种类:
      JPython
      Cpython
      IronPython
      JavaScriptPython
      RubyPython
      ...
      pypy 这是用CPython开发的Python

      一般学习的Python都是指CPython

      IronPython 是一种在 NET 和 Mono 上实现的 Python 语言

      Jython是一种完整的语言,而不是一个Java翻译器或仅仅是一个Python编译器,它是一个Python语言在Java中的完全实现。

      CPython是特指C语言实现的Python,就是原汁原味的Python。一般我们学习的都是这个。

      PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。简单来说就是python1编写的代码,第一次给python2去执行,然后python2得到python1编写代码的机器码,第二次运行同样的python1的代码,python2就直接执行机器码了,所以运行速度会提高。


    4、安装:
      Python安装在OS上,
         执行操作
            写一个文件,按照python的规则写,将文件交给python,
              软件读取文件内容,然后转换和执行,最终获取结果。
      python软件 ==>Python解释器(内存管理)

    5、下载说明:
      python3
        pyrhon3不向下兼容python2,在继续更新,
      python2
        在继续更新,在越来越向python3转换


    6、机器码和字节码
      机器码是计算机能够识别的东西,是电脑的CPU可直接解读的数据。
      字节码是一种包含执行程序、由一序列 op 代码/数据对 组成的二进制文件。字节码是一种中间码,它比机器码更抽象,需要直译器转译后才能成为机器码的中间代码。

    二、Python基础

    1、第一句python

    print(“hello world”)

    2、 编码

      # -*- coding:utf8 -*- 
    

      Python3中无需关注# -*- coding:utf8 -*- 

      Python2中,只要出现中文,头部必须写这一句,因为python2默认用ASCII编码,只支持英文,出现中文会显示乱码

    3、变量名

    •   可以由字母、数字、下划线组成, 最好不好和python内置的东西重复,标识符、保留字等

    数字不能开头 ,不能是关键字。

    •   以下关键字不能声明为变量名

    ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

    • 内置函数和类也不能用做变量名

    4、多行注释用

    """
    代码内容
    """
    

       三个引号即可注释多行内容

    5、条件语句
        缩进用4个空格,一般按TAB键即可实现

    (1)复杂嵌套语句

    if 条件表达式1:
        功能代码1
            if 条件表达式2:
                 功能代码2
            else:
                 功能代码3
    else:
        功能代码4        
    

      

    (2)多条件判断

    if 条件表达式1:
        功能代码1
    elif 条件表达式2:
        功能代码2
    elif 条件表达式3:
        功能代码3
    else:
        功能代码4
    

      

    ( 3 ) and or条件

    if 条件表达式1 and 条件表达式2 :
         功能代码1
    else:
         功能代码2
    

      

    >功能代码如果写成pass,表示什么都不执行

    6、基本数据类型
      a、字符串
      引号引起来的都称之为字符串,

      (1)字符串里的加法

    n1 = 'hello'
    n2 = 'world'
    n3 = n1 + n2
    print(n3)

      输出结果:

    helloworld

      (2)字符串里的乘法

    n1 = 'hello'
    n2 = n1 * 5
    print(n2)

      输出结果

    hellohellohellohellohello

      b、数字运算符
      n1 = 8
      n2 = 2

      (1)加
         n3 = n1 + n2

      (2)减
        n3 = n2 - n1

      (3)乘
        n3 = n1 * n2

      (4)除
        n3 = n2 / n1

      (5)次方(幂)
        n3 = 2 **4
        2的4次方

      (6)取余
        n3 = 39 % 8
        对39除以8取余数 即39/8=4余7 , 4*8=32, 39-32= 7.

       (7)取整数商

        n3 = 39 //8
        对39除以8取整数商,即只要商的整数部分4


    7、循环
      a、死循环  

    while 1 = 1:
      print("ok")
    

      此程序将一直输出ok

      b、while 条件循环

    import time 
    count = 0
    while count < 10 :
        print("ok",time.time())
        count = count +1
    print("123")

    练习

    1、使用while循环输入 1 2 3 4 5 6 8 9 10

    n = 1
    while n < 11:
        if n == 7 :
            pass
        else:
            print(n)
        n = n + 1
    

      

      注意n = n + 1要与if、else语句对齐,不然无法输出8、9、10

    2、求1-100的所有数的和

    n = 1
    s = 0
    while n < 101:
        s = s + n
        n = n + 1
    print(s)
    

      

    3、输出 1-100 内的所有奇数

    n = 1
    while n < 101:
        if n % 2 == 1 :
            print(n)
        else:
            pass
        n = n + 1
    

      

    4、输出 1-100 内的所有偶数

    n = 1
    while n < 101:
        if n % 2 == 0 :
            print(n)
        else:
            pass
        n = n + 1
    

      

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

    n = 1
    s1 = 0
    s2 = 0
    while n < 100:
        if n % 2 == 1 :
            s1 = s1 + n 
        else:
            s2 = s2 + n
        n = n + 1
    s = s1 -s2
    print(s)
    

      

    或者

    n = 1
    s = 0 # s是之前所有数的总和
    while n < 100:
        temp = n % 2
        if temp == 0:
            s = s - n    
        else:
            s = s + n    
        n = n + 1
    print(s)
    

      

    这里可以理解为搭积木
    (1)当全部为正数求和时
      sum = sum + n
      最开始积木塔(sum)为0
      来了一块积木1,积木塔马上加上1,
      来了一块积木2,积木塔马上加上2,
      以此类推
      sum = sum + n
    (2)当奇数为正,偶数为负
      偶数为负也可以理解为减法,即抽掉
      同样的,最开始积木塔(sum)为0
      来了一块积木1,积木塔马上加上1,
      要抽掉一块积木2,积木塔马上减去2
      来了一块积木3,积木塔马上加上3,
      要抽掉一块积木4,积木塔马上减去4,
      以此类推
      奇数时
      sum = sum + n
      偶数时
      sum = sum - n
    6、用户登录用户登陆(三次机会重试)

    name = input("请输入账户名:")
    passwd = input("请输入密码:")
    count = 1
    while count < 3:
        if name != 'nicholas' or passwd != '123':
            print ("账户名或者密码输入错误!请重新输入!")
            name = input("请输入账户名:")
            passwd = input("请输入密码:")
            
        elif name == 'nicholas' and passwd == '123':
            print ("登录成功!")
            break
        count = count + 1
    else:
        print("三次未能成功登录,登录失败!")
    

      精简代码

    count = 0
    while count < 3:
        name = input("请输入账户名:")
        passwd = input("请输入密码:")
        if name == 'nicholas' and passwd == '123':
            print ("登录成功!")
            break         
        else:
            print ("账户名或者密码输入错误!请重新输入!")
        count = count + 1
    else:
        print("三次未能成功登录,登录失败!")
    

      

  • 相关阅读:
    面试问烂的 MySQL 四种隔离级别,看完吊打面试官!
    注解Annotation实现原理与自定义注解例子
    趣图:苦逼的后端工程师
    session深入探讨
    趣图:听说996工作可以获得巨大成长
    面试官:一个 TCP 连接可以发多少个 HTTP 请求?
    聊聊前后端分离接口规范
    趣图:什么?需求文档又改了
    ASP.NET页面中去除VIEWSTATE视
    C#
  • 原文地址:https://www.cnblogs.com/Nicholas0707/p/8536728.html
Copyright © 2011-2022 走看看