


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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 )。2008 年 12 月,python 3.0正式发布,解释器内部采用完全面向对象的方式实现,代价是 3.x 系列版本无法向下兼容2.x 系列的既有语法。python 2.x已经是遗产,
4、 python 3.x是这个语言的现在和未来。1.3.2编写 hello 程序print ( hello world)1.3.3 python语言的特点语法简洁可跨平台应用广泛支持中文强制可读:通过强制缩进体现语句间的逻辑关系提高了程序的可读性模式多样:语法层面同时支持面向过程和面向对象两种编程方式粘性扩展:通过接口和函数集成其他语言编写的代码开源理念库类丰富1.4 python语言开发环境配置python 解释器idle 开发环境交互式启动文件式启动python 语言集成开发环境pycharm1.5 程序的基本编写方法1.5.1 ipo程序编写方法每个程序都有统一的运算模式:输入数据、处理数
5、据和输出数据。这种朴素的运算模式形成了基本的程序编写方法:ipo(input,process,output)方法。ipo 不仅是程序设计的基本方法,也是描述计算问题的方式。1.5.2理解问题的计算部分使用计算机解决问题的6 个步骤:1.分析问题2.划分边界3.设计算法4.编写程序5.调试测试6.升级维护第 2 章 python 程序解析2.1 python程序语法元素分析python 程序包括格式框架、注释、变量、表达式、分支语句、循环语句、函数等语法元素。程序的格式框架python 语言采用严格的“缩进”来表明程序的格式框架,缩进表达了所属关系在代码编写中缩进可通过tab 键实现,也可用多个
6、空格实现,建议采用4 个空格方式书写代码注释注释是辅助性文字,不被执行单行注释:以 #开头#这是注释多行注释:以 (3个单引号 )开头和结尾这是注释这也是注释这还是注释命名命名是为变量关联 标识符 的过程,用于确保程序元素的唯一性标识符由字母、数字、下划线(和汉字)等字符及其组合构成标识符的首字符不能是数字,且中间不能出现空格标识符对大小写敏感保留字保留字( keyword)也被称为关键字,是被编程语言内部定义并保留使用的标识符python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字: import keyword ls=keyword.kwlist lslen(l
7、s)33python 3 有 33 个保留字1.true2.false3.none4.and5.as6.assert7.break8.class9.continue10.def11.del12.elif13.else14.except15.finally16.for17.from18.global19.if20.import21.in22.is23.lambda24.nonlocal25.not26.or27.pass28.raise29.return30.try31.while32.with33.yield字符串字符串( string)类型在程序中表示文本字符串是字符的序列,可以按照单个字符
8、或字符片段进行索引字符串包括两种序号体系:正向递增序号、反向递减序号正向递增序号: 0l-1反向递减序号: -l-1区间访问方式: n:m(不包含 m ),可以混合使用正向递增序号和反向递减序号字符串比较本质上是字符串对应unicode 编码的比较赋值语句python 语言中,“ =”表示“赋值”,将右侧的计算结果 赋给左侧 变量同步赋值语句:可同时给多个变量赋值,=,分支语句分支语句的作用是根据判断条件选择程序执行路径if:elif: else :循环语句循环语句的作用是根据判断条件确定一段程序是否再执行一次或多次while () : for i in range() :input()函数使
9、用 input()函数从控制台获得用户输入input()函数以 字符串类型 返回结果 = input(提示性文字 )input( 请输入: )eval()函数eval()函数的作用是间输入的字符串变成python 语句并 执行x=eval (input(请输入: )python 语法允许在表达式内部标记之间增加空格,适当增加空格有助于提高代码可读性。但应注意,不能改变与缩进相关的空格数量、不能再变量名等命名中间增加空格。print()函数print()函数可以输出字符信息,也可以用字符的形式输出变量输出字符信息时,可以直接将待输出内容传递给print()函数输出变量值时, print()函数用
10、槽格式和过format()方法将变量和字符串结合到一起输出函数函数可以理解为对一组表达特定功能表达式的封装,将特定功能代码编写在一个函数里,使程序模块化更好,便于阅读和复用可通过保留字def 自定义函数2.2 对象(库)的调用.() 表示调用一个对象的方法 () ,或调用一个函数库中的函数()面向对象编程是一种基于对象的编程范式。对象是事物的一种抽象,是一个实体,包含属性和方法两部分。属性是对象中的变量,方法是对象能完成的操作。通过保留字 import引用函数库1.import :程序调用库中所有函数,使用库中函数格式如下.()import turtleturtle.fd(100) #控制画笔
11、向当前行进方向前进1002.from import :from import from import *,“ * ”是通配符,表示所有函数调用库中函数不再需要使用库名,格式如下()from turtle import *fd( 100)2.3 turtle库语法元素分析tuetle库是一个图形绘制函数图绘图坐标体系tuetle库绘制图形的基本框架是一个海龟在坐标系中爬行(前进、后退、左转、右转),其轨迹形成了绘制图形。初始位置位于坐标(0,0 ),行进方向为水平右方。使用 turtle.setup()函数设置主窗体的大小和位置。turtle.setup(width,height,startx,
12、stary)width,height分别表示窗口宽度和高度,值是整数表示像素值,值时小数表示与屏幕的比例startx,stary分别表示窗口左侧和顶部与屏幕左侧和顶部的像素距离,如果值是 none,窗口位于屏幕水平/ 垂直中央turtle.setup (0.8 ,0 .8 )画笔控制函数turtle.penup():抬起画笔,之后移动画笔不绘制形状别名: turtle.pd()、turtle.down()turtle.pensize(width):设置画笔宽度, width 无参数或为none时返回当前画笔宽度别名: turtle.width()turtle.pencolor():设置画笔颜色
13、,无参数输入时返回当前画笔颜色。(colorstring)参数表示颜色的字符串;(r,g,b)参数表示颜色对应的rgb 值颜色颜色字符串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库的坐标体系以
14、正东方向为绝对0 度、正北方向为绝对90 度)turtle.circle(radius,extent=none):根据半径 radius绘制 extent角度的弧形radius值为正时,半径在画笔左侧,值为负时,半径在画笔右侧;extent为正时,画笔逆时针前进,extent为负时,画笔顺时针倒退,extent不设置参数或参数为none时,绘制整圆。第二部分深入 python 语言第 3 章 基本数据类型3.1 数字类型python 语言提供整数、浮点数、复数3 种数字类型整数类型整数类型共有4 种进制表示:十进制、二进制、八进制和十六进制默认情况整数采用十进制,其他进制需要增加引导符号进制种
15、类引导符号描述十进制无默认情况二进制0b 或 0b由字符 0 和 1 组成八进制0o 或 0o由字符 0 到 7 组成十六进制0 x 或 0x由字符 0 到 9、a 到 f 、a到 f 组成浮点数类型浮点数类型与数学中实数的概念一致,表示带有小数的数值python 语言要求所有浮点数必须带有小数部分(可以是0),一区分浮点数和证书类型浮点数有 2 中表示方法:十进制表示和科学计数法表示科学计数法使用字母e 或 e作为幂的符号,以10 为基数 , 含义如下:e=a*10b2由于计算机内部采用二进制运算,浮点数进行超过15 位数字计算会产生误差使用整数表达浮点数的方法是高精确度运算的基本方法之一。
16、对于高精度科学计算外的绝大部分运算而言,浮点数类型已足够可靠,一般认为浮点数类型没有范围限制,运算结果准确复数类型复数类型表示数学中的复数复数可以看作是二元有序实数对(a,b),表示为 a+bj ,其中 a 是实数部分,简称实部,b 是虚数部分,简称虚部。python 语言中,复数的虚部通过后缀j 或j 表示1.23e-4 +5.67e +89j复数类型中实数部分和虚数部分的数值都是浮点数类型,对于实数z,可用z.real和 z.imag 分别获得它的实部和虚部(1 .23e-4 +5.67e +89j ) .real(1 .23e-4 +5.67e +89j ) .imag3.2 数字类型的
17、操作python 解释器为数字类型提供数值运算操作符、数值运算函数、类型转换函数等操作方法内置的数值运算操作符(共9 个)操作符描述x+yx 与 y 之和x-yx 与 y 之差操作符描述x*yx 与 y 之积x/yx 与 y 之商x/yx 与 y 之整数商,即不大于x 与 y 之商的最大整数x%yx 与 y 之商的余数,也称为模运算-xx 的负值+xx 本身x*yx 的 y 次幂,即 xy操作符运算的结果可能会改变数字类型,3 种数字类型之间存在一种逐渐扩展的关系:整数浮点数复数上述 9 个二元数学操作符都有与之对应的增强赋值操作符x+=y 等价于 x=x+y模运算( % )在编程中主要应用于
18、具有周期规律的场景内置的数值运算函数(共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 可以是浮点数或字符串float(x
19、)将 x 转换为浮点数, x 可以是整数或字符串complex(re,im)生成一个复数,实部为re ,虚部为 im,re 可以是整数、浮点数或字符串, im 可以是整数或浮点数但不能为字符串int()函数将浮点数类型转换为整数时,小数部分会直接被舍弃复数不能直接转换为其他数字类型,可通过.real和.imag 将复数的实部和虚部分别转换3.3 字符串类型及其操作字符串类型的表示字符串是字符的序列表示单引号字符串: 单引号表示可以使用 双引号 作为字符串的一部分双引号字符串: 双引号表示可以使用 单引号 作为字符串的一部分三引号字符串: 三引号表示可以使用 双引号 、 单引号 作为字符串的一部
20、分也可以换行python 字符串提供区间访问方式,采用n:m 格式。表示从字符串中从n到 m(不包含 m )的字符串,可以混合使用正向递增序号和反向递减序号反斜杠字符 () 在字符串中表示转义1.n 表示换行2. 表示反斜杠3. 表示单引号4. 表示双引号5.t 表示制表符 (tab)基本的字符串操作符(共5 个)操作符描述x+y连接两个字符串x 与 yx*n 或 n*x复制 n 次字符串 xx in s如果 x 是 s 的子字符串,返回ture,否则返回false操作符描述stri索引,返回第i 个字符strn:m切片,返回索引第n到第 m个字符内置的字符串处理函数(共6 个)函数描述len
21、(x)返回字符串 x 的长度,也可返回其他组合数据类型元素个数str(x)返回任意类型x 所对应的字符串形式chr(x)返回 unicode 编码 x 对应的单字符ord(x)返回单字符表示的unicode 编码hex(x)返回整数 x 对应十六进制数的小写形式字符串oct(x)返回整数 x 对应八进制数的小写形式字符串内置的字符串处理方法(共43 个,常用 16 个)在 python 解释器内部,所有数据类型都采用面向对象的方式实现,封装为一个类字符串是一个类,具有类似.() 形式的字符串处理函数,称为方法方法描述str.lower()返回字符串 str的副本,全部字符小写str.upper
22、()返回字符串 str的副本,全部字符大写str.islower()当 str 所有字符都是小写时,返回ture,否则返回 falsestr.isprintable()当 str 所有字符都是可打印的,返回 ture,否则返回falsestr.isnumeric()当 str 所有字符都是数字时,返回ture,否则返回 falsestr.isspace()当 str 所有字符都是空格,返回ture,否则返回 flasestr.endswith(suffix,start,end)strstart:end以 suffix结尾返回ture,否则返回 flasestr.srartswith(prefi
23、x,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子串被替换为new ,如果 count 给出,则前 count 次 old 出现被替换str.center(width,fillchar)字符串居中函数str.strip(chars)
24、返回字符串 str的副本,在其左侧和右侧去掉 chars 中列出的字符str.zfill(width)返回字符串 str副本,长度为width 。不足部分在其左侧添加0str.format()返回字符串 str的一种排版格式str.join(iterable)返回一个新字符串,由组合数据类型 iterable变量的每个元素组成,元素间用 str 分隔3.4 字符串类型的格式化字符串通过 format()方法进行格式化处理字符串格式化用于解决字符串和变量同时输出时的格式安排format()方法的基本使用字符串 format()方法的基本使用格式:.format()模板字符串由一系列槽组成,用来控
25、制修改字符串中嵌入值出现的位置(槽用 表示,如果 中没有序号,则按照出现顺序替换)如需输入 ,采用 表示; 表示 圆周率 12是0 .format( 无理数 ,3.1415926, )format()方法的格式控制format()方法模板字符串的槽除了包括参数序号,还可包括格式控制信息。槽内部样式: :格式控制标记用于控制参数显示时的格式:引导符号用于填充的单个字符右对齐、 居中对齐槽的设定输出宽度数字的千位分隔符适用于整数和浮点数浮点数小数部分的精度或字符串的最大输出长度整数类型b,c,d,o,x,x;浮点数类型 e,e,f,%指宽度内除了参数外的字符采用什么方式表示,默认为空格指参数在宽度
26、内输出时的对齐方式指当前槽的设定输出字符宽度,若实际参数长度比设定值大,则使用参数实际长度用于显示数字类型的千分位分隔符对于浮点数,表示小数部分输出的有效位数;对于字符串,表示输出的最大长度表示输出整数好浮点数类型的格式规划。对于整数类型,1.b:整数的二进制;2.c:整数对应的unicode 字符;3.d:整数的十进制;4.o:整数的八进制5.x:整数的小写十六进制6. x:整数的大写十六进制7.对于浮点数类型,8.e:浮点数对应的小写字母e 的指数形式9.e:浮点数对应的大写字母e的指数形式10.f :浮点数的标准浮点形式11.% :浮点数的百分形式第 4 章 程序的控制结构4.1 程序的
27、基本结构程序流程图起止框表示一个程序的开始和结束判断框判断一个条件是否成立,并根据判断结果不同选择不同的执行路径处理框表示一组处理过程输入 / 输出框表示数据输入或结果输出注释框增加程序的解释流向线以带箭头的直线或曲线形式指示程序的执行路径连接点将多个流程图连接到一起程序的基本结构程序有 3 种基本结构组成:顺序结构、分支结构和循环结构顺序结构:程序按照线性顺序依次执行分支结构:程序根据条件判断结果而选择不同向前执行路径的一种运行方式(分支结构包括单分支结构和二分支结构;p97)循环结构:程序根据条件判断结果向后反复执行(根据触发条件不同,循环结构包括条件循环和遍历循环)4.2 程序的分支结构
28、单分支机构: if语句if语句语法格式:if : 语句块是 if条件满足后执行的一个或多个语句序列语句块中语句通过与if所在行形成缩进表达包含关系if语句首先评估条件的结果值,若为ture 则执行语句块中的语句序列;若为false 则跳过语句块中的语句if语句中条件部分可以使用任何能够产生ture 或 false 的语句或函数形成判断条件最常见的方式是采用关系操作符关系操作符数学符号操作符含义大于=大于等于=等于!=不等于python 使用= 表示赋值语句,使用= 表示等于二分支结构: if-else语句if-else语句语法格式:if : else : 二分支语句用于区分条件的两种可能if条
29、件满足时执行语句块1if条件不满足时执行语句块2二分支结构的简洁表达(适合通过判断返回特定值) if else 表达式 1/2 一般是数字类型或字符串类型的一个值多分支结构: if-elif-else语句if-elif-else语句语法格式:if : elif : .else: python 依次评估寻找第一个结果为ture 的条件,执行该条件下的语句并跳过整个 if-elif-else结构,执行后面的语句如果没有任何条件成立,执行else 下面的语句块else 语句是可选的4.3 程序的循环结构遍历循环: for语句for 语句语法格式for in : 遍历循环可以理解为从遍历结构中中逐一提
30、取元素,放在循环变量中,对于所提取的每个元素执行一次语句块循环 n次:for i in rang(n): 遍历文件的每一行:for line infi : 遍历字符串 sfor c in s: 遍历列表 lsfor item in ls: 遍历循环的扩展模式for in : else: 当 for 循环正常执行后,程序会继续执行 else 语句遍历循环: while语句while 语句语法格式while : 当条件判断为ture 时,循环体重复执行语句块中的语句;当条件为flase 时,循环终止,执行与while 同级别缩进的后续语句无限循环的扩展模式while : else : 当 whil
31、e 循环正常执行后,程序会继续执行else 语句中的内容, else 语句只在循环正常执行后才执行循环保留字: break 和 continuebreak 用来跳出最内层for 或 while 循环,脱离该循环后程序从循环代码后继续执行continue用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但不跳出当前循环for s inbit :for i in rang( 2): print(s,end= )if s= i :breakbbttbreak 语句与 continue语句的区别是 ,break 语句结束整个循环过程,不再判断执行循环的条件是否成立;continue语句只结束本次
32、循环,而不终止整个循环的执行for 循环和 while 循环中都有一个else 扩展用法。 else 语句仅在循环正常遍历了所有内容或由于条件不成立而结束循环的条件下执行。for s inpython :if s = t :continueprint(s,end= )else :print( 正常退出 )pyhon 正常退出for s inpython :if s = t :breakprint(s,end= )else :print( 正常退出 )py4.4 random 库的使用random库采用梅森旋转算法生成伪随机数序列,可用于除随机性要求更高的加解密算法外的大多数工程应用python
33、 内置的 random库主要用于产生各种分布的伪随机数序列random库提供 9 个常用函数函数描述seed(a=none)初始化随机数种子,默认值为当前系统时间random()生成一个 0.0,1.0之间的随机小数randint(a,b)生成一个 a,b 之间的整数函数描述getrandbits(k)生成一个 k 比特长度的随机整数randrange(start,stop,step)生成一个 start,stop之间以 step 为步数的随机整数uniform(a,b)生成一个 a,b 之间的随机小数choice(seq)从序列类型,例如列表中随机返回一个元素shuffle(seq)将序列类
34、型中的元素随机排列,返回打乱后的序列sample(pok,k)从 pop 类型中随机选取k 个元素,以列表类型返回生成随机数之前可通过seed() 函数指定随机数种子,随机数种子一般是一个整数,只要种子相同,每次生成的随机数序列也相同4.5 程序的异常处理python 通过 try 、except 等保留字提供异常处理功能异常处理: try-except语句python 使用 try-except语句实现异常处理try : except : 异常的高级用法try-except语句可以支持多个except 语句try : except : .except : except : 异常语句还可以与e
35、lse 和 finally保留字配合使用try : :except : else: finally: 第 5 章 函数和代码复用5.1 函数的基本使用函数的定义函数是一段具有特定功能的、可重用的语句组使用函数主要有两个目的:降低编程难度和代码重用python 使用 def 保留字定义一个函数def (): return 函数名可以是任何有效的python 标识符参数列表是调用该函数是传递给它的值,可以有零个(保留圆括号)、一个或多个(用逗号分隔)函数体是函数每次被调用是执行的代码当需要返回值时使用保留字return和返回值刘表,否则函数可以没有return语句,在函数体结束时将控制权返回给调用
36、者函数调用和执行的一般形式()函数的调用过程1.调用程序在调用处暂停执行2.在调用时将实参复制给形参3.执行函数体语句4.函数调用结束给出返回值,程序回到调用前的暂停处继续执行lambda 函数lambda 函数又称匿名函数,将函数名作为函数结果返回=lambda:lambda 函数与正常函数一样,等价于下面表达式:def ():return lambda 函数用于定义简单的、能够在一行内表示的函数,返回一个函数类型f= lambda q,w,e,r:q+w+e+rf( 1, 2, 3, 4)10lambda 函数用于需要函数对象的场景5.2 函数的参数传递函数可定义可选参数,使用参数的位置或
37、名称传递参数值,根据函数中变量的不同作用域有不同的函数返回值方式可选参数和可变数量参数函数定义时部分参数可直接为存在默认值的参数指定默认值,当函数被调用时如果没有传入对应的参数值则使用函数定义时的的默认值替代默认参数必须指向不变对象函数调用时需要按顺序输入参数,可选参数必须定义在非可选参数后dfe r(str,times =2):print(str*times )r( t )ttr( t )tttt函数定义时可设计可变数量参数,通过在参数前加星号(*) 实现带有星号的可变参数只能出现在参数列表最后,调用时这些参数被单指元组类型传递到函数中def vfunc (a,*b) print(type(
38、b)for n inb: a+=nreturn avfunc( 1, 2, 3, 4, 5)15 #1+2=3;3+3=6;6+4=10;10+5=15参数的位置和名称传递函数定义时实参默认采用按照位置顺序的方式传递给函数,这种方式在参数很多的情况下可读性较差python 提供了按照形参名称输入实参的方式,调用函数时指定参数名称,参数之间的顺序可任意调整函数的返回值return语句用来退出函数并将程序返回到函数被调用的位置继续执行return语句可同时将0 个、1 个或多个函数运算后的结果返回给函数被调用的位置函数可以没有return ,此时函数不返回值函数也可以用return返回多个值,多个
39、值以元组类型保存def func (a,b):return b,as=func( t , 2)print(s,type(s)(2, t) 5.4 datetime库的使用python 时间处理的标准函数库datetime提供里一批显示日期和时间的格式化方法。datetime库概述datetime 库可以从系统中获得时间,并以用户选择的格式输出datetime库以格林威治时间为基础,每天由3600*24 秒精准定义datetime库以类的方式提供多种日期和时间1.datetime.date:日期表示类,坑人表示年、月、日等。2.datetime.time:时间表示类,可表示小时、分钟、秒、毫秒等
40、。3.datetime.datetime:日期和时间表示类,功能覆盖date 和 time 类。4.datetime.timedelta:与时间间隔有关的类。5.datetime.tzinfo:与时区有关的信息表示类。datetime库解析( datetime类)datetime.datetime类的使用方式是首先创建一个datetime对象,然后通过对象的方法和属性显示时间创建 datetime对象的 3 种方法:1.datetime.now():返回一个 datetime类型,表示当前日期和时间,精确到毫秒from datetime import datetimenow=datetime.
41、now()nowdatetime.datetime(2018, 5, 13, 16, 49, 38, 627464)2.datetime.utcnow():返回一个 datetime类型,表示当前日期和时间的utc (世界标准时间)表示,精确到毫秒from datetime import datetimeutcnow=datetime.now()utcnowdatetime.datetime(2018, 5, 13, 8, 53, 59, 788612)3.直接使用 datetime()构造一个日期和时间对象:datetime(y,m,d,hour=0,minute=0,second=0,mi
42、crosecond=0)some=datetime( 2018, 5,13, 17, 0, 0, 0)somedatetime.datetime(2018, 5, 13, 17, 0)-创建 datetime对象后,可利用该对象的属性显示时间(以上述“ some ”为例)datetime类的常用属性属性描述some.min固定返回 datetime的最小时间对象,datetime(1,1,1,0,0)some.max固定返回 datetime的最大时间对象,datetime(9999,12,31,23,59,59,999999)some.year返回 some包含的年份some.month返回
43、 some包含的月份属性描述some.day返回 some包含的日期some.hour返回 some包含的小时some.minute返回 some包含的分钟some.second返回 some包含的秒钟some.microsecond返回 some包含的毫秒datetime类的常用时间格式化方法属性描述some.isofomat()采用 iso8601标准显示时间some.isoweekday()根据日期计算星期some.strftime()根据格式化字符串format 进行格式显示的方法strftime()方法用于输出特定格式时间格式化字符串对象取值范围%y年00019999格式化字符串对象
44、取值范围%m月112%b月名januarydecember%b月名缩写jandec%d日期0131%a星期mondaysunday%a星期缩写monsum%h小时( 24h 制)0023%i小时( 12h 制)0112%p上、下午am/pm%m分钟0059%s秒0059some=datetime( 2018, 5,13, 17, 0, 0, 0)some.strftime(%y年%m 月%d日, %h时%m 分%s 秒)2018 年 05 月 13 日, 17 时 00 分 00 秒print( 今天是 0:%y 年0:%m月0:%d 日 .format(some)今天是 2018 年 05
45、月 13 日5.5 代码复用和模块化设计当代编程语言从代码层面采用函数和对象两种抽象方式,分别对应面向过程和面向对象两种编程思想函数是程序的一种基本抽象方式,它将一系列代码组织起来通过命名提供其他程序使用,任何其他代码只有输入参数即可调用函数,更新函数功能时,所有被调用处的功能都被更新。对象是程序的一中高级抽象方式,它将程序代码组织为更高级的类。对象包括表征对象特征的属性和代表对象操作的方法。模块化设计值通过函数或对象的封装功能将程序划分成主程序、子程序和子程序间关系的表达。模块化设计的两个基本要求:1.紧耦合:尽可能合理划分功能块,功能块内部耦合紧密2.松耦合:模块间关系尽可能简单,功能块之
46、间耦合度低5.6 函数的递归递归的定义:函数定义中调用函数自身的方式称为递归数学经典递归案例阶乘n!=n(n-1)(n-2).(1)n!=1 (n=0) n!=n(n-1)! (otherwise)递归的两个关键特征1.存在一个或多个基例,基例不需要再次递归,是确定的表达式2.所有递归链要以一个或多个基例结尾递归的使用方法def fact (n):if n=0:return1else :return n*fact(n-1)num=eval(input( 请输入一个整数: )print(fact(abs(int(num)使用递归一定要注意基例的构建,否则递归无法返回5.7 科赫曲线绘制科赫曲线属
47、于分形几何分支,它的绘制过程体现了递归思想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(size,level): setup(600, 600) # 设置主窗体大小 speed(0) # 设置画笔速度,( 110) hideturtle() # 隐藏 turtle箭头 penup() goto(-150 , 50) pendown() pensize(1) # 设置画笔尺寸 ko
48、ch(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()divmod()eval()float()hash()hex()id()input()int()len()list()max()min()oct()open()ord()pow()print()range()reversed()round()set()sorted(
49、)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()_
50、import()_第 6 章 组合数据类型6.1 组合数据类型概述组合数据类型为多个类型或不同类型数据提供单一表示,使数据操作更有序、更容易。组合数据类型分为序列类型、集合类型和映射类型3 类。序列类型序列类型是一维元素向量,元素间存在先后关系,通过序号访问,元素之间不排他。1.字符串( str )可以看做是单一字符的有序组合,属于序列类型字符串被看做基本数据类型2.元组( tuple )是包含零个或多个数据项的不可变序列类型一个元组可作另一个元组的元素,可采用多级索引获取信息x=(a , b , c ) #等同 x=a,b,cy=(1, 2, 3,x)y3 2 #多级索引cpython 中元
51、组采用逗号和圆括号(可选)表示3.列表( list)是包含零个或多个对象引用的有序数列列表的长度和内容都是可变的列表用中括号 ()表示,也可通过list()函数将元组或字符串转化成列表列表必须通过显式赋值才能生成,简单将一个列表赋值给另一个列表不会生成新的列表对象序列类型的通用操作符和函数操作符或函数描述x in s如果 x 是 s 的元素,返回true,否则返回 flasex not in s如果 x 不是 s 的元素,返回true,否则返回 flases+t连接 s 和 ts*n 或 n*s将序列 s 复制 n 次si索引,返回序列s 的第 i 个元素si:j分片,返回包含序列s 第 i 到第 j (不含)个元素的子序列操作符或函数描述si:j:k步骤分片,返回包含序列s 第 i 到第 j(含)个元素以k 为步长的子序列len(s)序列 s 的元素个数(长度)min(s)序列 s 中的最小元素max(s)序列 s 中的最大元素s.index(x,i,j)序列 s 中从 i 开始到 j 位置第一次出现元素x 的位置s.coun
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年金属复合材项目建议书
- 小学信息技术第二册 制作研究报告教学实录 清华版
- 电木板成分表
- 电力土建施工安全措施
- 2024-2025学年八年级地理上册 1.1疆域教学实录1 (新版)新人教版
- 2023六年级英语上册 Unit 3 Holiday fun第3课时教学实录 牛津译林版
- 2025年高速救助艇合作协议书
- 班主任的学习交流与分享计划
- Unit7 Natural World(教学设计)-2023-2024学年剑桥国际少儿英语Kid's Box5五年级下册
- 如何提高班级的学习效率计划
- 某县电子政务信息化服务平台项目可行性研究报告管理资料
- 加油站的充电桩建设与运营
- 版权知识培训课件模板
- 建设工程项目全寿命过程管理
- 建筑工程技术人员应知应会手册
- 板集矿井通风机房设备安装标准措施
- 《北京市道路桥梁试验检测费用定额》
- 2024工程造价员个人工作计划范文
- 企业团餐服务方案
- 【初中物理】密度(教学课件)-2024-2025学年人教版(2024)八年级物理上册
- 2020-2021学年湖北省鄂东南省级示范高中教育教学改革联盟学校高一下学期期中联考数学试题(解析版)
评论
0/150
提交评论