zoukankan      html  css  js  c++  java
  • python3基础教程[第一版] 上

    python3基础教程

    [第一版][2016.10]

    邓英 夏帮贵 [主编]

    总页数:278

    唯一QQ  :1825587919

    唯一WX  :ly1825587919

     

    PS:为了阅读效率,以下笔记仅记录关键内容

    第一章 python起步

    • 1.python2.x和python3.x的区别
    • 2.python是解释性语言
    • 3.python的运行
    • 4.python的可执行exe文件打包软件 http://py2exe.org/
    • 5.python运行环境搭建

    第二章 python编程基础

    • 1.基本结构

    缩进 4个空格

    注释 #(单行注释) """(多行注释)或'''

    语句续行

    语句分隔 ;

    关键字大小写

    • 2.基本输入和输出

    input()

    print()

    sep可以指定分隔符号,默认为一个空格 sep=''

    end可以指定结尾符号,默认为换行号 end=''

    file可以指定输出到文件, file=

    • 3.数据类型 数字

    运算符优先级

    //除法 和 /除法

    小数由于精度问题会出现不精确 引入decimal模块中的Decimal函数

    分数表示需引入模块fractions中的Frantion函数

    其他常见函数 chr():返回整数对应的ASCII码值

    ord():返回字符的ASCII码值对应的整数

    divmod():返回商和余数

    eval():返回字符串中表达式的值

    max(),min(),pow(),sum(),不解释

    round():一个参数时四舍五入为整数,两个参数时第二个参数为保留小数位数,舍入部分为5时向偶数舍入

    需要更多数学函数需要导入math模块,比如math.gcd(x,y)为求最大公约数

    • 4.变量与动态数据类型

    所有的数据都已对象存在

    变量名前使用*,为变量创建列表对象引用

    赋值语句

    ①简单赋值 a=1

    ②序列赋值 a,b=2,4

    ③多目标赋值 a=b=c=1

    ④增强赋值 a+=1

    变量的共享引用

    可以用is来判断变量是否引用自一个对象

    • 5.数据类型:集合  set()

    和字典一样,用花括号表示

    通常用set()函数来创建

    集合的元素不能修改,但可以添加或删除元素  
    x.add(),x.update()
    x.remove(),x.discard(),
    x.pop():随机删除一个元素
    x.clear():删除全部元素
    集合,列表字典对象均不能加入集合,但元组可作为一个对象加入集合
    冻结集合不可改变集合,所以可以作为元素加入到一个集合内,冻结集合表示为:x=frozenset()
     
    • 6.数据类型:字符串 str()

    字符串对象不容许被修改

    带r前缀:r`xjdjd',R'fjfjd`  不会解析转义字符

    带u前缀:u'djddj`,U'shdd`

    三引号:作为可换行字符串,作为注释

    打开文件时输入文件名:

      • 两个反斜线
      • 一个正斜线
      • 加前缀r

    字符串基本操作

    • 求长度:len
    • 包含性判断:in
    • 连接字符串:+

    空格分开的多个字符串自动合并

    加号合并

    乘法重复字符串

    逗号合并时产生元组

    字符串迭代用for循环

    分片时可以有三个参数,start,end,step

    step为负数时,返回的字符串与原来相反

    可以用str()将数字转换为字符串,也可以用repr(),区别不再赘述

    字符串转化

    字符串格式化表达式:基本同c

    bytes字符串,书写格式为字符串前加前缀b,字符串内只能含有ascii码,其他功能与普通字符串一样,索引时返回ascii的数字值。可用16进制显示字符串,b‘dfj'.hex()

    • 7.数据类型:列表  list()

    列表可修改

    列表存储的是对象的引用,而不是对象本身,类似于c的指针数组

    remove(按值删除一个对象)

    pop(按位置删除一个对象,省略参数时删除第一个)

    sort()排序,数字按从小到大,字符串按字典序

    reverse()反转列表元素

    • 8.数类型:元组  tuple()

    可看做不可变的列表

    元组方法:

    count():指定值在元组出现的次数

    index():查找指定值,返回第一次出现的位置,可有三个参数,value,start,end

    • 9.数据类型:字典  dict()

    键值对

    可变

    无序

    键值对视图items(),

    键视图keys(),

    值视图values()

    • 10.数据类型:文件

    open(),w,a时指针指向文件末尾,r时指针指向文件开头

    close(),将缓冲区内容存入文件,关闭文件

    flush(),将缓冲区内容存入文件,

    常见读写函数

    read(),read(n),readline(),readlines(),seek(),write(xstring),writelines(xlist),tell()等

    文件存储python对象时比较繁琐,可使用pickle模块进行操作

    pickle.dump(x,myfile):将对象存入文件,x=pickle.load(myfile),将文件中对象存入变量中

     

    第三章 程序流程控制

    1.if分支结构

    if基本结构

    双分支if语句

    多分支if语句


    2.for循环

    for循环基本格式

    多个变量迭代

    break和continue

    嵌套使用for循环

    3.while循环

    while循环基本结构

    嵌套使用while循环

    4.迭代和列表解析

    迭代

    列表解析

    带条件的列表解析

    多重解析嵌套

    列表解析用于元组

    zip、map、filter函数

    第四章 函数与模块

    1.函数定义函数 def

    def add(a,b):return a+b

    函数调用

    函数参数

    参数的多态性

    参数赋值传递

    参数传递与共享引用

    小心使用可变参数 比如传列表 字典时,会在函数内改变对象 这时可以使用拷贝对象 a=a[:]

    有默认值的参数

    传递任意数量的参数

    在形参前加一个* 例如add(a,*b) add(1,2,3,4),此时形参b相当于一个不确定长度的元组

    如果带星号之后还有参数,必须使用赋值方法传递参数 add(a,*b,c=2) ,带星号可以省略,相当于传一个空的元组add(1,c=2)

    函数嵌套

    lambda函数:表达式函数 add=lambda a,b:a+b add(3,4) >>>7

    递归函数

    函数列表:可以将函数作为列表对象,然后通过列表索引来调用函数。(当然作为元组、字典对象也是可以的)


    2.变量作用域

      内置作用域

      文件作用域

    函数嵌套作用域

    本地作用域

    调用函数时函数内部的本地变量才会被创建

    作用域隔离原则

     

    1 >>>a=10
    2 >>>def show():
    3 ...    a=100
    4 ...    print('in show():a=',a)
    5 ...
    6 >>>show()
    7 in show():a=100
    8 >>>a
    9 10

    global语句:全局变量可在函数内部使用

     1 >>>a=10
     2 >>>def show():
     3 ...    global a
     4 ...    print('a=',a)
     5 ...    a=100
     6 ...    print('a=',a)
     7 ...
     8 >>>show()
     9 a=10
    10 a=100
    11 >>>a
    12 100

    不提倡在函数中修改全局变量或函数参数中的可修改对象

    nonlocal语句:它申明变量为外部的本地变量,例子不再赘述

    3.模块

      包含变量、函数或类的定义的程序(也称脚本)文件。 

    import  模块名称
    import  模块名称  as  新名称
    from    模块名称  import  导入对象名称
    from    模块名称  import  导入对象名称  as  新名称
    from    模块名称  import*

    重新导入模块不会不会改变模块中变量在之前已经赋的值

    建议使用import导入模块,原因很多,不在赘述

    重新导入模块时,本意通常为重新执行模块代码,恢复相关变量到模块开始时的状态,显然import和from无法实现,这时可以用imp模块的reload函数进行重新导入

    导入模块步骤

    • 摸索模块文件
    • 必要时编译模块
    • 执行模块

    嵌套导入模块时,使用模块变量名需要依次使用模块变量名作为限定符

    模块自身还有一些属性,比如:__doc__,__file__,__name__,__loader__等。

    4.模块包

    导入包

    相对导入  在from后加 . 和加 .. 两种

    def func():
        x=5
        def func2():
            print(x)
        func2()
    x=3
    func()
    print(x)
    
    answer:
    5
    3

    笔记第二篇见链接http://www.cnblogs.com/tenjl-exv/p/8414646.html(函数篇)

    笔记第三篇见链接 :http://www.cnblogs.com/tenjl-exv/p/8422165.html(异常、数据库、GUI篇)

     

     

     

  • 相关阅读:
    Spring配置事务中的 transactionAttributes 各属性含义及XML配置
    91. ExtJS获取父子、兄弟容器元素方法
    90.商城登录页面Extjs
    89. Ext.Button 按钮
    88. [ExtJS2.1教程-5]ToolBar(工具栏)
    87.Ext_菜单组件_Ext.menu.Menu
    86. Ext文本输入框:Ext.form.TextField属性汇总
    85.Ext.Window
    C 一个字符串有三段,第一段原样输出,第二段为要输出字符串的长度,第三段为依据第二段长度补齐第一段
    Spring in action(Spring实战) 第四版中文翻译
  • 原文地址:https://www.cnblogs.com/tenjl-exv/p/8073132.html
Copyright © 2011-2022 走看看