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篇)

 

 

 

原文地址:https://www.cnblogs.com/tenjl-exv/p/8073132.html