zoukankan      html  css  js  c++  java
  • 第二章Python入门

    第二章 Python入门

    2.1.简介

    Python是著名的“龟叔”(Guido van Rossum)在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言

       Python的哲学就是简单优雅,尽量写容易看明白的代码,尽量写少的代码。为我们提供了非常完善的基础代码库,覆盖了网络、文件、GUI、数据库、文本等大量内容,
    

    2.1.1.Python适合开发哪些类型的应用呢?

    • 云计算
    • 机器学习
    • 科学运算
    • 自动化运维
    • 自动化测试
    • 爬虫
    • 数据分析
    • GUI图形化
    • Web开发等

    2.1.2.Python有哪些缺点呢?

    • 运行速度慢,和C程序相比非常慢,因为Python是解释型语言
    • 代码不能加密。如果要发布你的Python程序,实际上就是发布源代码

    2.1.3.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 等。

    2.1.4.Python版本

    目前主流的Python版本有两大分类:

    • 2.x ,很多公司依然在用 2.7 版本,但Python官方在 2020 年将停止对 Python 2 的支持。
    • 3.x ,功能更加强大且修复了很多2版本中不合适之处(推荐使用)

    2.2 环境的安装

    • 解释器:py2 / py3 (环境变量)
    • 开发工具:pycharm

    2.3 编码

    2.2.1 编码基础

    • ascii,英文,8位表示一个东西,2**8
    • unicode ,万国码,32位表示一个东西,2**32
    • utf-8,给unicode压缩,用尽量少的位数表示一个东西,以8个位为单位
    • gbk,国标,只能中国人自己用, 一个中文用16位,两个字节表示。
    • gb2312

    2.2.2 python编码相关

    对于Python默认解释器编码:

    • py2: ascii
    • py3: utf-8

    如果想要修改默认编码,则可以使用:

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

    注意:对于操作文件时,要按照:以什么编写写入,就要用什么编码去打开。

    2.2.3 单位转化

    8bit = 1byte
    1024byte = 1KB
    1024KB = 1MB
    1024MB = 1GB
    1024GB = 1TB
    1024TB = 1PB
    1024TB = 1EB
    1024EB = 1ZB
    1024ZB = 1YB
    1024YB = 1NB
    1024NB = 1DB
    常⽤到TB就够了
    

    2.4 输入输出

    2.4.1.输入

    python2和python3输入的语法不一样

    • python2
    >>> my_input = raw_input('666')
    666
    
    • python3
    >>> my_input = input('666')
    666
    

    2.4.2.输出

    python2和python3输出的语法不一样

    • python2
    >>> print "hello"
    hello
    
    • python3
    >>> print('hello')
    hello
    

    2.5 变量

    问:为什么要有变量?

    为某个值创建一个“外号”,以后在使用时候通过此外号就可以直接调用。

    变量就是一个会变化的量,加载到内存中,方便调用。不仅可以是数字,还可以是任意数据类型

    2.5.1规范

    1. 变量名只能包含:字母/数字/下划线
    2. 数字不能开头
    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’]

    2.5.2 建议

    1. 见名知意
    >>> name='zzy'
    >>> print(name)
    zzy
    >>> age=24
    >>> print(age)
    24
    
    1. 用下划线连接
    >>> gao_qizhi='zzy'
    >>> print(gao_qizhi)
    zzy
    
    
    • 变量名建议不使用拼音和中文
    • 变量的要具有意义
    • 变量名不要过长
    • 变量名要区分大小写

    2.6 常量

    所谓常量就是不能变的变量,比如常用的数学常数π就是一个常量。在Python中,通常用全部大写的变量名表示常量

    2.7 注释

    • 单行注释,在一行的最开头添加"#"这个符号,解释器就会忽略这行代码
    # print(hello)
    
    
    • 多行注释,在代码块上一行,和最下面一行添加
    '''
    numb = 0
    count = 1
    while count < 100:
        if count % 2 == 1:
            numb -= count  # total -= count
        else:
            numb += count  # total += count
        count += 1
    print(numb)
    
    '''
    
    

    2.8 If条件语句

    • if条件语句的基本结构

    if语句的完整形式就是:

    if <条件判断1>:
        <执行1>
    elif <条件判断2>:
        <执行2>
    elif <条件判断3>:
        <执行3>
    ·······
    else:
        <执行4>
    
    

    if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else。

    2.9 while循环语句

    2.9.1 while循环的格式

    while 条件:
        # 循环体
        # 如果条件为真,那么循环则执行
        # 如果条件为假,那么循环不执行
    
    
    • 示例

    1.输出 1-100 内的所有数字。

    count = 0
    while count < 100:
        count = count + 1
        print(count)
    
    

    2.9.2 break关键字

    作用:结束当前这个while循环

    • 示例
    ##### 猜数字,设定一个理想数字比如:66,让用户输入数字,如果比66大,则显示猜测的结果大了;如果比66小,则显示猜测的结果小了;只有等于66,显示猜测结果正确,然后退出循环。
    
    
    while True:
        number = input('请输入一个数字:')
        number = int(number)
        if number > 66:
            print('数字大了')
        elif number == 66:
            print('答对了')
            break
        else:
            print('小了')
    
    
    

    2.9.3 continue关键字

    作用:退出当前循环,继续下一次循环

    • 示例
    #### 使用两种方法实现输出 1 2 3 4 5 6   8 9 10 。
    
    count = 0
    while count <= 9:
        count = count + 1
        if count == 7:
            continue
        print(count)
    
    
    

    2.9.4 while else

    作用:如果while 后的条件不再满足引发循环再继续,则执行else中的内容。如果是因为 break 引发的循环不再执行,则不执行else中的内容。

    • 示例
    count = 0
    while count <= 5:
        print(count)
        count += 1
    else:
        print('窗前明月光,疑是地上霜')
    
    

    2.10 for循环语句

    2.11 格式化输出

    ​ "%" 运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%占位符,后面就跟几个变量或者值,顺序要对应好。

    占位符 替换内容
    %s 字符串
    %d 整数
    %% 显示单独的%
    • 示例1
    >>> 'Age: %s. Gender: %s' % (25, True)
    'Age: 25. Gender: True'
    >>>
    
    
    • 示例2
    name = input('请输入姓名:')
    age = input('请输入年龄:')
    job = input('请输入职业:')
    hobby = input('请输入爱好:')
    msg = '''
    ------------ info of Alex Li ----------
    Name  : %s
    Age   : %s 
    job   : %s 
    Hobbie: %s 
    ------------- end ----------------'''
    print(msg%(name,age,job,hobby))
    
    ### 运行后 ###
    请输入姓名:高启芝
    请输入年龄:18
    请输入职业:开发
    请输入爱好:你懂的
    
    ------------ info of Alex Li ----------
    Name  : 高启芝
    Age   : 18 
    job   : 开发 
    Hobbie: 你懂的 
    ------------- end ----------------
    
    
    • 示例3
    num = input('>>>>')
    
    s = '下载进度:%s%%'%(num)
    
    print(s)
    
    

    2.12.运算符

    2.12.1算术运算符

    运算符 描述 实例
    + 加 - 两个对象相加 a + b 输出结果 31
    - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -11
    * 乘 - 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 210
    / 除 - x 除以 y b / a 输出结果 2.1
    % 取模 - 返回除法的余数 b % a 输出结果 1
    ** 幂 - 返回x的y次幂 a**b 为10的21次方
    // 取整除 - 向下取接近除数的整数 10//3 结果为3

    2.12.2 比较运算符

    运算符 描述 实例
    == 等于 - 比较对象是否相等 (a == b) 返回 False。
    != 不等于 - 比较两个对象是否不相等 (a != b) 返回 True。
    > 大于 - 返回x是否大于y (a > b) 返回 False。
    < 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 (a < b) 返回 True。
    >= 大于等于 - 返回x是否大于等于y。 (a >= b) 返回 False。
    <= 小于等于 - 返回x是否小于等于y。 (a <= b) 返回 True。

    2.12.3 赋值运算符

    运算符 描述 实例
    = 简单的赋值运算符 c = a + b 将 a + b 的运算结果赋值为 c
    += 加法赋值运算符 c += a 等效于 c = c + a
    -= 减法赋值运算符 c -= a 等效于 c = c - a
    *= 乘法赋值运算符 c *= a 等效于 c = c * a
    /= 除法赋值运算符 c /= a 等效于 c = c / a
    %= 取模赋值运算符 c %= a 等效于 c = c % a
    **= 幂赋值运算符 c **= a 等效于 c = c ** a
    //= 取整除赋值运算符 c //= a 等效于 c = c // a

    2.12.4 逻辑运算符

    运算符 逻辑表达式 描述 实例
    and x and y 布尔"与" - 如果 x 为 False,x and y 返回x的值,否则它返回 y 的计算值。 (a and b) 返回 20。
    or x or y 布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。 (a or b) 返回 10。
    not not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not(a and b) 返回 False
    1/
    value=0 and 9 
    print(value) #0
    
    value=1 and 9 
    print(value) #9
    
    对于and:
    第一个值如果是转换成布尔值是假,则value=第一值,没有必要再往后计算了
    第一个值如果是转换成布尔值是真,则value=第二值,在做后续计算
    
    2/
    value=1 or 9   数字遇到or都会转换为布尔
    print(value) #1
    
    value=0 or 9  
    print(value) #9
    
    对于or而言:
    第一个值如果是转换成布尔值是真,则value=第一值,在做后续计算
    第一个值如果是转换成布尔值是假,则value=第二值
    
    

    2.12.5.成员运算

    判断子元素是否在原字符串(字典,列表,集合)中

    • in(判断子元素存在)

    示例1

    >>> value = "我是中国人"
    >>> v1 = "中国" in value
    >>> print(v1)
    True
    
    
    

    示例2

    while True:
        content = input('请输入内容:')
        if "退钱" in content:
            print('包含敏感字符')
        else:
            print(content)
            break
    
    
    • not in(判断子元素不存在)

    2.12.6 优先级

    在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为( )>not>and>or,同一优先级从左往右计算。

    Python运算符优先级

    以下表格列出了从最高到最低优先级的所有运算符:

    运算符 描述
    ** 指数 (最高优先级)
    ~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
    * / % // 乘,除,取模和取整除
    + - 加法减法
    >> << 右移,左移运算符
    & 位 'AND'
    ^ | 位运算符
    <= < > >= 比较运算符
    <> == != 等于运算符
    = %= /= //= -= += *= **= 赋值运算符
    is is not 身份运算符
    in not in 成员运算符
    not and or 逻辑运算符
  • 相关阅读:
    Python Module_subprocess_子进程(程序调用)
    开机自启动Powershell脚本
    开机自启动Powershell脚本
    Powershell 音乐播放
    Powershell 音乐播放
    Powershell指令集_2
    Zabbix实战-简易教程(1)--总流程
    AWS上获取监控数据(EC2/RDS都支持)
    Grafana最新版本4.3.1安装(后端使用mysql)
    Haproxy实战(3)
  • 原文地址:https://www.cnblogs.com/hanfe1/p/11511102.html
Copyright © 2011-2022 走看看