第1章 Python语言基础(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)

2024-08-10
| 75页
| 282人阅读
| 18人下载
普通

内容正文:

第1章 Python语言基础 Python语言概述 Python语言开发环境配置 常量和变量 Python数据类型 运算 常用系统函数 程序设计语言 按照发展过程可分为机器语言、汇编语言和高级语言。 机器语言:机器语言是二进制语言,属于低级语言,直接使用二进制代码表示指令,是计算机硬件能直接识别和执行的程序设计语言。 汇编语言:使用助记符与机器语言中的指令进行一一对应,计算机不能直接识别,需要由汇编语言编译器将其转换成机器指令。 汇编语言和机器语言类似,不同计算机结构的汇编指令不同,难以移植,都属于低级语言。 高级语言:是一种接近自然语言的计算机程序设计语言,可以更容易地描述计算问题并利用计算机解决问题。 高级语言的语句是面向问题的,而不是面向机器的。 1.1 Python语言概述 编译与解释 使用高级语言编写的程序叫做源程序,它不能被计算机直接识别,必须经过转换才能执行。转换方式有两类: 编译是将源代码经过编译器(Compiler)转换为目标代码,目标代码是机器语言代码,因此其目标程序可脱离语言环境独立执行,也就是源程序一旦被编译,就不再需要编译器或源代码。 解释是将源代码一边由相应语言的解释器(Interpreter)“翻译”成目标代码,一边执行,也就是逐条翻译、逐条运行源代码。 Python语言是一种高级通用脚本编程语言,它是一种高层次的结合了解释性、编译性、互动性和面向对象的计算机程序设计语言。 虽然采用解释方式执行程序,但它的解释器保留了编译器的部分功能,也会生成完整的目标代码。这种将解释器和编译器结合的方式推动了现代脚本语言的演进。 1.1 Python语言概述 Python语言的发展 Python由荷兰的Guido van Rossum设计。 Python第一个版本于1991年初公开发行。 Python 2.0于2000年10月发布,增加了许多新的语言特性。 Python 3.0于2008年12月发布,此版本不完全兼容Python 2.0 ,导致Python 2.0与Python 3.0不兼容 1.1 Python语言概述 Python语言的特点 语法简洁:语法结构简单,没有太多的语法细节和规则要求 开源、免费:源代码公开,可以被自由使用、复制、修改和再发布。各种社区提供了成千上万不同功能的开源函数模块,而且还在不断地发展 跨平台 : Python已经经过改动被移植在许多平台上,包括Linux、Windows、FreeBSD(类UNIX操作系统),Symbian、Google基于Linux开发的android平台。Python程序可以在任何安装解释器的计算机平台上执行,因此,用该语言编写的程序可以不经修改地实现跨平台运行。 1.1 Python语言概述 Python语言的特点 强大的生态系统: Python解释器提供丰富的内置类和函数库,此外,世界各地的程序员在开源社区提供了大量成熟的第三方库。 模式多样: Python 3.0解释器内部虽然采用面向对象方式实现,但在语法层面同时支持面向过程和面向对象两种编程模式,更灵活。 1.1 Python语言概述 1.2.1安装Python 网址:https://www.python.org/downloads/。 根据操作系统(windows,Linux/UNIX,macOS)不同的python版本 1.2 Python语言开发环境配置 1.2 Python语言开发环境配置   选中“Add Python 3.* to PATH”复选框,并使用默认的安装路径,单击“Install Now”选项,这时进入系统安装过程,安装完成后单击close按钮即可。如果要设置安装路径和其他特性,可以选择“Customize installation”自定义安装选项。 1.2 Python语言开发环境配置 1.2.2启动Python解释器和集成开发环境 启动命令行形式的Python解释器 在Windows系统下,选择“开始”→“所有程序”→“Python 3.11”→“Python 3.11( 64-bit)”来启动命令行形式的Python解释器 1.2 Python语言开发环境配置 其中“>>>”是Python解释器的提示符,在提示符后输入一条语句敲回车键后,将会立即显示运行结果 Python 3.8 manuals 使用手册 python module docs有什么用? 让别人用你的模块时了解你的模块功能、接口等等 10 1.2.2启动Python解释器和集成开发环境 启动图形用户界面的Python集成开发环境(IDLE) 在Windows系统下,选择“开始”→“所有程序”→“Python 3.11”→“IDLE(Python 3.811 64-bit)” Python集成开发环境(IDLE)是图形用户界面,集程序编辑、解释、执行于一体,是一个集成开发环境,可以提高编程的效率。 1.2 Python语言开发环境配置 1.2.3 运行Python程序 交互式:在启动命令行形式和图形用户界面形式下都可在提示符(>>>)后输入语句。例如,先在提示符>>>后输入一个输出语句,下一行将接着输出结果。 >>> print("Hello,World!") Hello,World! >>> print(1+3/4) 1.75 1.2 Python语言开发环境配置 1.2.3 运行Python程序 文件式:在Python解释器图形用户界面窗口,选择“File”→“New File”命令,或按Ctrl+N键,打开程序编辑窗口,如图所示。 在程序编辑窗口输入程序的全部语句,例如输入语句: print("Hello,World!")   语句输入完成后,在Python程序编辑窗口选择“File”→“Save”命令,确定保存文件位置和文件名,例如e:\mypython\hello.py。   在Python程序的编辑窗口选择“Run”→“Run Module”命令,或按F5键,运行程序并在Python解释器图形用户界面窗口中输出运行结果。 1.2 Python语言开发环境配置 1.3.1 变量 一般定义:在程序运行过程中,其值可以改变的量称为变量。变量就是存储数据的容器(若干字节的存储单元),可用来存放数据,并通过变量名来操作数据。 在Python中,不仅变量的值可以变化,变量的类型也可以变化。 在Python语言中,变量不需要声明其数据类型,每个变量在使用之前通过赋值的动作,创建并开辟内存空间,并保存值。如果没有赋值而直接使用,会抛出变量未定义的异常。系统根据所赋的值,自动确定其数据类型。 1.3 常量和变量 1.3.1 变量 单个赋值,例如: >>> a=12 #单个直接赋值,创建变量a,给12分配内存空间,让a指向12 >>> id(a) #查看a的内存地址 8791371028592 >>> a=a+1 #先计算出和13,把13赋给 a,给13分配内存空间,a指向13 >>> id(a) #不再指向12。Python具有内存自动管理功能,对于没有 8791371028624 # 任何变量指向的值,将自动删除,回收内存空间 基于值的内存管理方式,Python会为每个出现的值分配内存空间 1.3 常量和变量 1.3.1 变量 多个批量赋值和分别赋值。例如 >>> b=c=12.34 #多个批量赋值,只给12.34分配内存空间 >>> id(b),id(c) #查看b和c的地址,两个变量指向同一个值 (50852336, 50852336) >>> x,y,z=34,3.5,"China" #分别赋值 >>> type(x) #x是整型(int)变量 <class 'int'> >>> type(y) #y是浮点型(float)变量 <class 'float'> >>> type(z) #z是字符串型(string)变量 <class 'str'> 1.3 常量和变量 1.3.1 变量 >>> a=1.0 >>> b=1.0 >>> id(a) 47789136 >>> id(b) 50852304 >>> a=1 >>> b=1 >>> id(a) 8791371028240 >>> id(b) 8791371028240 1.3 常量和变量 Python会为每个出现的值分配内存空间,哪怕它们的值相等 对于1这样简单的数值小的int类型对象,Python就只会为1分配一次内存空间,a和b均指向它,所以a和b的内存地址相同 1.3.1 变量 开发人员一般情况下不需要考虑内存管理问题,只要知道: 赋值的形式,通过赋值就定义好了变量: 单个赋值:a=3 多个批量赋值: b=c=3.4 分别赋值: d,e,f=34,3.5,"China" 1.3 常量和变量 Python中对变量描述错误的选项是() A、Python不需要显式声明变量类型,在第一次变量赋值时由值决定变量的类型        B、变量通过变量名访问 C、变量必须在创建和赋值后使用   D、变量PI与变量Pi被看作相同的变量 正确答案:D 1.3.2 常量 在程序运行过程中,其值不能改变的数据对象称为常量(constant) 在字面上就能区分是什么类型的常量 35----整型 3.14----浮点型 “Hello World”----字符串型 还有很多其他类型 1.3 常量和变量 1.3.3 关键字和标识符 关键字(key word),就是Python语言中事先定义的、具有特定含义的标识符,又称保留字。关键字不允许另作它用,否则执行时会出现语法错误。 查看所有Python关键字,语句如下: >>> import keyword >>> print(keyword.kwlist) 1.3 常量和变量 以下不属于Python语言保留字的是() A、class B、pass C、sub D、def 正确答案:C 1.3.3 关键字和标识符 计算机程序处理的对象是数据,程序是描述数据处理的过程。在程序中,通过名称建立对象与使用的关系。这个名称就是标识符。 具体命名规则如下。 (1)由字母、数字、下划线_等组成,首字符不能是数字。 (2)标识符中的字母是严格区分大小写的。 (3)标识符不能与关键字一样。 (4)Python 3系列的标识符可以采用中文等非英语语言字符,但存在输入法的切换、平台编码支持、跨平台兼容等问题,从编程习惯和兼容性角度考虑,一般不建议用中文做标识符。 1.3 常量和变量 以下变量名中,符合Python语言变量命名规则的是() A、33_keyword B、key@word33_ C、nonlocal   D、_33keyword 正确答案:D 在Python语言中,不能作为变量名的是( ) A、student B、_bmg C、5sp D、Teacher 正确答案:C 1.4 Python数据类型 第5章 第6章 1.4.1 数值类型 1.整型数据(int) 整数,有正整数、负整数和0,和数学中的整数概念一样。一般认为整型没有取值范围限制。 1.4 Python数据类型 进制 引导符号 描述 十进制 无 默认情况,例如0、-4、100 二进制 0b或0B 由0和1组成,例如0b1010、0B110 八进制 0o或0O 由0到7组成,例如0o101,-0O12 十六进制 0x或0X 由0到9,A到F组成,例如0x41,0XABC 以下选项中非数字的是() A、0a123 B、0b101 C、0o123 D、0x123 正确答案:A 1.4.1 数值类型 2.浮点型 与数学中的实数概念一样,有两种表示形式: (1)十进制小数形式。 它由数字和小数点组成,如3.23、3. .5 (2)指数形式。指数形式即用科学计数法表示的浮点数。 例如,45e-5、45e-6、9.34e2是合法的浮点型常量,分别代表45×10-5、45×10-6、9.34×102。 1.4 Python数据类型 以下是print(type(12.00))的运行结果的是() A、<class ‘complex’> B、<class ‘float’> C、<class ‘int’>    D、<class ‘bool’> 正确答案:B 以下关于浮点数3.0和整数3的描述,正确的是() A、两者使用相同的硬件执行单元 B、两者使用相同的计算机指令处理方法 C、两者是相同的数据类型 D、两者具有相同的值 正确答案:D 1.4.1 数值类型 3.复数型 a+bJ   其中a是复数的实部,b是复数的虚部,J表示-1的平方根(虚数单位)。J也可以写成小写j,注意不是数学上的i。   可以通过x.real和x.imag来分别获取复数x的实部和虚部,结果都是浮点型。 1.4 Python数据类型 >>>a=3+4j >>>a.real 3.0 >>>a.imag 4.0 以下关于Python语言复数类型的描述中,错误的是() A、复数可以进行四则运算 B、实数部分不可以为0 C、Python语言中可以使用z.real和z.imag分别获取复数z的实数部分和虚数部分 D、复数类型与数学中复数的概念一致 正确答案:B 关于Python复数类型的描述,以下选项错误的是() A、实数部分和虚数部分都是浮点数 B、虚数部分通过“j”或“J”来表示 C、对于复数x,可以使用x.real获得x的虚数部分 D、虚数部分为1时,1不能省略 正确答案:C 1.4.1 数值类型 4.布尔类型 也叫逻辑类型,有 True(真或对)或False(假或错)两个值 值为真或假的表达式称为布尔表达式,Python的布尔表达式包括关系表达式和逻辑表达式。例如: 1.4 Python数据类型 >>> x=3 >>> y=4 >>> x>y #关系表达式 False >>> x<y and x+y>0 #逻辑表达式 True 它们通常用来在程序中表示条件,条件满足结果为True,不满足结果为False。 Python语言提供三种基本的数字类型,它们是() A、整数类型、浮点数类型、复数类型 B、整数类型、二进制类型、浮点数类型 C、整数类型、二进制类型、布尔类型 D、整数类型、二进制类型、复数类型 正确答案:A 1.4.2 复合数据类型---字符串 文本在程序中用字符串(string)类型表示。字符串是由0个或多个字符组成的有序字符序列,用单引号、双引号或三引号(三单引号或三双引号)括起来。 1.4 Python数据类型 例 1-1 不同形式的字符串 str1='Python' #单引号为定界符 str2="Python" #双引号为定界符 str3='我喜欢用"Python"语言编程' #若字符串中本身就有双引号,就用单引号定界,反之亦然 str4='''少年智则国智 少年富则国富 少年强则国强 少年进步则国进步''' #三单引号为定界符,可表示多行字符串 print(str1,str2,str3) print(str4) 1.4.2 复合数据类型---字符串 转义字符以反斜杠“\”开头,后面跟字符或数字。转义字符具有特定的含义,不同于字符原有的意义,故称转义字符,主要用来表示那些用一般字符不便于表示的控制代码。 1.4 Python数据类型 转义符 含义 转义符 含义 \" 双引号 换行符 \' 单引号 \t 制表符 \\ 反斜杠 \b 退格 \a 响铃 \r 回车符 \ddd 1~3位八进制数表示的ASCII码所代表的字符 \xhh 1~2位十六进制数表示的ASCII码所代表的字符 下列转义字符能够实现换行的是() A、 \b B、 C、\r D、\t 正确答案:B 1.4.2 复合数据类型---字符串 3.基本的字符串函数 (1)eval()函数  与字符串有关的一个重要函数,把字符串的内容作为对应的Python语句来执行。其调用格式为:   eval(字符串) (2)len()函数   len()函数返回字符串的长度,即字符串中所包含的字符个数,其调用格式为:   len(字符串) 1.4 Python数据类型 1.4.2 复合数据类型---字符串 >>> a=5 >>> eval("a+1") #相当于直接执行a+1 6 >>> eval("3+4") #相当于直接执行a+1 7 >>> len("abc") 3 >>> len("字符串长度") 5 1.4 Python数据类型 例题:从键盘输入一个的学生的三门成绩,求这个学生的总分与平均分 a=eval(input('请输入第1门课程的成绩:')) b=eval(input('请输入第2门课程的成绩:')) c=eval(input('请输入第3门课程的成绩:')) sum=a+b+c ave=sum/3 print('总分={0:.2f},平均分={1:.2f}'.format(sum,ave)) 1.4 Python数据类型 input函数 (课本P33 ) input([提示字符串]):从键盘读取一行数据并返回一个字符串。 >>> x=input() 12 >>> x '12' >>> x=int(input()) 12 >>> x 12 int()函数将字符串转为整数 >>> x,y=eval(input()) 3,4 >>> x 3 >>> y 4 输入”3,4”,经过eval()函数处理变为:3,4 x,y=3,4 1.4 Python数据类型 print函数(课本P36) print(输出项1,输出项2,…,sep=分隔符,end=结束符) sep缺省为空格,end缺省为回车 a,b=10,20 print(a,b) print(a,b,sep=',') print(a,b,sep=',',end='*') print("hello") print(a,b,sep=',',end='') print("hello") 10 20 10,20 10,20*hello 10,20hello 1.4 Python数据类型 字符串的格式化 print('总分={0:.2f},平均分={1:.2f}'.format(sum,ave)) 模板字符串.format(参数0,参数1,参数2…) 模板字符串是由普通字符和多个占位符“{}”组成,将模板字符串中的占位符用format中的参数替换 {<参数序号>:<填充字符><对齐方式><输出宽度><,><.精度><类型>} 1.4 Python数据类型 1.4.3 其他复合数据类型 基本数据类型:仅能表示一个数据,不可分解为其他类型的。 复合数据类型:将多个数据组织起来并统一表示。 列表、元组、字典和集合类型的数据包含多个相互关联的数据元素,所以称它们为复合数据类型。 列表、元组和字符串是有顺序的数据元素的集合体,称作序列(sequence)。序列可以通过各数据元素在序列中的位置编号(索引)来访问数据元素。字典和集合属于无顺序的数据集合体,不能通过位置编号来访问数据元素。 1.4 Python数据类型 1.列表   列表(list)是写在中括号[]之间、用逗号分隔的元素序列,元素的类型可以不相同,可以是数字、单个字符、字符串甚至可以包含列表(所谓嵌套)。例如: >>> mlist=['brenden',45.3,911,'john',32] 列表中的元素是可以改变的。例如: >>> a=[1,2,3,4,5,6] >>> a[0]=9 >>> a [9, 2, 3, 4, 5, 6] 1.4.3 其他复合数据类型 1.4 Python数据类型 2.元组   元组(tuple)是写在小括号之间、用逗号隔开的元素序列。元组中的元素类型也可以不相同。元组与列表类似,不同之处在于元组的元素不能修改,相当于只读列表。例如: >>> mtuple=('brenden',45.3,911,'john',32) 要注意一些特殊元组的表示方法。空的圆括号表示空元组。当元组只有一个元素时,必须以逗号结尾。 1.4.3 其他复合数据类型 1.4 Python数据类型 任何一组以逗号分隔的对象,当省略标识序列的括号时,默认为元组。例如: >>> 2,3,4 (2, 3, 4) 元组和列表有几点重要的区别。列表元素用中括号[]括起来,且元素的个数及元素的值可以改变。元组元素用小括号()括起来,且不可以更改。元组可以看成是只读的列表。 1.4.3 其他复合数据类型 1.4 Python数据类型 3.字典 字典(dict)是用花括号{}括起来的、用逗号分隔的元素集合,其元素由关键字和值组成,形式为:“关键字:值”。 1.4.3 其他复合数据类型 1.4 Python数据类型 >>> mdict={"学号":2022,"姓名":"张三","性别":"男","年龄":18} >>> print(mdict["年龄"]) 18 >>> mdict["年龄"]=19 #把年龄改为19 >>> mdict["班级"]="22计科1班" #增加一个键值对 >>> print(mdict) {'学号': 2022, '姓名': '张三', '性别': '男', '年龄': 19, '班级': '22计科1班'} 4.集合 集合(set)是包含0个或多个数据元素的无序且不重复的数据类型。它的基本功能是进行成员关系测试和消除重复元素。可以用花括号{}或set()函数创建集合。student={'Tom','Jim','Mary','Tom','Jack','Rose'} >>> mset={1,2,3,3,4} >>> print(mset) #会去掉重复的元素 {1, 2, 3, 4} >>> nset=set("hello") >>> print(nset) {'o', 'h', 'l', 'e'} 1.4 Python数据类型 1.5.1 算术运算符与算术表达式 Python的算术运算符有: +(加)、-(减)、*(乘)、/(除)、//(整除)、%(求余)、**(乘方) 1.5 数值类型的运算 运算符 说明 举例 x+y x与y之和 2+3(结果是5) 2+3.0(结果是5.0) x-y x与y之差 2-3(结果是-1) x*y x与y之积 2*3(结果是6) x/y x与y之商(商是浮点型) 5/2(结果是2.5) 4/2(结果是2.0) x//y x与y之整数商,即不大于x与y之商的最大整数 5//2(结果是2) -5//2(结果是-3) 5//2.0(结果是2.0) x%y x与y之商的余数,也称为模运算 10%4(结果是2) 5%3.0(结果是2.0) x**y x的y次幂,即xy 5**2(结果是25) 25**0.5(结果是5.0)   /、//和%运算符都是做除法运算, “/”运算符做一般意义上的除法,其运算结果是一个浮点数,即使被除数和除数都是整型,也返回一个浮点数; 8/4=? “//”运算符做除法运算后返回商的整数部分。如果分子或者分母是浮点型,它返回的值将会是浮点类型;5//3=? 5//3.0=? “%”运算符做除法运算后返回余数。 “**”运算符实现乘方运算,其优先级高于乘除运算,乘除运算优先级高于加减运算。 4*5/2**3=? 1.5.1 算术运算符与算术表达式 1.5 数值类型的运算 “1234”+1234的计算结果的是() A、“1234”+1234 B、“12341234” C、2468 D、提示类型错误,无法运行 正确答案:D 以下代码的输出结果是() print(0.1+0.2==0.3) A、-1 B、True C、False D、0 正确答案:C 1.5.1 算术运算符与算术表达式 由算术运算符将数值类型的变量连接起来就构成了算术表达式,它的计算结果是一个数值。不同类型的数据进行运算时,这些数据类型应当是兼容的,并遵循运算符的优先级规则。 算术表达式的所有字符都必须写在一行,特别是分数、乘方、带有下标的变量等。例如c=a2+b2应写成c=a**2+b**2 要根据运算符的优先级,合理地加括号,以保证运算顺序的正确性。特别是分数中的分子分母有加减运算时,或分母有乘法运算,要加括号。 1.5 数值类型的运算 1.5.2 数值运算函数 1.5 数值类型的运算 函数 说明 abs(x) 返回数字x的绝对值或复数x的模 divmod(x,y) 返回包含商和余数的元组,即(x//y,x%y) max(x1,x2,..xn) 返回x1,x2,..xn的最大值,n没有限制 min(x1,x2,..xn) 返回x1,x2,..xn的最小值,n没有限制 pow(x,y[,z]) 返回(x**y%z),[]表示该参数可省略,即pow(x,y),返回x**y,即x的y次幂 round(x[,n]) 对x四舍五入,保留n位小数。n默认为0,即返回x四舍五入的整数值 1.5.3 数值类型转换函数(内置函数) 1.5 数值类型的运算 函数 说明 bin(x) 将整数x转换为二进制字符串 oct(x) 将整数x转换为八进制字符串 hex(x) 将整数x转换为十六进制字符串 int(x) 若x是浮点数,返回其整数部分(注意不是四舍五入) 若x是字符串(必须是整数字符串,否则报错),则返回对应的整数 float(x) 若x是整数,返回浮点数x 若x是字符串(必须是数字字符串),则返回对应的浮点数 complex(re[,im]) 生成一个复数,re为实部,im为虚部(缺省为0) 下列函数不能实现类型转换的是() A、str() B、type() C、int() D、float() 正确答案:B 下面是Python的内置函数的是() A、linspace(a,b,s) B、eye(n) C、bool(x)    D、fabs(x) 正确答案:C 1.6 常用系统函数 Python语言有标准库和第三方库两类,第三方库需要安装后才能使用。每个标准库中定义了很多函数,这些函数称为系统函数。任何程序都可直接或间接地调用这些函数。在调用系统函数之前,先要用import语句导入库,格式为: import 库名 或 import 库名 as 别名 from 库名 import 函数名1,函数名2… from 库名 import * 数学库模块(math):数学运算函数 随机数模块(random):生成随机数的函数 时间(time): 日历(calendar):处理日期和时间的函数。 >>> import math >>> math.sqrt(2) 1.4142135623730951 >>> from math import sqrt >>> sqrt(2) 1.4142135623730951 如果希望导入模块中的所有函数定义,则函数名用“*”。格式如下: from 模块名 import * 后两种方法不用加模块名.虽然方便,但推荐第一种,会引起混乱。 以下属于Python中导入语句的是() A、class B、return C、import D、print 正确答案:C 1.6.1 math函数库 (1)数学常量 e:自然对数 pi:圆周率 (2)数值表示函数 fabs(x): 返回x的绝对值(返回值为浮点数) fmod(x,y):返回x与y的模,即x/y的余数(返回值为浮点数) floor(x):对x向下取整,返回不大于x的最大整数 ceil(x): 对x向上取整,返回不小于x的最小整数 gcd(a,b):返回a与b的最大公约数 1.6 常用系统函数 >>> import math >>> math.sqrt(2) 1.4142135623730951 >>> math.pow(2,1/2) 1.4142135623730951 61 1.6.1 math函数库 (3)幂对数函数 pow(x,y):返回x的y次幂 exp(x):返回e的x次幂,e是自然对数 sqrt(x):返回x的平方根 log(x[,base]):返回x的对数值即logbase x,缺省base时,返回x的自然对数ln x 1.6 常用系统函数 1.6.1 math函数库 .(4)三角运算函数 degree(x):将弧度转换为角度 radian(x):将角度转换为弧度 sin(x):返回x的正弦值,x为弧度 cos(x):返回x的余弦值,x为弧度 tan(x):返回x的正切值,x为弧度 asin(x):返回x的反正弦值,返回值为弧度 acos(x):返回x的反余弦值,返回值为弧度 atan(x): 返回x的反正切值,返回值为弧度 1.6 常用系统函数 例题 从键盘输入圆的半径,求圆的周长、面积和体积。 import math r=eval(input('请输入圆的半径:')) area=math.pi*r**2 len=2*math.pi*r vol=4/3*math.pi*r**3 print('面积={0:.6f},周长={1:.6f},体积={2:.6f}'.format(area,len,vol)) 1.6 常用系统函数 例题 import math a,b,c=eval(input("请输入一元二次方程的3个系数a,b,c:")) x1=(-b+math.sqrt(b*b-4*a*c))/(2*a) x2=(-b+math.sqrt(b*b-4*a*c))/(2*a) print("x1=",x1,"x2=",x2) 1.6 常用系统函数 (1)随机数种子:seed(x) X为种子,只要种子相同,每次生成的随机数序列也相;缺省x为随机数,随机数完全不可重现 (2)随机挑选和排序 (3)生成随机数 random():随机生成一个[0.0,1.0)之间的小数 randint(a,b):随机生成一个[a,b]之间的整数 randrange(a,b[,c]):随机生成一个[a,b)之间以c(缺省为1)为步长的随机整数 uniform(a,b):随机生成一个[a,b]之间的小数 1.6.2 random函数库 1.6 常用系统函数 >>> random.seed(4) >>> random.randint(1,6) 2 >>> random.randint(1,6) 3 >>> random.randint(1,6) 1 >>> random.seed(time.time()) >>> random.random() 0.6185156706459451 >>> random.random() 0.3172989452017847 >>> random.random() 0.207274437984716 >>> 66 1.6.3 time函数库 时间获取函数:time(),localtime([secs]),ctime(),gmtime()、mktime() 时间格式化函数:strftime(),strptime() 程序计时函数:sleep(),perf_counter() 1.6 常用系统函数 67 1.6.3 time函数库 时间获取函数:  time():返回当前时间的时间戳(浮点数)。时间戳是从Epoch(1970年1月1日00:00:00 UTC)开始经过的秒数。 localtime([secs]):接收从Epoch开始的秒数,并返回一个时间元组。时间元组包含9个元素,相当于struct_time结构。省略秒数secs时,返回当前时间戳对应的时间元组。 ctime([secs]):省略秒数secs时,获取系统当前时间(北京时间),返回一个以易读方式表示的时间字符串。否则返回从Epoch开始,经过secs秒后的时间字符串。 gmtime():获取当前时间(英国格林尼治时间),返回一个程序可处理的时间格式 1.6 常用系统函数 68 >>> import time >>> time.time() 1678376004.6912215 >>> time.localtime() time.struct_time(tm_year=2023, tm_mon=3, tm_mday=9, tm_hour=23, tm_min=33, tm_sec=37, tm_wday=3, tm_yday=68, tm_isdst=0) >>> time.gmtime() time.struct_time(tm_year=2023, tm_mon=3, tm_mday=9, tm_hour=15, tm_min=33, tm_sec=52, tm_wday=3, tm_yday=68, tm_isdst=0) >>> time.ctime() 'Thu Mar 9 23:35:06 2023' 1.6.3 time函数库 时间格式化函数: strftime(tpl,ts) :时间转字符串 tpl是格式化模板字符串,用来定义输出的效果,ts是时间类型的变量,ts的值由函数gmtime()或localtime(()获取。 >>> import time >>> t=time.localtime() >>> time.strftime("%Y-%m-%d %H:%M:%S",t) '2022-11-11 17:34:31' 1.6 常用系统函数 1.6.3 time函数库 时间格式化函数: strptime(str, tpl): 字符串转时间 strptime函数的功能是将字符串解析为给定格式的日期时间对象。str是字符串形式的时间值, tpl是格式化模板字符串,用来定义输入效果 >>> tstr="2022-11-11 18:24:24" #tstr是一个字符串形式的时间 >>> time.strptime(tstr,"%Y-%m-%d %H:%M:%S") #把tstr转换为指定格式的时间 time.struct_time(tm_year=2022, tm_mon=11, tm_mday=11, tm_hour=18, tm_min=24, tm_sec=24, tm_wday=4, tm_yday=315, tm_isdst=-1) 1.6 常用系统函数 1.6.4 calendar函数库 日历(calendar)模块提供与日历相关的功能。在默认情况下,日历把星期一作为一周的第一天,星期日为最后一天。要改变这种设置,可以调用setfirstweekday()函数。 firstweekday():返回当前的星期开始工作日 isleap(year):判断year是否为闰年True或False leapdays(y1,y2):返回y1到y2年间的闰年数 setfirstweekday(weekday):0`6,代表周一到周日 calendar(year):返回指定年份的日历 month(year,month):返回某年某月的日历 1.6 常用系统函数 import calendar x=calendar.calendar(2024) print(x) y=calendar.month(2024,3) print(y) 1.7 常用系统函数应用举例 【例 1‑2】模拟打印下载进度条 import time import random random.seed() start=time.perf_counter() for i in range(11): a=random.random() time.sleep(a) print("已下载",i/10*100,"%") end=time.perf_counter() print("总计用时",end-start,"秒 ") 1.7 常用系统函数应用举例 【例 1‑4】把当前系统的当月日历和当前时间打印输出。 import calendar import time t=time.localtime() y=t.tm_year m=t.tm_mon print(time.strftime("%Y年%m月的日历为",t)) print(calendar.month(y,m)) print(time.strftime("现在时间是北京时间:%H:%M:%S %p",t)) $$

资源预览图

第1章  Python语言基础(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
1
第1章  Python语言基础(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
2
第1章  Python语言基础(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
3
第1章  Python语言基础(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
4
第1章  Python语言基础(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
5
第1章  Python语言基础(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。