python基础
- python基础
- 第一单元 Python解释器和IDE的安装和初步使用
- 第二单元 Python中变量及简单数据类型
- 第三单元 判断语句
- 第四单元 循环语句和跳转语句
-
- **一、昨日知识点回顾**
- **二、本单元知识点概述**
- **三、本单元教学目标**
- **四、本单元知识详讲**
- **五、本单元知识总结**
- **六、作业安排**
- **一、昨日知识点回顾**
- **二、本单元知识点概述**
- **三、本单元教学目标**
- **四、本单元知识详讲**
-
- 5.1 字符串的介绍
- 5.2 字符串的输入与输出
- 5.3 下标索引
- 5.4 字符串的切片介绍
- 5.5 字符串中常见操作方法
-
- 5.5.1 index() 方法及案例讲解 ★★★★★
- 5.5.2 count() 方法及案例讲解 ★★★★★
- 5.5.3 replace()方法及案例讲解 ★★★★★
- 5.5.4 split()方法与其他常见方法及案例讲解 ★★★★★
-
-
- 1.split():拆分字符串。通过指定分隔符sep对字符串进行分割,并返回分割后的字符串列表。
- 2.capitalize(): 将字符串的第一个字母变成大写,其余字母变为小写。
- 3.title(): 返回一个满足标题格式的字符串。即所有英文单词首字母大写,其余英文字母小写。
- 4.lower(): 将字符串中的所有大写字母转换为小写字母。
- 5.upper(): 将字符串中的所有小写字母转换为大写字母。
- 6.center(): 返回一个长度为width,两边用fillchar(单字符)填充的字符串,即字符串str居中,两边用fillchar填充。若字符串的长度大于width,则直接返回字符串str。
- 7.ljust(): 返回一个原字符串左对齐,并使用fillchar填充(默认为空格)至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。
- 8.rjust(): 返回一个原字符串右对齐,并使用fillchar填充(默认为空格)至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。
- 9.find(): 找字符串中指定的子字符串sub第一次出现的位置,可以规定字符串的索引查找范围。若无则返回 -1。
- 10.rfind(): 查找字符串中指定的子字符串sub最后一次出现的位置,可以规定字符串的索引查找范围。若无则返回 -1。
- 11. endswith(): 判断字符串是否以指定字符或子字符串结尾。
- 12.startswith(): 判断字符串是否以指定字符或子字符串开头。
- 13.isalnum(): 检测字符串是否由字母和数字组成。str中至少有一个字符且所有字符都是字母或数字则返回 True,否则返回 False
- 14.isalpha(): 检测字符串是否只由字母组成。字符串中至少有一个字符且所有字符都是字母则返回 True,否则返回 False。
- 15.isdigit(): 检测字符串是否只由数字组成.字符串中至少有一个字符且所有字符都是数字则返回 True,否则返回 False。
- 16.islower(): 检测字符串中的字母是否全由小写字母组成。(字符串中可包含非字母字符)字符串中包含至少一个区分大小写的字符,且所有这些区分大小写的字符都是小写,则返回 True,否则返回 False。
- 17.isupper(): 检测字符串中的字母是否全由大写字母组成。(字符串中可包含非字母字符)。字符串中包含至少一个区分大小写的字符,且所有这些区分大小写的字符都是大写,则返回 True,否则返回 False。
- 18.isspace(): 检测字符串是否只由空格组成。若字符串中只包含空格,则返回 True,否则返回 False。
- 19.istitle(): 检测判断字符串中所有单词的首字母是否为大写,且其它字母是否为小写,字符串中可以存在其它非字母的字符。若字符串中所有单词的首字母为大写,且其它字母为小写,则返回 True,否则返回 False.
- 20.strip(): 该函数的作用是去除字符串开头和结尾处指定的字符,不会去除字符串中间对应的字符
- 21.lstrip(): lstrip() 方法用于截掉字符串左边的空格或指定字符。
- 22.rstrip(): 删除 str 字符串末尾的指定字符(默认为空格)
- 23.join(): 将iterable变量的每一个元素后增加一个str字符串。
-
- **五、本单元知识总结**
- 六、作业安排
- 第六单元 常见数据类型之列表常见操作
- 第七单元 常见数据类型之元组与字典
- 第八单元 常见数据类型之集合与公共方法和内置函数
- 第九单元 函数基础
- 第十单元 函数高级
- 第十一单元 函数实战
- 第十二单元 文件的相关操作
- 第十三单元 面向对象基本概念与实现
- 第十四单元 面向对象-常用魔法方法及综合扩展案例
- 第十五单元 面向对象-继承
- 第十六单元 面向对象-相关属性和方法
- 第十七单元 单例模式及异常捕获
- 第十八单元 模块和线上图书综合管理系统实战
python基础
第一单元 Python解释器和IDE的安装和初步使用
一、昨日知识点回顾
二、本单元知识点概述
(Ⅰ)指定教材
引用自指定教材《零基础学Python全彩版》,第1章 初识Python,页码区间<1,22>页
(Ⅱ)知识点概述
(Ⅲ)教学时长
共4课时,180分钟
三、本单元教学目标
(Ⅰ)重点知识目标
1.Python的应用领域
2.Python安装
3.Pycharm安装
4.Pycharm中创建项目名称、包名、项目存放地址
5.使用Pycharm输出第一个Python“Hello World”程序
(Ⅱ)能力目标
1.能够对Python编程语言有初步了解
2.能够独立搭建Python开发环境
3.能够写出简单的输出字符串的程序
四、本单元知识详讲
1.1 计算机介绍
1.1.1 计算机发展史 ★★
第一台计算机
第一台计算机介绍
诞生原因:美国奥伯丁武器试验场为了满足计算弹道需要而研制成的
诞生时间:1946年2月14日
名字:ENIAC
组成元件:电子管
地点:宾夕法尼亚大学
计算机之父:约翰.冯·诺依曼
计算机之父介绍
简介:冯·诺依曼(1903-1957),美藉匈牙利人,物理学家,数学家,发明家,在发明电子计算机中所起到关键性作用,提出计算机内部以二进制数形式进行存储,基本工作原理是存储程序和程序控制,冯·诺依曼被称为“计算机之父”。
1.1.2 计算机组成 ★★★
用手机作类比,计算机由硬件和软件组成
计算机的硬件组成部分
概念:是组成计算机系统的各种物理设备的总称(看得见,摸得着的)
组成:
输入设备:鼠标、键盘、摄像头、麦克风
输出设备:显示器、音响、打印机
运算器:计算机中执行各种算术和逻辑运算操作的部件
控制器:是整个计算机系统的控制中心,它指挥计算机各部分协调的工作,保证计算机按照预先规定的目标和步骤有条不紊的进行操作及处理。运算器和控制器统称为中央处理器(CPU)
存储器:是计算机系统中的记忆设备,用来存放程序和数据。分为内存和外存
计算机的软件组成部分
概念:计算机软件(Computer Software,也称软件,软体)是指计算机系统中的程序及其文档
分类:
系统软件:操作系统(OS)
操作系统:Windows,Linux,Mac,DOS,Unix,Android,IOS
应用软件:QQ、微信、office办公软件、游戏软件
1.2 Python概述
1.2.1 了解Python语言 ★★
Python的作者,Guido van Rossum(吉多·范·罗苏姆,中国Python程序员都叫他 龟叔),荷兰人。1982年,龟叔从阿姆斯特丹大学获得了数学和计算机硕士学位。然而,尽管他算得上是一位数学家,但他更加享受计算机带来的乐趣。用他的话说,虽然拥有数学和计算机双料资质,他总趋向于做计算机相关的工作,并热衷于做任何和编程相关的事情。
Python就是一门编程语言,而且是现在世界上最流行的编程语言之一。
1.2.2 Python的应用领域 ★★★
Web开发
Python经常被用于Web开发。比如,通过mod_wsgi模块,Apache可以运行用Python编写的Web程序。Python定义了WSGI标准应用接口来协调Http服务器与基于Python的Web程序之间的通信。一些Web框架,如Django,TurboGears,web2py,Zope等,可以让程序员轻松地开发和管理复杂的Web程序。
自动化运维开发
在很多操作系统里,Python是标准的系统组件。 大多数Linux发行版以及NetBSD、OpenBSD和Mac OS X都集成了Python,可以在终端下直接运行Python。有一些Linux发行版的安装器使用Python语言编写,比如Ubuntu的Ubiquity安装器,Red Hat Linux和Fedora的Anaconda安装器。Gentoo Linux使用Python来编写它的Portage包管理系统。Python标准库包含了多个调用操作系统功能的库。通过pywin32这个第三方软件 包,Python能够访问Windows的COM服务及其它Windows API。使用IronPython,Python程序能够直接调用.Net Framework。一般说来,Python编写的系统管理脚本在可读性、性能、代码重用度、扩展性几方面都优于普通的shell脚本。
网络爬虫
Python有大量的HTTP请求处理库和HTML解析库,并且有成熟高效的爬虫框架Scrapy和分布式解决方案scrapy-redis,在爬虫的应用方面非常广泛。
科学计算
NumPy、SciPy、Pandas、Matplotlib可以让Python程序员编写科学计算程序。
服务器软件(网络软件)
Python对于各种网络协议的支持很完善,因此经常被用于编写服务器软件、网络爬虫。第三方库Twisted支持异步网络编程和多数标准的网络协议(包含客户端和服务器),并且提供了多种工具,被广泛用于编写高性能的服务器软件。
游戏开发
很多游戏使用C++编写图形显示等高性能模块,而使用Python或者Lua编写游戏的逻辑、服务器。相较于Python,Lua的功能更简单、体积更小;而Python则支持更多的特性和数据类型。
1.2.3 Python的版本 ★★
python自发布以来,主要有三个版本
1994年发布的 Python1.0版本(已过时)
2000年发布的 Python2.0版本
2008年发布的 Python3.0版本
1.3 Python解释器和IDE安装
1.3.1 Python安装 ★★★
1.勾选添加环境变量并安装
2.等待安装完场即可
3.点击close关闭即可
1.3.2 Pycharm安装 ★★★
1.将Pycharm安装包直接打开,点击Next进行下一步
2.勾选之后点击Next
3.点击Next进入下一步
4.直接点击Install进行安装即可
5.在该窗口勾选“Run Pycharm”,然后点击"Finish按钮"完成安装
1.4 第一个Python“Hello World”程序
1.4.1 Pycharm中创建项目名称、包名、项目存放地址 ★★★
1.打开 Pycharm,选择 Create New Project,创建一个新项目
2.选择Pure Python表示创建一个纯Python程序项目,Location 表示该项目保存的路径,Interpreter 表示使用的Python解释器版本,最后点击Create 创建项目。
3.右击项目,选择New,再选择Python File
4.在弹出的对话框中输入的文件名HelloPython,点击OK,表示创建一个Python程序的文本文件,文本文件后缀名默认.py
1.4.2 使用Pycharm输出第一个Python “Hello World”程序 ★★★
1.输入以下代码,并右击空白处,选择Run运行,表示打印一个字符串"Hello World!"。
2.运行成功后,Pycharm Console窗口将显示我们的输出结果。
五、本单元知识总结
1. Python安装
2. Pycharm使用方法
3. Pycharm输出简单的demo
六、作业安排
(Ⅰ)课后作业
1.完成练习手册第一单元,选择题,填空题,简答题、技能题
(Ⅲ)预习作业
1.预习第二单元,Python中变量及简单数据类型知识点
2.预习教材,Python语言基础
预习附录:
1.参见教材:第二章<24,54>页
第二单元 Python中变量及简单数据类型
一、昨日知识点回顾
1. 什么是Python?
2. 如何搭建Python开发环境?
3. 如何安装Python?
4. 如何安装Pycharm?
5. 如何在Pycharm中创建项目?
6. 如何在Pycharm中输出第一个‘Hello World’程序?
二、本单元知识点概述
(Ⅰ)指定教材
引用自指定教材《零基础学Python全彩版》,第2章 Python语言基础,页码区间<24,54>页
(Ⅱ)知识点概述
(Ⅲ)教学时长
共4课时,180分钟
三、本单元教学目标
(Ⅰ)重点知识目标
1.变量的定义、类型、输出
2.标识符的命名规则、命名方法、关键字
3.Python中的输入与格式化输出
4.Python中的运算符
5.Python中的常用的数据类型的转换
(Ⅱ)能力目标
1.掌握变量的定义和作用
2.掌握标识符的命名规则和命名方法
3.掌握Python输入函数和常用的格式化输出符号
4.掌握Python中运算符
5.掌握Python中常用的强转方法
四、本单元知识详讲
2.1 变量
2.1.1 变量的定义 ★★★★
在程序中,有时我们需要对2个数据进行求和,那么该怎样做呢?
大家类比一下现实生活中,比如去超市买东西,往往咱们需要一个菜篮子,用来进行存储物品,等到所有的物品都购买完成后,在收银台进行结账即可
如果在程序中,需要把2个数据,或者多个数据进行求和的话,那么就需要把这些数据先存储起来,然后把它们累加起来即可
在Python中,存储一个数据,需要一个叫做变量的东西,如下示例:
num1 = 100 # num1就是一个变量,就好一个小菜篮子
num2 = 87 # num2也是一个变量
result = num1 + num2 # 把num1和num2这两个"菜篮子"中的数据进行累加,然后放到 result变量中
说明:
-
所谓变量,可以理解为菜篮子,如果需要存储多个数据,最简单的方式是有多个变量,当然了也可以使用一个
-
程序就是用来处理数据的,而变量就是用来存储数据的
想一想:我们应该让变量占用多大的空间,保存什么样的数据?
2.1.2 变量的类型 ★★★★
生活中的类型的例子:
程序中:
怎样知道一个变量的类型呢?
- 在python中,只要定义了一个变量,而且它有数据,那么它的类型就已经确定了,不需要咱们开发者主动的去说明它的类型,系统会自动辨别
- 可以使用type(变量的名字),来查看变量的类型
2.1.3 变量的输出 ★★★
前面我们学习了变量。我们定义一个变量后,该如何输出这个变量呢?我们这时就需要print()这个函数。
如果输出内容的话,把内容添加在括号里,并用双引号引起来,像print(“Hello World!”),
如果我们输出一个变量的话,把变量名添加到括号里面就可以了。
这里我们定义一个变量name,并输出这个变量。
这个变量打印出来了,但现在我觉得,这样输出有点单调,我们可以这样,给它修改一下(图1.3),
在变量前加一些提示语,这样显得语句更通顺。
2.2 标识符
什么是标识符,看下图:
- 开发人员在程序中自定义的一些符号和名称
- 标识符是自己定义的,如变量名 、函数名等
2.2.1 标识符的命名规则 ★★★★★
-
标识符由字母、下划线和数字组成,且数字不能开头
思考:下面的标识符哪些是正确的,哪些不正确为什么
fromNo12 from#12 my_Boolean my-Boolean Obj2 2ndObj myInt test1 Mike2jack My_tExt _test test!32 haha(da)tt int jack_rose jack&rose GUI G.U.I
-
python中的标识符是区分大小写的
命名规则
见名知意
起一个有意义的名字,尽量做到看一眼就知道是什么意思(提高代码可 读性) 比如: 名字 就定义为 name , 定义学生 用 student
2.2.2 标识符的命名方法 ★★★★★
- 小驼峰式命名法(lower camel case): 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog
- 大驼峰式命名法(upper camel case): 每一个单字的首字母都采用大写字母,例如:FirstName、LastName
- 还有一种命名法是用下划线“_”来连接所有的单词,比如send_buf
Python的命令规则遵循PEP8标准,这个在后面会慢慢讲到。
2.2.3 Python中的关键字 ★★★★★
什么是关键字
python一些具有特殊功能的标识符,这就是所谓的关键字 关键字,是python已经使用的了,所以不允许开发者自己定义和关键字相同的名字的标识符
查看关键字
'False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'
可以在Python Shell通过以下命令进行查看当前系统中python的关键字
>>> import keyword
>>> keyword.kwlist
关键字的学习以及使用,咱们会在后面的课程中一一进行学习。
2.3 Python中的输入与格式化输出
2.3.1 常用的格式化输出符号的介绍★★★
格式化操作的目的
比如有以下代码:
pirnt("我今年10岁")
pirnt("我今年11岁")
pirnt("我今年12岁")
-
想一想:
在输出年龄的时候,用了多次"我今年xx岁",能否简化一下程序呢???
-
答:
字符串格式化
什么是格式化
看如下代码:
age = 10
print("我今年%d岁" % age)
age += 1
print("我今年%d岁" % age)
age += 1
print("我今年%d岁" % age)
在程序中,看到了%这样的操作符,这就是Python中格式化输出。
age = 18
name = "xiaohua"
print("我的姓名是%s, 年龄是%d" % (name, age))
常用的格式符号
下面是完整的,它可以与%符号使用列表:
格式符号 | 转换 |
---|---|
%c | 字符 |
%s | 字符串 |
%d | 有符号十进制整数 |
%u | 无符号十进制整数 |
%o | 八进制整数 |
%x | 十六进制整数(小写字母0x) |
%X | 十六进制整数(大写字母0X) |
%f | 浮点数 |
%e | 科学计数法(小写’e’) |
%E | 科学计数法(大写“E”) |
%g | %f和%e 的简写 |
%G | %f和%E的简写 |
换行输出
在输出的时候,如果有\n那么,此时\n后的内容会在另外一行显示
print("1234567890-------") # 会在一行显示
print("1234567890\n-------") # 一行显示1234567890,另外一行显示-------
练一练
编写代码完成以下名片的显示
==========我的名片==========
姓名: jiyun
QQ:xxxxxxx
手机号:185xxxxxx
公司地址:北京市xxxx
2.3.2 输入函数的介绍 ★★★★
咱们在银行ATM机器前取钱时,肯定需要输入密码,对不?
那么怎样才能让程序知道咱们刚刚输入的是什么呢??
大家应该知道了,如果要完成ATM机取钱这件事情,需要先从键盘中输入一个数据,然后用一个变量来保存,是不是很好理解啊。
在Python中,获取键盘输入的数据的方法是采用 input 函数(至于什么是函数,咱们以后的章节中讲解),那么这个 input 怎么用呢?
>>> a = input()
123
>>> a
123
>>> type(a)
<type 'int'>
>>> a = input()
abc
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1, in <module>
NameError: name 'abc' is not defined
>>> a = input()
"abc"
>>> a
'abc'
>>> type(a)
<type 'str'>
>>> a = input()
1+3
>>> a
4
>>> a = input()
"abc"+"def"
>>> a
'abcdef'
>>> value = 100
>>> a = input()
value
>>> a
100
input()接受表达式输入,并把表达式的结果赋值给等号左边的变量
2.4 Python中的运算符
2.4.1 算术运算符 ★★★★★
下面以a=10 ,b=20为例进行计算
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 | 两个对象相加 a + b 输出结果 30 |
- | 减 | 得到负数或是一个数减去另一个数 a - b 输出结果 -10 |
* | 乘 | 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200 |
/ | 除 | b / a 输出结果 2 |
// | 取整除 | 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0 |
% | 取余 | 返回除法的余数 b % a 输出结果 0 |
** | 指数 | a**b 为10的20次方, 输出结果 100000000000000000000 |
示例:
a = 21
b = 10
c = 0
c = a + b
print "1 - c 的值为:", c
c = a - b
print "2 - c 的值为:", c
c = a * b
print "3 - c 的值为:", c
c = a / b
print "4 - c 的值为:", c
c = a % b
print "5 - c 的值为:", c
# 修改变量 a 、b 、c
a = 2
b = 3
c = a**b
print "6 - c 的值为:", c
a = 10
b = 5
c = a//b
print "7 - c 的值为:", c
运行结果:
1 - c 的值为: 31
2 - c 的值为: 11
3 - c 的值为: 210
4 - c 的值为: 2
5 - c 的值为: 1
6 - c 的值为: 8
7 - c 的值为: 2
注意:混合运算时,优先级顺序为: **
高于 *
/
%
//
高于 +
-
,为了避免歧义,建议使用 ()
来处理运算符优先级。
并且,不同类型的数字在进行混合运算时,整数将会转换成浮点数进行运算。
>>> 10 + 5.5 * 2
21.0
>>> 10 + (5.5 * 2)
21.0
2.4.2 赋值运算符 ★★★★★
运算符 | 描述 | 实例 |
---|---|---|
= | 赋值运算符 | 把 = 号右边的结果 赋给 左边的变量,如 num = 1 + 2 * 3 ,结果num的值为7 |
# 单个变量赋值
>>> num = 10
>>> num
10
# 多个变量赋值
>>> num1, num2, f1, str1 = 100, 200, 3.14, "hello"
>>> num1
100
>>> num2
200
>>> f1
3.14
>>> str1
"hello"
2.4.3 复合赋值运算符 ★★★★★
运算符 | 描述 | 实例 |
---|---|---|
+= |
加法赋值运算符 | c += a 等效于 c = c + a |
-= |
减法赋值运算符 | c -= a 等效于 c = c - a |
*= |
乘法赋值运算符 | c *= a 等效于 c = c * a |
/= |
除法赋值运算符 | c /= a 等效于 c = c / a |
%= |
取模赋值运算符 | c %= a 等效于 c = c % a |
**= |
幂赋值运算符 | c **= a 等效于 c = c ** a |
//= |
取整除赋值运算符 | c //= a 等效于 c = c // a |
示例:
a = 21
b = 10
c = 0
c = a + b
print "1 - c 的值为:", c
c += a
print "2 - c 的值为:", c
c *= a
print "3 - c 的值为:", c
c /= a
print "4 - c 的值为:", c
c = 2
c %= a
print "5 - c 的值为:", c
c **= a
print "6 - c 的值为:", c
c //= a
print "7 - c 的值为:", c
运算结果:
1 - c 的值为: 31
2 - c 的值为: 52
3 - c 的值为: 1092
4 - c 的值为: 52
5 - c 的值为: 2
6 - c 的值为: 2097152
7 - c 的值为: 99864
2.5 Python中常见的数据类型转换
2.5.1 掌握常用的强转方法 ★★★★★
常用的数据类型转换
函数 | 说明 |
---|---|
int(x [,base ]) | 将x转换为一个整数 |
float(x ) | 将x转换为一个浮点数 |
complex(real [,imag ]) | 创建一个复数,real为实部,imag为虚部 |
str(x ) | 将对象 x 转换为字符串 |
repr(x ) | 将对象 x 转换为表达式字符串 |
eval(str ) | 用来计算在字符串中的有效Python表达式,并返回一个对象 |
tuple(s ) | 将序列 s 转换为一个元组 |
list(s ) | 将序列 s 转换为一个列表 |
chr(x ) | 将一个整数转换为一个Unicode字符 |
ord(x ) | 将一个字符转换为它的ASCII整数值 |
hex(x ) | 将一个整数转换为一个十六进制字符串 |
oct(x ) | 将一个整数转换为一个八进制字符串 |
bin(x ) | 将一个整数转换为一个二进制字符串 |
举例
>>> # int(): 将数据转换为 int 类型
>>> str1 = "10"
>>> # int() 默认按10进制转换后显示
>>> num1 = int(str1)
>>>
>>> # int() 处理浮点数,只留下整数部分,舍弃小数部分(并不是四舍五入操作)
>>> num2 = int(3.74)
>>> print(num2)
3
>>>
>>> """
... num1 = int(str1, 8) # 第二个参数为8,表示按8进制转换后显示,结果为 8
... num1 = int(str1, 16) # # 第二个参数为16,表示按16进制转换后显示,结果为 16
... # 01 02 03 04 05 06 07 10
... # 01 02 ... 0B 0C 0D 0E 0F 10
... print(num1)
... """
>>>
>>> # float() 将数据转化为浮点数
>>> str2 = "3.14"
>>> f1 = float(str2)
>>> print(type(f1))
<class 'float'>
>>>
>>> f2 = float(10)
>>> print(f2)
10.0
>>>
>>> # complex() 创建复数: 第一个参数是复数的实部,第二个参数是复数的虚部
>>> c1 = 10 + 4j
>>> c2 = complex(10, 4)
>>>
>>> print(c1)
(10+4j)
>>> print(c2) # 等同与c1
(10+4j)
>>>
>>> # str() : 转换为 字符串类型
>>> num1 = 10
>>> f1 = 3.14
>>>
>>> print(type(str(num1)))
<class 'str'>
>>> print(type(str(f1)))
<class 'str'>
>>>
>>> # repr(): 转换为表达式字符串
>>> num1 = 10
>>> print(type(repr(num1)))
<class 'str'>
>>>
>>>
>>> # eval(): 将字符串形式的数据,转换为原本的类型
>>> str1 = "3.14"
>>> print(type(eval(str1)))
<class 'float'>
>>>
>>> str2 = "[10, 20, 30]"
>>> l = eval(str2)
>>> print(type(l))
<class 'list'>
>>>
>>>
>>> # chr: 将一个整数转换为对应的 Unicode 字符
>>> s = chr(1065)
>>> print(s)
Щ
>>>
>>> # ord :将一个字符转换为对应的字符编码数字
>>> n = ord("A")
>>> print(n)
65
>>>
>>> # bin: 将一个整数转换为二进制
>>> print(bin(1024)) # 0b 开头表示二进制数
0b10000000000
>>>
>>> # oct:将一个整数转换为八进制
>>> print(oct(1024)) # 0o 开头表示八进制数
0o2000
>>>
>>> # hex: 将一个整数转换为十六进制
>>> print(hex(1024)) # 0x 开头表示十六进制
0x400
>>>
附录:常用字符与ASCII码对照表
五、本单元知识总结
1.变量的定义、类型、输出
2.标识符的命名规则、命名方法、关键字
3.Python中的输入与格式化输出
4.Python中的运算符
5.Python中的常用的数据类型的转换
六、作业安排
(Ⅰ)课后作业
1.完成练习手册第二单元,选择题,填空题,简答题(1,2,4)、技能题(1、2、3)
2.完成教材第二章节,课后习题(实战一,实战二,实战三,实战四)
(Ⅲ)预习作业
1.预习第三单元,判断语句
2.预习教材,第三章 流程控制语句
预习附录:
1.参见教材:第五章<55,66>页
第三单元 判断语句
一、昨日知识点回顾
1. Python中运算符有哪些?
2. Python中常用的强转方法有哪些?
3. 变量的定义和作用?
4. Python输入函数和常用的格式化输出符号有哪些?
5. 掌握标识符的命名规则和命名方法?
二、本单元知识点概述
(Ⅰ)指定教材
引用自指定教材《零基础学Python(全彩版)》,第3章 流程控制语句,页码区间<56,66>页
(Ⅱ)知识点概述
(Ⅲ)教学时长
共4课时,180分钟
三、本单元教学目标
(Ⅰ)重点知识目标
1.if判断语句
2.多项选择判断
3.if嵌套
(Ⅱ)能力目标
1.掌握if判断的格式
2.掌握if-else的格式
3.掌握if-elif-else的应用格式
4.掌握if嵌套的应用
四、本单元知识详讲
3.1 常见运算符
3.1.1 比较运算符 ★★★★★
python中的比较运算符如下表
运算符 | 描述 | 示例 |
---|---|---|
== | 检查两个操作数的值是否相等,如果是则条件变为真。 | 如a=3,b=3,则(a == b) 为 True |
!= | 检查两个操作数的值是否相等,如果值不相等,则条件变为真。 | 如a=1,b=3,则(a != b) 为 True |
> | 检查左操作数的值是否大于右操作数的值,如果是,则条件成立。 | 如a=7,b=3,则(a > b) 为 True |
< | 检查左操作数的值是否小于右操作数的值,如果是,则条件成立。 | 如a=7,b=3,则(a < b) 为 False |
>= | 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立。 | 如a=3,b=3,则(a >= b) 为 True |
<= | 检查左操作数的值是否小于或等于右操作数的值,如果是,则条件成立。 | 如a=3,b=3,则(a <= b) 为 True |
>>> ## 关系运算符
...
>>> # == 等于:表示左右两个操作数是否相等,如果相等则整个表达式的值为 True;不相等则为False
... num1 = 15
>>> num2 = 20
>>>
>>> print(num1 == num2)
False
>>>
>>> # != 不等于
... print(num1 != num2)
True
>>>
>>> # > 大于
... print(num1 > num2)
False
>>>
>>> # < 小于
... print(num1 < num2)
True
>>>
>>> # >= 大于等于: num1 大于 或者 等于 num2 ,条件都成立
... print(num1 >= num2)
False
>>>
>>> # <= 小于等于: num1 小于 或者 等于 num2 ,条件都成立
... print(num1 <= num2)
True
>>>
>>> if num1 >= num2:
... print("条件成立!")
...
>>>
3.1.2 逻辑运算符 ★★★★★
运算符 | 逻辑表达式 | 描述 | 实例 |
---|---|---|---|
and | x and y | 布尔"与":如果 x 为 False,x and y 返回 False,否则它返回 y 的值。 | True and False, 返回 False。 |
or | x or y | 布尔"或":如果 x 是 True,它返回 True,否则它返回 y 的值。 | False or True, 返回 True。 |
not | not x | 布尔"非":如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 | not True 返回 False, not False 返回 True |
>>> ## 逻辑运算符
...
>>> # and : 左右表达式都为True,整个表达式结果才为 True
... if (1 == 1) and (10 > 3):
... print("条件成立!")
...
条件成立!
>>> # or : 左右表达式有一个为True,整个表达式结果就为 True
... if (1 == 2) or (10 > 3):
... print("条件成立!")
...
条件成立!
>>> # not:将右边表达式的逻辑结果取反,Ture变为False,False变为True
... if not (1 == 2):
... print("条件成立!")
...
条件成立!>>>
3.2 判断语句的介绍
3.2.1 生活中的判断场景 ★★★
火车站安检
上网吧
密码判断
3.2.2 开发中的判断场景 ★★★★★
小总结:
- 如果某些条件满足,才能做某件事情;条件不满足时,则不能做,这就是所谓的判断。
- 不仅生活中有,在软件开发中"判断"功能也经常会用到
3.2.3 if判断语句的格式介绍 ★★★★★
- if语句是用来进行判断的,其使用格式如下:
if 要判断的条件:
条件成立时,要做的事情
demo1
:(demo
的中文意思:演示、案例)
age = 30
print("------if判断开始------")
if age >= 18:
print("我已经成年了")
print("------if判断结束------")
- 运行结果:
------if判断开始------
我已经成年了
------if判断结束------
demo2
:
age = 16
print("------if判断开始------")
if age >= 18:
print("我已经成年了")
print("------if判断结束------")
- 运行结果:
------if判断开始------
------if判断结束------
小总结:
- 以上2个
demo
仅仅是age
变量的值不一样,导致结果却不同;能够看得出if判断语句的作用:就是当满足一定条件时才会执行代码块语句,否则就不执行代码块语句。 - 注意:代码的缩进为一个
tab
键,或者4个空格
3.3 if-else介绍
3.3.1 if-else使用场景介绍 ★★★★★
想一想:
在使用if
的时候,它只能做到满足条件时要做的事情。那万一需要在不满足条件的时候,做某些事,该怎么办呢?
答:
使用 if-else
3.3.2 if-else案例演示 ★★★★★
if-else
的使用格式如下:
if 条件:
满足条件时要做的事情1
满足条件时要做的事情2
满足条件时要做的事情3
...(省略)...
else:
不满足条件时要做的事情1
不满足条件时要做的事情2
不满足条件时要做的事情3
...(省略)...
demo1
chePiao = 1 # 用1代表有车票,0代表没有车票
if chePiao == 1:
print("有车票,可以上火车")
print("终于可以见到Ta了,美滋滋~~~")
else:
print("没有车票,不能上车")
print("亲爱的,那就下次见了")
结果1:有车票的情况
有车票,可以上火车
终于可以见到Ta了,美滋滋~~~
结果2:没有车票的情况
没有车票,不能上车
亲爱的,那就下次见了
3.4 elif使用介绍
3.4.1 elif 使用场景介绍 ★★★★★
想一想:
if能完成当xxx时做事情
if-else能完成当xxx时做事情1,否则做事情2
如果有这样一种情况:当xxx1满足时做事情1;当xxx1不满足、xxx2满足时做事情2;当xxx2不满足、xxx3满足时做事情3,那该怎么实现呢?
答:
使用elif
3.4.2 elif 案例演示 ★★★★★
elif
的使用格式如下:
if xxx1:
事情1
elif xxx2:
事情2
elif xxx3:
事情3
说明:
- 当xxx1满足时,执行事情1,然后整个if结束
- 当xxx1不满足时,那么判断xxx2,如果xxx2满足,则执行事情2,然后整个if结束
- 当xxx1不满足时,xxx2也不满足,如果xxx3满足,则执行事情3,然后整个if结束
demo
:
score = 77
if score>=90 and score<=100:
print('本次考试,等级为A')
elif score>=80 and score<90:
print('本次考试,等级为B')
elif score>=70 and score<80:
print('本次考试,等级为C')
elif score>=60 and score<70:
print('本次考试,等级为D')
elif score>=0 and score<60:
print('本次考试,等级为E')
3.4.3 elif使用注意点 ★★★★★
- 可以和
else
一起使用
if 性别为男性:
输出男性的体重
...
elif 性别为女性:
输出女性的体重
...
else:
第三种性别的体重
...
说明:
- 当 “性别为男性” 满足时,执行 “输出男性的体重”的相关代码
- 当 “性别为男性” 不满足时,如果 “性别为女性”满足,则执行 “输出女性的体重”的相关代码
- 当 “性别为男性” 不满足,“性别为女性”也不满足,那么久默认执行else后面的代码,即 “第三种性别的体重”相关代码
elif
必须和if
一起使用,否则出错
else
一般用在最后,即所有条件都不满足时使用
3.5 if嵌套
3.5.1 if嵌套使用场景介绍 ★★★★★
通过学习if
的基本用法,已经知道了
- 当需要满足条件去做事情的这种情况需要使用
if
- 当满足条件时做事情A,不满足条件做事情B的这种情况使用
if-else
想一想:
坐火车或者地铁的实际情况是:
先进行安检如果安检通过才会判断是否有车票,或者是先检查是否有车票之后才会进行安检;即实际的情况某个判断是再另外一个判断成立的基础上进行的,这样的情况该怎样解决呢?
答:
使用if
嵌套
3.5.2 if嵌套格式介绍 ★★★★★
if 条件1:
满足条件1 做的事情1
满足条件1 做的事情2
if 条件2:
满足条件2 做的事情1
满足条件2 做的事情2
说明
- 外层的
if
判断,也可以是if-else
- 内层的
if
判断,也可以是if-else
- 根据实际开发的情况,进行选择
3.5.3 if嵌套案例应用 ★★★★★
demo
:
chePiao = 1 # 用1代表有车票,0代表没有车票
daoLenght = 9 # 刀子的长度,单位为cm
if chePiao == 1:
print("有车票,可以进站")
if daoLenght < 10:
print("通过安检")
print("终于可以见到Ta了,美滋滋~~~")
else:
print("没有通过安检")
print("刀子的长度超过规定,等待警察处理...")
else:
print("没有车票,不能进站")
print("亲爱的,那就下次见了")
结果1:chePiao = 1;daoLenght = 9
有车票,可以进站
通过安检
终于可以见到Ta了,美滋滋~~~
结果2:chePiao = 1;daoLenght = 20
有车票,可以进站
没有通过安检
刀子的长度超过规定,等待警察处理...
结果3:chePiao = 0;daoLenght = 9
没有车票,不能进站
亲爱的,那就下次见了
结果4:chePiao = 0;daoLenght = 20
没有车票,不能进站
亲爱的,那就下次见了
想一想:为什么结果3和结果4相同???
五、本单元知识总结
1.if判断语句
2.多项选择判断
3.if嵌套
六、作业安排
(Ⅰ)课后作业
1.完成练习手册第三单元,选择题,填空题,简答题(1,2,3,4)、技能题(1,2,3,4)
2.完成教材第3章节,课后习题(1,2)
(Ⅲ)预习作业
1.预习第四单元,循环知识点
2.预习教材,循环知识点
预习附录:
1.参见教材:第三章<66,76>页
第四单元 循环语句和跳转语句
一、昨日知识点回顾
1. 判断语句格式是什么?
2. if-else使用在哪些场景?
3. elif使用注意哪些事项?
4. if嵌套格式是什么?
二、本单元知识点概述
(Ⅰ)指定教材
引用自指定教材《零基础学Python全彩版》,第3章 流程控制语句,页码区间<66,78>页
(Ⅱ)知识点概述
(Ⅲ)教学时长
共4课时,180分钟
三、本单元教学目标
(Ⅰ)重点知识目标
1.while循环格式及while循环嵌套
2.for循环格式及for循环嵌套
(Ⅱ)能力目标
1.掌握while循环及无限循环的使用格式
2.掌握while循环嵌套的格式
3.掌握for循环的格式
4.掌握for循环嵌套的格式
5.掌握break和continue的用法
四、本单元知识详讲
4.1 循环介绍
4.1.1 生活中的循环场景 ★★
跑道
风扇
CF加特林
4.1.2 软件开发中的循环场景 ★★★
跟媳妇承认错误,说一万遍"媳妇儿,我错了"
print("媳妇儿,我错了")
print("媳妇儿,我错了")
print("媳妇儿,我错了")
...(还有99997遍)...
使用循环语句一句话搞定
i = 0
while i < 10000:
print("媳妇儿,我错了")
i += 1
总结
while和if的用法基本类似,区别在于:if 条件成立,则执行一次; while 条件成立,则重复执行,直到条件不成立为止。
一般情况下,需要多次重复执行的代码,都可以用循环的方式来完成
循环不是必须要使用的,但是为了提高代码的重复使用率,所以有经验的开发者都会采用循环
4.2 while循环的介绍及案例
4.2.1 while循环格式介绍 ★★★★★
while循环格式
while 条件:
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
.