版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Python基础学习笔记基于« Python语言程序设计基础(第2版)第一部分 初识Python语言第1章程序设计基本方法1、1计算机得概念?计算机就是根据指令操作数据得设备、具备功能性与可编程性两个基本特性。?计算机技术发展阶段:1. 第一阶段:1946-1981年、”计算机系统结构阶段”。2. 第二阶段:1982-2007年、”计算机网络与视窗阶段”。3. 第三阶段:2008年至今、“复杂信息系统阶段”。4. 第四阶段:月20年后某个时期开始、“人工智能阶段”。1、2程序设计语言1、2、1程序设计语言概述?机器语言:直接使用二进制代码表达指令、可被计算机硬件直接识别与执行。不同计
2、算机结构得机器指令不同。>汇编语言:使用助记符对应机器语言中得指令、可直接操作计算机硬件。不同计算机结构得汇编指令不同。机器语言与汇编语言都直接操作计算机硬件并基于此设计、统称“低级语言”。>高级语言:用更接近自然语言得方式描述计算问题。代码只与编程语言有关、与计算机结构无关1、2、2编译与解释高级语言按执行方式可分为采用 编译执行得静态语言与采用解释执行得脚本语言。?编译就是将源代码转换成目标代码得过程。?解释就是将源代码逐条转换成目标代码同时逐条运行目标代码得过程。1、2、3计算机编程?我学习Python得原因:1. 通过编程实现自动化、提高效率。2. 通过编程了解一个新得广阔
3、世界。?学习一门编程语言(重点在于练习)1. 掌握该语言得语法2. 结合问题设计程序结构3. 掌握解决问题得能力1、3Python语言概述1、3、1 Python语言得发展Python语言就是一个语法简洁、跨平台、可扩展得开源通用脚本语言。?Python语言诞生于1990年、创世人为 Guido。?2000年10月、Python 2、0正式发布、2010年、Python 2、x系列发布最后一版(2、7) 0筛滥类用!础泻。?2008年12月、Python 3、0正式发布、解释器内部采用完全面向对象得方式实现、代价就是3、x系列版本无法向下兼容2、x系列得既有语法。Sj侈!境M漳讣。Python
4、 2、x已经就是遗产、Python 3、x就是这个语言得现在与未来。1、3、2编写Hello程序print ("Hello World")1、3、3 Python语言得特点1语法简洁1可跨平台1应用广泛1支持中文'强制可读:通过强制缩进体现语句问得逻辑关系提高了程序得可读性1 模式多样:语法层面同时支持面向过程与面向对象两种编程方式'粘性扩展:通过接口与函数集成其她语言编写得代码'开源理念'库类丰富1、4 Python语言开发环境配置> Python解释器> IDLE开发环境> 交互式启动> 文件式启动> Pyt
5、hon语言集成开发环境PyCharm1、5程序得基本编写方法1、5、1 IPO程序编写方法每个程序都有统一得运算模式:输入数据、处理数据与输出数据。这种朴素得运算模式形 成了基本得程序编写方法:IPO (Input,Process,Output) 方法。滕崎那铺椽尴。IPO不仅就是程序设计得基本方法、也就是描述计算问题得方式。1、5、2理解问题得计算部分?使用计算机解决问题得6个步骤:1. 分析问题2. 划分边界3. 设计算法4. 编写程序5. 调试测试6. 升级维护第2章Python程序解析2、1 Python程序语法元素分析Python程序包括格式框架、注释、变量、表达式、分支语句、循环语
6、句、函数等语法元 素。程序得格式框架?Python语言采用严格得“缩进”来表明程序得格式框架、缩进表达了所属关系?在代码编写中缩进可通过Tab键实现、也可用多个空格实现、建议采用 4个空格方式书写代码注释?注释就是辅助性文字、不被执行?单行注释:以#开头#这就是注释多行注释:以”'(3 个单引号)开头与结尾这就是注释这也就是注释这还就是注释 '''命名?命名就是为变量关联 标识符得过程、用于确保程序元素得唯一性?标识符由字母、数字、下划线(与汉字)等字符及其组合构成?标识符得首字符不能就是数字、且中间不能出现空格?标识符对大小写敏感保留字? 保留字(Keywor
7、d)也被称为关键字、就是被编程语言内部定义并保留使用得标识 符? Python得标准库提供了一个keyword模块、可以输出当前版本得所有关键字:>>> import keyword>>> ls=keyword 、kwlist>>> Is>>>len(ls)33Python 3 有33个保留字1. True2. False3. None4. and5. as6. assert7. break8. class9. continue10. def11. del12. elif13. else14. except15. fina
8、lly16. for17. from18. global19. if20. import21. in22. is23. lambda24. nonlocal25. not26. or27. pass28. raise29. return30. try31. while32. with33. yield字符串?字符串(string )类型在程序中表示文本?字符串就是字符得序列、可以按照单个字符或字符片段进行索引?字符串包括两种序号体系:正向递增序号、反向递减序号?正向递增序号:0L-1?反向递减序号:-L-1?区间访问方式:N: M(不包含M)、可以混合使用正向递增序号与反向递减序号?字符串比较
9、本质上就是字符串对应Unicode编码得比较赋值语句? Python语言中、“=”表示“赋值”、将右侧得计算结果赋给左侧变量?同步赋值语句:可同时给多个变量赋值<变量1>,< 变量N>=<fe达式1>,<表达式N>分支语句?分支语句得作用就是根据判断条件选择程序执行路径if<条件1>:<语句块1>elif< 条件 2>:<§句块2>else :<语句块N>/环语句循环语句得作用就是根据判断条件确定一段程序就是否再执行一次或多次while (< 条件>):<语句
10、块1><语句块2>for i in range(<循环次数 >):<语句块1>input()函数>使用input()函数从控制台获得用户输入>input()函数以字符串类型返回结果<> =input("提示性文字")>>>input("请输入:")eval()函数? eval(<字符串)函数得作用就是问输入得字符串变成Python语句并执行x=eval(input("请输入:")Python语法允许在表达式内部标记之间增加空格、适当增加空格有助于
11、提高代码可读性。但应注意、不能改变与缩进相关得空格数量、不能再变量名等命名中间增加空格。姗金笛磺揖n皤:郭。print()函数, print()函数可以输出字符信息、也可以用字符得形式输出变量,输出字符信息时、可以直接将待输出内容传递给print()函数,输出变量值时、print()函数用槽格式与过format()方法将变量与字符串结合到一起输出函数?函数可以理解为对一组表达特定功能表达式得封装、将特定功能代码编写在一个函数里、使程序模块化更好、便于阅读与复用 豁懒指铸黑蹿。?可通过保留字def自定义函数2、2对象(库)得调用?a、b()表示调用一个对象2得方法b()、或调用一个函数库a中得函
12、数b()面向对象编程就是一种基于对象得编程范式。对象就是事物得一种抽象、就是一个实体、包含属性与方法两部分。属性就是对象中得变量、方法就是对象能完成得操作。WWBWtt?通过保留字import引用函数库1. import 库名:程序调用库中所有函数、使用库中函数格式如下库名 、函数名 ( 函数参数)import turtleturtle 、 fd( 100) #控制画笔向当前行进方向前进1002. from 库名 import :from 库名 import 函数名,函数名,函数名from 库名 import *、“ * ”就是通配符、表示所有函数篷谡绪暂坝。? 调用库中函数不再需要使用库名、
13、格式如下函数名 ( 函数参数)from turtle import *fd( 100)2、3 turtle库语法元素分析tuetle库就是一个图形绘制函数图绘图坐标体系, tuetle库绘制图形得基本框架就是一个海龟在坐标系中爬行(前进、后退、左 转、右转)、其轨迹形成了绘制图形。觉脸建测殓嬲遥。,初始位置位于坐标(0,0)、行进方向为水平右方。? 使用turtle 、setup()函数设置主窗体得大小与位置。turtle 、setup(width,height,startx,stary)? width,height分别表示窗口宽度与高度、值就是整数表示像素值、值时小数表示 与屏幕得比例, s
14、tartx,stary分别表示窗口左侧与顶部与屏幕左侧与顶部得像素距离、如果值就是none、窗口位于屏幕水平/垂直中央源痹解榔翱哪。turtle 、setup (0、8,0、8)画笔控制函数turtle、penup():抬起画笔、之后移动画笔不绘制形状别名:turtle 、pd()、turtle 、down()加日讲师决就麽。turtle 、pensize(width):设置画笔宽度、width无参数或为None时返回当前画 笔宽度别名:turtle 、width()俭诲阔昆氟turtle 、pencolor():设置画笔颜色、无参数输入时返回当前画笔颜色。(colorstring)参数表示颜
15、色得字符串;(r,g,b)参数表示颜色对应得RGEBS颜色颜色字符串GRB十六进制颜色颜色字符串GRB十六进制黑色black0,0,0#FFFFFF白色white255,255,255#000000灰色grey190,190,190#BEBEBE形状绘制函数, turtle 、fd(distance):控制画笔向当前行进方向前进 distance、值为负数表示 向相反方向前进别名:turtle 、forward(distance)煮攒费剑彳复凛绪。> turtle 、seth(to_angle):控制画笔绘制方向、(to_angle )参数就是绝对方向 角度值(turtle 库得坐标体系
16、以正东方向为绝对 0度、正北方向为绝对90度)苹> turtle 、circle(radius,extent=None) :根据半径 radius 绘制 extent 角度得弧 形radius值为正时、半径在画笔左侧、值为负时、半径在画笔右侧;extent为正时、画笔逆时针前进、extent为负时、画笔顺时针倒退、extent不设置参 数或参数为None时、绘制整圆。却饺钺厉言甬娈。第二部分 深入Python语言第3章基本数据类型3、1数字类型> Python语言提供整数、浮点数、复数 3种数字类型整数类型整数类型共有4种进制表示:十进制、二进制、八进制与十六进制默认情况整数采用十
17、进制、其她进制需要增加引导符号进制种类引导符号描述十进制无默认情况二进制0b 或 0B由字符0与1组成八进制0o 或 0O由字符0到7组成十六进制0x 或 0X由字符0至I 9、a至I f、A至U F组成浮点数类型,浮点数类型与数学中实数得概念一致、表示带有小数得数值,Python语言要求所有浮点数必须带有小数部分(可以就是0)、一区分浮点数与证书类型?浮点数有2中表示方法:十进制表示与科学计数法表示科学计数法使用字母e或E作为幕得符号、以10为基数,含义如下:<a>e<b>=a*10b.2,由于计算机内部采用二进制运算、浮点数进行超过15位数字计算会产生误差使用整数表
18、达浮点数得方法就是高精确度运算得基本方法之一。,对于高精度科学计算外得绝大部分运算而言、浮点数类型已足够可靠、一般认为浮点数类型没有范围限制、运算结果准确 东晋诋烟妆新争战复数类型> 复数类型表示数学中得复数复数可以瞧作就是二元有序实数对(a,b),表示为a+bj、其中a就是实数部分、简称实部、b就是虚数部分、简称虚部。窗蒯1诂恼。, Python语言中、复数得虚部通过后缀"j"或J"表示1、23e-4+5、67e+89j> 复数类型中实数部分与虚数部分得数值都就是浮点数类型、对于实数Z、可用Z、real与z、imag分别获得它得实部与虚部8Ms奂虾狱
19、簧(1、23e-4+5、67e+89j)、real(1、23e-4+5、67e+89j)、imag3、2数字类型得操作> Python解释器为数字类型提供数值运算操作符、数值运算函数、类型转换函数等操作方法内置得数值运算操作符(共 9个)操作符描述x+yx上手y之与x-yx上y y之差x*yx上手y之积操作符描述x/yx与y之商x/yx与y之整数冏、即不大于x与y之冏得最大整数x%yx与y之商得余数、也称为模运算-xx得负值+xx本身x*yx得y次幕、即xAy?操作符运算得结果可能会改变数字类型、3种数字类型之间存在一种逐渐扩展得关系:整数一浮点数一复数?上述9个二元数学操作符都有与之对
20、应得增强赋值操作符x+=y等价于x=x+y? 模运算(%在编程中主要应用于具有周期规律得场景内置得数值运算函数(共 6个)函数描述abs(x)x得绝对值divmod(x,y)(x/y,x%y),输出为二元组形式(也称为元组类型)函数描述pow(x,y,z)(x*y)%z,表示该参数可省略round(x,ndigits)对x四舍五入、保留ndigits 位小数、round(x)返回四舍五入得整数值max(x1,x2,xn)x1,x2,xn得最大值、n没有限止min(x1,x2,xn)x1,x2,xn得最小值、n没有限止内置得数字类型转换函数(共 3个)函数描述int(x)将x转换为整数、x可以就
21、是浮点数或字符串float(x)将x转换为浮点数、x可以就是整数或字符串complex(re,im)生成一个复数、实部为re、虚部为im、re可以就是整数、浮点数 或字符串、im可以就是整数或浮点数但不能为字符串> int()函数将浮点数类型转换为整数时、小数部分会直接被舍弃> 复数不能直接转换为其她数字类型、可通过、 real与、imag将复数得实部与虚部分别转换3、3字符串类型及其操作字符串类型得表示字符串就是字符得序列表示? 单引号字符串:单引号表示可以使用“双引号"作为字符串得一部分? 双引号字符串:”双引号表示可以使用单引号作为字符串得一部分"? 三引
22、号字符串:''三引号表示可以使用“双引号"、单引号作为字符串得一部分 也可以换行 '''? Python字符串提供区间访问方式、采用N:M格式。表示从字符串中从N到M (不 包含M)得字符串、可以混合使用正向递增序号与反向递减序号纲哗嬲t晖肠顿。?反斜杠字符()在字符串中表示转义1. n表示换行2. 表示反斜杠3. '表示单引号4. "表示双引号5. t表示制表符(Tab)基本得字符串操作符(共 5个)操作符描述x+y连接两个字符串x与yx*n 或 n*x复制n次字符串xx in s如果x就是s得子子符串、返回Ture、否则返
23、回Falsestri索引、返回第i个字符strN:M切片、返回索引第N到第M个字符内置得字符串处理函数(共 6个)函数描述len('x')返回字符串x得长度、也可返回其她组合数据类型元素个数str('x')返回任意类型x所对应得字符串形式chr(x)返回Unicode编码x对应得单字符ord('x')返回单子符表小得 Unicode编码hex(x)返回整数x对应十六进制数得小写形式字符串oct(x)返回整数x对应八进制数得小写形式字符串内置得字符串处理方法(共 43个、常用16个)在Python解释器内部、所有数据类型都采用面向对象得方式实现、封
24、装为一个类 字符串就是一个类、具有类似a、b()形式得字符串处理函数、称为方法方法描述str、lower()返回字符串str得副本、全部字符小写str、upper()返回字符串str得副本、全部字符大写str、islower()当str所有字符都就是小写时、返回Ture、否则返回Falsestr、isprintable()当str所有字符都就是可打印得、返回Ture、否则返回False方法描述str、isnumeric()当str所有字符都就是数字时、返回Ture、否则返回Falsestr、isspace()当str所有字符都就是空格、返回Ture、否则返回Flasestr、endswith(
25、suffix,start,end)strstart:end 以 suffix结尾返回 Ture、否则返回Flasestr、srartswith(prefix,start,end)strstart:end 以 prefix 开始返回 Ture、否 则返回Flasestr、split(sep=None,maxsplit=-1)返回一个列表、由str根据sep被分割得部 分构成str、count(sub,start,end返回strstart:end 中sub子用出现得次数str、replace(old,new,count)返回子符串str得副本、所有old子用被哲 换为newA如果count给出、
26、则前count次 old出现被哲换str、 center(width,fillchar)字符串居中函数str、strip(chars)返回字符串str得副本、在其左侧与右侧去 掉chars中列出得字符str、zfill(width)返回子符串str副本、长度为width。不足部 分在其左侧添加0描述方法str、format()返回字符串str得一种排版格式返回一个新字符串、由组合数据类型str、join(iterable)iterable 变量得每个元素组成、元素间用str分隔3、4字符串类型得格式化? 字符串通过format()方法进行格式化处理字符串格式化用于解决字符串与变量同时输出时得格
27、式安排format()方法得基本使用? 字符串format()方法得基本使用格式:字模板符串、format(逗号分隔得参数),模板字符串由一系列槽组成、用来控制修改字符串中嵌入值出现得位置(槽用 表示、如果中没有序号、则按照出现顺序替换)说锄弥椿t辅哗。, 如需输入、采用表示; 表示"圆周率12就是0"、format("无理数",3、1415926,"-")format()方法得格式控制format()方法模板字符用得槽除了包括参数序号、还可包括格式控制信息。槽内部样式:参数序号: 格式控制标记纤驻阔薨妩渗诅。格式控制标记用于控制参数
28、显示时得格式:即充对齐宽 度<,>、精度,英型:即充对齐宽 度<,>V、精度,V英型引 导 符 号用于填 充得单 个字符4对齐、右对 齐、A居中 对齐槽得 设定 输出 宽度数字得千 位分隔符 适用于整 数与浮点 数浮点数小数 部分得精度 或字符串得 最大输出长 度整数类型b,c,d,o,x,X ;浮点 数类型e,E,f,%?填充 指宽度内除了参数外得字符采用什么方式表示、默认为空格?对齐 指参数在宽度内输出时得对齐方式?宽度,指当前槽得设定输出字符宽度、若实际参数长度比设定值大、则使用参数实际长度?,用于显示数字类型得千分位分隔符?、精度,对于浮点数、表示小数部分输出得
29、有效位数;对于字符串、表示输出得最大长度?类型 表示输出整数好浮点数类型得格式规划。对于整数类型、1. b:整数得二进制;2. c:整数对应得Unicode字符;3. d:整数得十进制;4. o:整数得八进制5. x:整数得小写十六进制6. X:整数得大写十六进制对于浮点数类型、7. e:浮点数对应得小写字母e得指数形式8. E:浮点数对应得大写字母E得指数形式9. f :浮点数得标准浮点形式10. %浮点数得百分形式第4章程序得控制结构4、1程序得基本结构程序流程图起止框表示一个程序得开始与结束 判断框判断一个条件就是否成立、并根据判断结果不同选择不同得执行路径 处理框表示一组处理过程 输入
30、/输出框表示数据输入或结果输出 注释框增加程序得解释 流向线以带箭头得直线或曲线形式指示程序得执行路径 连接点将多个流程图连接到一起程序得基本结构程序有3种基本结构组成:顺序结构、分支结构与循环结构顺序结构:程序按照线性顺序依次执行分支结构:程序根据条件判断结果而选择不同向前执行路径得一种运行方式(分支结构包括单分支结构与二分支结构; p97)而彳谶缜瓒言丁蜃循环结构:程序根据条件判断结果向后反复执行(根据触发条件不同、循环结构包 括条件循环与遍历循环)4、2程序得分支结构单分支机构:if语句if语句语法格式:if 条件:语句块语句块就是if条件满足后执行得一个或多个语句序列语句块中语句通过与
31、if所在行形成缩进表达包含关系if语句首先评估条件得结果值、若为 Ture则执行语句块中得语句序列;若为 False则跳过语句块中得语句彳复戢绯癣驰tif语句中条件部分可以使用任何能够产生Ture或False得语句或函数形成判断条件最常见得方式就是采用关系操作符关系操作符数学符号操作符含义<<小于>><二小于等于>=>大于等于=等于!=不等于> Python使用"="表示赋值语句、使用"="表示等于二分支结构:if-else 语句if-else语句语法格式:if <条件>:< 语句块1&g
32、t;else < 条件 >:< 语句块2>,二分支语句用于区分条件得两种可能,if条件满足时执行语句块1,if条件不满足时执行语句块2二分支结构得简洁表达(适合通过判断返回特定值)表达式1> if < 条件>else < 表达式2>表达式1/2 一般就是数字类型或字符串类型得一个值多分支结构:if-elif-else 语句if-elif-else语句语法格式:if <条件1 >:< 语句块1>elif < 条件 2>:< 语句块2>、else:< 语句块N>,Python依次评估寻
33、找第一个结果为Ture得条件、执行该条件下得语句并跳过整个if-elif-else 结构、执行后面得语句责例鞫哪O%如果没有任何条件成立、执行 else下面得语句块else语句就是可选得4、3程序得循环结构遍历循环:for语句for语句语法格式for 循环变量 in 遍历2构:语句块,遍历循环可以理解为从遍历结构中中逐一提取元素、放在循环变量中、对于所提取得每个元素执行一次语句块循环N次:for i in rang(N):语句块遍历文件得每一行:for line in fi :语句块遍历字符串sfor c in s:语句块遍历列表lsfor item in Is:<语句块>遍历循环
34、得扩展模式for <循环变量> in <遍历2构>:< 语句块1>else:< 语句块2>当for循环正常执行后、程序会继续执行else语句遍历循环:while语句while语句语法格式while < 条件 >:< 语句块>?当条件判断为Ture时、循环体重复执行语句块中得语句;当条件为Flase时、循环终止、执行与 while同级别缩进得后续语句艰渗鹰篮惯烫息无限循环得扩展模式while < 条件>:< 语句块1>else :< 语句块2>当while循环正常执行后、程序会继续执行 e
35、lse语句中得内容、else语句只在循环正常执行后才执行循环保留字: break与continue, break用来跳出最内层for或while循环、脱离该循环后程序从循环代码后继续执 行? continue用来结束当前当次循环、即跳出循环体中下面尚未执行得语句、但不跳 出当前循环for s in "BIT": for i in rang( 2): print(s, end="")if s= "I": break >>>BBTTbreak语句与continue语句得区别就是,break语句结束整个循环过程、不再判断
36、执行循环得条件就是否成立;continue语句只结束本次循环、而不终止整个循环得执 行预殁燎郭赶奥喙for循环与while循环中都有一个else扩展用法。else语句仅在循环正常遍历了所有内 容或由于条件不成立而结束循环得条件下执行。爱内卫痂蟹淘鹑。for s in "PYTHON"if s = "T":continueprint (s,end="")else :print ("正常退出")>>>PYHON正常退出for s in "PYTHON"if s = "T&
37、quot;:breakprint (s,end="")else :print ("正常退出")>>>PY4、4 random库得使用random库采用梅森旋转算法生成伪随机数序列、可用于除随机性要求更高得加解密算法 外得大多数工程应用?Python内置得random库主要用于产生各种分布得伪随机数序列?random库提供9个常用函数函数描述seed(a=None)初始化随机数种子、默认值为当前系统时间random()生成一个0、0,1、0之间得随机小数randint(a,b)生成一个a,b之间得整数函数描述getrandbits(k)生
38、成一个k比特长度得随机整数randrange(start,stop,step)生成一个start,stop 之间以step为步数得随机整数uniform(a,b)生成一个a,b之间得随机小数choice(seq)从序列类型、例如列表中随机返回一个元素shuffle(seq)将序列类型中得元素随机排列、返回打乱后得序列sample(pok,k)从pop类型中随机选取k个元素、以列表类型返回,生成随机数之前可通过seed()函数指定随机数种子、随机数种子一般就是一个整数、只要种子相同、每次生成得随机数序列也相同就绍贯蹒加奇辕。4、5程序得异常处理Python通过try、except等保留字提供异常
39、处理功能 异常处理:try-except 语句? Python使用try-except 语句实现异常处理 try : < 语句块1> except <异常类型>:< 语句块2>异常得高级用法try-except 语句可以支持多个except语句try :< 语句块1>except < 异常类型1 >:< 语句块2>、except < 异常类型 N>:< 语句块N+1>except < 异常类型 N+! >:< 语句块N+2>,异常语句还可以与else与finally保留字配合
40、使用try :< 语句块1>:except < 异常类型1 >:< 语句块2>else:< 语句块3>finally :< 语句块4>第5章函数万代码复用5、1函数得基本使用函数得定义,函数就是一段具有特定功能得、可重用得语句组,使用函数主要有两个目得:降低编程难度与代码重用,Python使用def保留字定义一个函数def 函数名 (参数列表): 函数体return 返回值列表函数名可以就是任何有效得Python标识符参数列表就是调用该函数就是传递给它得值、可以有零个(保留圆括号)、一个或 多个(用逗号分隔)函数体就是函数每次被调用就
41、是执行得代码当需要返回值时使用保留字return与返回值刘表、否则函数可以没有 return语 句、在函数体结束时将控制权返回给调用者 揪饬瓒达虚浏。函数调用与执行得一般形式函数名 ( 参数列表)函数得调用过程1. 调用程序在调用处暂停执行2. 在调用时将实参复制给形参3.执行函数体语句4.函数调用结束给出返回值、程序回到调用前得暂停处继续执行lambda函数? lambda函数又称匿名函数、将函数名作为函数结果返回函数名=lambda参数列表 : 表达式lambda函数与正常函数一样、等价于下面表达式:def 函数名 (参数列表):return表达式? lambda函数用于定义简单得、能够在
42、一行内表示得函数、返回一个函数类型f= lambda q,w,e,r:q+w+e+rf( 1, 2, 3, 4)10? lambda函数用于需要函数对象得场景5、2函数得参数传递函数可定义可选参数、使用参数得位置或名称传递参数值、根据函数中变量得不同作用域 有不同得函数返回值方式可选参数与可变数量参数?函数定义时部分参数可直接为存在默认值得参数指定默认值、当函数被调用时如果没有传入对应得参数值则使用函数定义时得得默认值替代趋瓢纾务®?默认参数必须指向不变对象,函数调用时需要按顺序输入参数、可选参数必须定义在非可选参数后dfe r(str, times =2):print (str*
43、times )r( "T")TTr( "T"), 函数定义时可设计可变数量参数、通过在参数前加星号 (*)实现, 带有星号得可变参数只能出现在参数列表最后、调用时这些参数被单指元组类型传 递到函数中def vfunc (a,*b)print(type(b)for n in b:a+=nreturn avfunc( 1, 2, 3, 4, 5)<class ' tuple '>15 #1+2=3;3+3=6;6+4=10;10+5=15参数得位置与名称传递, 函数定义时实参默认采用按照位置顺序得方式传递给函数、这种方式在参数很多
44、得 情况下可读性较差? Python提供了按照形参名称输入实参得方式、调用函数时指定参数名称、参数之 问得顺序可任意调整函数得返回俏? return语句用来退出函数并将程序返回到函数被调用得位置继续执行? return语句可同时将0个、1个或多个函数运算后得结果返回给函数被调用得位置?函数可以没有return、此时函数不返回值?函数也可以用return返回多个值、多个值以元组类型保存def func (a,b):return b,as=func( "t" , 2)print(s,type(s)(2, 't' ) < class ' tuple
45、'>5、4 datetime 库得使用Python时间处理得标准函数库datetime提供里一批显示日期与时间得格式化方法。datetime库概述datetime库可以从系统中获得时间、并以用户选择得格式输出? datetime库以格林威治时间为基础、每天由 3600*24秒精准定义 datetime库以类得方式提供多种日期与时间驼灿蔺轩蚀久俄铁。1. datetime、date:日期表示类、坑人表示年、月、日等。2. datetime、time :时间表示类、可表示小时、分钟、秒、毫秒等。3. datetime、datetime :日期与时间表示类、功能覆盖 date与time
46、类。4. datetime、timedelta :与时间间隔有关得类。5. datetime、tzinfo :与时区有关得信息表示类。datetime 库解析 (datetime 类)? datetime、datetime类得使用方式就是首先创建一个datetime对象、然后通过对象得方法与属性显示时间创建datetime对象得3种方法:琐黝勾簧静齿鹑。1. datetime、now():返回一个datetime类型、表示当前日期与时间、精确到毫秒>>>from datetime import datetime>>>now=datetime、now()>
47、;>>nowdatetime 、datetime( 2018, 5, 13, 16, 49, 38, 627464)2. datetime、utcnow():返回一个datetime类型、表示当前日期与时间得 UTC(世 界标准时间)表示、精确到毫秒 唠摩系副绑鳄氤>>>from datetime import datetime>>>utcnow=datetime 、now()>>>utcnowdatetime、datetime( 2018, 5, 13, 8, 53, 59, 788612)3. 直接使用datetime()构
48、造一个日期与时间对象:datetime(Y,M,D,hour=0,minute=0,second=0,microsecond=0)鸣侦檐翅纫计锚。>>>some=datetime( 2018, 5, 13, 17, 0, 0, 0)>>>somedatetime 、datetime( 2018, 5, 13, 17, 0)-创建datetime对象后、可利用该对象得属性显示时间 (以上述“ somS为例)datetime类得常用属性属性描述some, min周止返回datetime得最小时间对象、datetime(1,1,1,0,0)some, max固止返
49、回datetime得最大时间对象、datetime(9999,12,31,23,59,59,999999)some, year返回some包含得年份some, month返回some包含得月份some, day返回some包含得日期some, hour返回some包含得小时some, minute返回some包含得分钟some. second返回some包含得秒钟some.microsecond返回some包含得毫秒datetime类得常用时间格式化方法属性描述some. isofomat()采用ISO8601标准显示时间some. isoweekday()根据日期计算星期some. strf
50、time()根据格式化字符串format进行格式显示得方法strftime()方法用于输出特定格式时间格式化字符串对象取值范围%Y年00019999%m月112%B月名JanuaryDecember%b月名缩写JanDec%d日期0131%A星期MondaySunday%a星期缩写MonSum%H小时(24h制)0023格式化字符串对象取值范围%I小时(12h制)0112%p上、下午AM/PM%M分钟0059%S秒0059>>>some=datetime( 2018, 5,13,17, 0, 0,0)>>>soma strftime("%丫年mM
51、%d日、H时,")'2018 年05月13日、17时00分00秒>>>print('今天就是0:%丫年0:%m月0:%d日、format(some)今天就是2018年05月13日5、5代码复用与模块化设计,当代编程语言从代码层面采用函数与对象两种抽象方式、分别对应面向过程与面向对象两种编程思想,函数就是程序得一种基本抽象方式、它将一系列代码组织起来通过命名提供其她程序使用、任何其她代码只有输入参数即可调用函数、更新函数功能时、所有被调用处 得功能都被更新。辫瞅怖讯罗献,对象就是程序得一中高级抽象方式、它将程序代码组织为更高级得类。对象包括表征对象特征
52、得属性与代表对象操作得方法。情隔舌慧那情氧,模块化设计值通过函数或对象得封装功能将程序划分成主程序、子程序与子程序问关系得表达。模块化设计得两个基本要求:1. 紧耦合:尽可能合理划分功能块、功能块内部耦合紧密2. 松耦合:模块间关系尽可能简单、功能块之间耦合度低5、6函数得递归递归得定义:函数定义中调用函数自身得方式称为递归?数学经典递归案例一一阶乘n!=n(n-1)(n-2)、(1)n!=1 ( n=0)n!=n(n-1)! ( otherwise )?递归得两个关键特征1. 存在一个或多个基例、基例不需要再次递归、就是确定得表达式2. 所有递归链要以一个或多个基例结尾递归得使用方法def
53、fact (n):if n= 0:return 1else :return n*fact(n -1 )num=eval(input('请输入一个整数:')print(fact(abs(int(num)?使用递归一定要注意基例得构建、否则递归无法返回5、7科赫曲线绘制科赫曲线属于分形几何分支、它得绘制过程体现了递归思想from turtle import *def koch(size,n):if n= 0:fd(size)else :for angle in 0, 60,-120 , 60:left(angle)koch(size/3,n -1 ) # 递归def main(si
54、ze,level):setup( 600, 600) #设置主窗体大小speed( 0) #设置画笔速度、(110)hideturtle() # 隐藏 turtle 箭头penup()goto( -150,50)pendown()pensize( 1) #设置画笔尺寸koch(size,level)right(120)koch(size,level)right(120)koch(size,level)main( 300,3)5、8 Python内置函数Python提供68个内置函数abs() all() any() asci() bin() bool() chr()complex。dict()
55、 divmod() eval()float() hash() hex() id() input() int() len() list()max() min() oct() open() ord() pow() print() range() reversed。 round() set() sorted() str() tuple() type() zip() bytes() delattr() bytearray() callable。 classmethod() compile。dir() exec() enumerate。 filter() format() frozenset() getattr() globals() hasattr() help() isinstance() issubclass()iter()locals() map() memoryview() next() object() properyty() repr() setattr() slice() staticmethod()sum()super()vars()_impor
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 软件安全设计评估报告范本
- 浙江省丽水市青田县2023-2024学年五年级上学期英语期末试卷
- 石材固色剂知识培训课件
- 塑造五种心态培训课件4
- 年产6万吨饲用饼干粉和面包粉项目可行性研究报告写作模板-申批备案
- 二零二五年度地产公司建筑工程合同风险评估与防控策略3篇
- 礼仪知识培训课件
- 二零二五年度办公楼主体结构施工与智慧安防系统合同3篇
- 中国大陆自闭症干预方法研究综述
- Unit 9 Can you come to my party Section A 1a~1c 说课稿 -2024-2025学年人教版八年级英语上册
- 口腔颌面外科学 09颞下颌关节疾病
- 台达变频器说明书
- 2023年广东罗浮山旅游集团有限公司招聘笔试题库及答案解析
- DB11-T1835-2021 给水排水管道工程施工技术规程高清最新版
- 解剖篇2-1内脏系统消化呼吸生理学
- 《小学生错别字原因及对策研究(论文)》
- 北师大版七年级数学上册教案(全册完整版)教学设计含教学反思
- 智慧水库平台建设方案
- 系统性红斑狼疮-第九版内科学
- 全统定额工程量计算规则1994
- 粮食平房仓设计规范
评论
0/150
提交评论