《Python网络安全项目实战》项目2 Python基础练习

在这里插入图片描述

项目2 Python基础练习

Python是一门完整的编程语言;与 Shell 脚本或批处理文件相比,它为编写大型程序提供了更多的结构和支持。并且作为一门高级语言,它内置支持高级的数据结构类型,例如:灵活的列表和字典。Python 允许你将程序分割为不同的模块,以便在其他的 Python 程序中重用。Python 内置提供了大量的标准模块,你可以将其用作程序的基础,或者作为学习 Python 编程的示例。下面的网址含有大量的Python基础学习资料和操作指导,可以用来配合本项目的学习。
http://www.pythondoc.com/
http://www.runoob.com/python3/python3-tutorial.html

项目目标:
熟悉Python的关键要素:
 数据类型
 组合数据类型
 控制结构
 函数
 模块

任务2.1 使用数据类型

任务描述
公司接到一个项目需要使用Python进行编程,项目经理布置任务需要我们小组进行编程的准备并写出个例子程序。请大家和我一起熟悉python数据类型的使用,进行准备并使用Python编程。
任务分析
Python具有高级的内置数据类型,比如灵活的数字和字符串。由于python提供了更为通用的数据类型,Python 操作数据会更简单明了。
 输出
 输入
 数字
 字符串
任务实施

2.1.1 输出

用print加上字符串,就可以向屏幕上输出指定的文字。比如输出“hello world”,如图2-1-1所示。
在这里插入图片描述

图2-1-1输出
print语句也可以跟上多个字符串,用逗号“,”隔开,就可以连成一串输出,如图2-1-2所示。
在这里插入图片描述

图2-1-2 多个字符串
print会依次打印每个字符串,遇到逗号“,”会输出一个空格,因此,输出的字符串是这样拼起来的,如图2-1-3所示。
在这里插入图片描述

图2-1-3输出的字符串
print也可以打印整数,或者计算结果,如图2-1-4所示。
在这里插入图片描述

图2-1-4 整数
因此,我们可以把计算100 + 200的结果打印得更漂亮一点,如图2-1-5所示。

在这里插入图片描述

图2-1-5 打印结果
注意,对于100 + 200,Python解释器自动计算出结果300,但是,'100 + 200 ='是字符串而非数学公式,Python把它视为字符串,请自行解释上述打印结果。

2.1.2 输入

现在,你已经可以用print输出你想要的结果了。但是,如果要让用户从电脑输入一些字符怎么办?Python提供了一个input(),可以让用户输入字符串,并存放到一个变量里。比如输入用户的名字,如图2-1-6所示。
在这里插入图片描述

图2-1-6 输入
当你输入name = input()并按下回车后,Python交互式命令行就在等待你的输入了。这时,你可以输入任意字符,然后按回车后完成输入。
输入完成后,不会有任何提示,Python交互式命令行又回到>>>状态了。那我们刚才输入的内容到哪去了?答案是存放到name变量里了。可以直接输入name查看变量内容,如图2-1-7所示。
在这里插入图片描述

图2-1-7 查看变量内容

使用中文“名字”代替英文“name”作为变量名,试一下,如图2-1-8所示。
在这里插入图片描述

图2-1-8 变量名
输入中文变量名‘名字’,显示变量内存储的内容‘米老鼠’,如图2-1-9所示。
在这里插入图片描述

图2-1-9变量内容
什么是变量?请回忆初中数学所学的代数基础知识:
设正方形的边长为a,则正方形的面积为a x a。把边长a看做一个变量,我们就可以根据a的值计算正方形的面积,比如:
若a=2,则面积为a x a = 2 x 2 = 4;
若a=3.5,则面积为a x a = 3.5 x 3.5 = 12.25。
在计算机程序中,变量不仅可以为整数或浮点数,还可以是字符串,因此,name作为一个变量就是一个字符串。

要打印出name变量的内容,除了直接写name然后按回车外,还可以用print语句,如图2-1-10所示。
在这里插入图片描述

图2-1-10 print语句
有了输入和输出,我们就可以新建程序,把上次打印’hello, world’的程序改成有点意义的程序了,图2-1-11所示。
在这里插入图片描述

图2-1-11 输入和输出
按F5运行上面的程序,第一行代码会让用户输入任意字符作为自己的名字,然后存入name变量中;第二行代码会根据用户的名字向用户说hello,比如输入米老鼠,如图2-1-12所示。
在这里插入图片描述

图2-1-12 运行
但是程序运行的时候,没有任何提示信息告诉用户:“嘿,赶紧输入你的名字”,这样显得很不友好。幸好,input可以让你显示一个字符串来提示用户,于是我们把代码改成下面的样子,如图2-1-13所示。
在这里插入图片描述

图2-1-13 提示用户
按F5再次运行这个程序,你会发现,程序一运行,会首先打印出please enter your name:,这样,用户就可以根据提示,输入名字后,得到hello, xxx的输出,如图2-1-14所示。
在这里插入图片描述

图2-1-14
每次运行该程序,根据用户输入的不同,输出结果也会不同。
在命令行下,输入和输出就是这么简单。
小结
任何计算机程序都是为了执行一个特定的任务,有了输入,用户才能告诉计算机程序所需的信息,有了输出,程序运行后才能告诉用户任务的结果。
输入是Input,输出是Output,因此,我们把输入输出统称为Input/Output,或者简写为IO。
input和print是在命令行下面最基本的输入和输出,但是,用户也可以通过其他更高级的图形界面完成输入和输出,比如,在网页上的一个文本框输入自己的名字,点击“确定”后在网页上看到输出信息。

2.1.3 数字

把python当作一个简单的计算器,可以向其录入一些表达式,它会给出返回值。使用运算符 +,-,* 和 /进行计算,括号 (()) 用于分组。如图2-1-15所示
在这里插入图片描述

图2-1-15 简单的计算器
整数(例如,8, 16, 60 )的类型是 int,带有小数部分的数字(例如,15.0, 1.6)的类型是 float。后面我们会看到更多关于数字类型的内容。
除法(/)永远返回一个浮点数。如要使用 floor 除法 并且得到整数结果(丢掉任何小数部分),你可以使用 // 运算符;要计算余数你可以使用 %,如图2-1-16所示。
在这里插入图片描述

图2-1-16 除法运算
通过 Python,还可以使用 ** 运算符计算幂乘方,如图2-1-17所示。
在这里插入图片描述

图2-1-17 计算幂乘方
等号’=’用于给变量赋值。赋值之后,在下一个提示符之前不会有任何结果显示,如图2-1-18所示。
在这里插入图片描述

图2-1-18 变量赋值
变量在使用前必须 “定义”(赋值),否则会出错,如图2-1-19所示。
在这里插入图片描述

图2-1-19 变量未赋值
浮点数有完整的支持;整数和浮点数的混合计算中,整数会被转换为浮点数,如图2-1-20所示。
在这里插入图片描述

图2-1-20 浮点运算
交互模式中,最近一个表达式的值赋给变量 _。这样我们就可以把它当作一个桌面计算器,很方便的用于连续计算,如图2-1-21所示。
在这里插入图片描述

图2-1-21 连续计算
此变量对于用户是只读的。不要尝试给它赋值 —— 你只会创建一个独立的同名局部变量,它屏蔽了系统内置变量的魔术效果。
除了 int 和 float,Python 还支持其它数字类型,例如 Decimal 和 Fraction。Python 还内建支持 复数 ,使用后缀 j 或 J 表示虚数部分(例如,3+5j)。

2.1.4 字符串

相比数值,Python 也提供了可以通过几种不同方式表示的字符串。它们可以用单引号 (‘’) 或双引号 (“”) 标识,注意引号和括号等必需是英文半角符号。\ 可以用来转义引号,如图2-1-22所示。
在这里插入图片描述

图2-1-22 字符串
在交互式解释器中,输出的字符串会用引号引起来。print() 函数生成可读性更好的输出, 它会省去引号并且打印出转义后的特殊字符,如图2-1-23所示。
在这里插入图片描述

图2-1-23 交互输出
如果你前面带有 \ 的字符被当作特殊字符,你可以使用原始字符串,方法是在第一个引号前面加上一个 r,如图2-1-24所示。
在这里插入图片描述

图2-1-24 原始字符串
字符串文本能够分成多行。一种方法是使用三引号:“”“…”“” 或者 ‘’‘…’‘’。行尾换行符会被自动包含到字符串中,但是可以在行尾加上 \ 来避免这个行为。下面的示例: 可以使用反斜杠为行结尾的连续字符串,它表示下一行在逻辑上是本行的后续内容,将生成以下输出(注意,没有开始的第一行),如图2-1-25所示。
在这里插入图片描述

图2-1-25 三引号
字符串可以由 + 操作符连接(粘到一起),可以由 * 表示重复,如图2-1-26所示。
在这里插入图片描述

图2-1-26 字符串连接与重复

相邻的两个字符串文本自动连接在一起,如图2-1-27所示。
在这里插入图片描述

图2-1-27 相邻字符串

它只用于两个字符串文本,不能用于字符串表达式,如图2-1-28所示。
在这里插入图片描述

图2-1-28 字符表达式

如果你想连接多个变量或者连接一个变量和一个字符串文本,使用 +,如图2-1-29所示。
在这里插入图片描述

图2-1-29 连接字符串变量

这个功能在你想切分很长的字符串的时候特别有用,如图2-1-30所示。
在这里插入图片描述

图2-1-30字符串多行输入

字符串也可以被截取(检索)。类似于 C ,字符串的第一个字符索引为 0 。Python没有单独的字符类型;一个字符就是一个简单的长度为1的字符串,如图2-1-31所示。
在这里插入图片描述

图2-1-31 字符截取
索引也可以是负数,这将导致从右边开始计算,如图2-1-32所示。
在这里插入图片描述

图2-1-32 负数索引
请注意 -0 实际上就是 0,所以它不会导致从右边开始计算。
除了索引,还支持 切片。索引用于获得单个字符,切片让你获得一个子字符串,如图2-1-33所示。
在这里插入图片描述

图2-1-33 切片
注意,包含起始的字符,不包含末尾的字符。这使得 s[:i] + s[i:] 永远等于 s,如图2-1-34所示。
在这里插入图片描述

图2-1-34 切片范围
切片的索引有非常有用的默认值;省略的第一个索引默认为零,省略的第二个索引默认为切片的字符串的大小,如图2-1-35所示。
在这里插入图片描述

图2-1-35 默认索引切片
有个办法可以很容易地记住切片的工作方式:切片时的索引是在两个字符 之间 。左边第一个字符的索引为 0,而长度为 n 的字符串其最后一个字符的右界索引为 n。例如:

±–±–±–±–±–±–+
| P | y | t | h | o | n |
±–±–±–±–±–±–+
0 1 2 3 4 5 6
-6 -5 -4 -3 -2 -1

文本中的第一行数字给出字符串中的索引点 0...6。第二行给出相应的负索引。切片是从 i 到 j 两个数值标示的边界之间的所有字符。
对于非负索引,如果上下都在边界内,切片长度就是两个索引之差。例如,word[1:3] 是 2 。

试图使用太大的索引会导致错误,如图2-1-36所示。
在这里插入图片描述

图2-1-36 索引太大
Python 能够优雅地处理那些没有意义的切片索引:一个过大的索引值(即下标值大于字符串实际长度)将被字符串实际长度所代替,当上边界比下边界大时(即切片左值大于右值)就返回空字符,如图2-1-37所示。
在这里插入图片描述

图2-1-37 容错过大的切片索引
Python字符串不可以被更改 — 它们是不可变的 。因此,赋值给字符串索引的位置会导致错误,如图2-1-38所示。
在这里插入图片描述

图2-1-38 字符串不允许更改
如果你需要一个不同的字符串,你应该创建一个新的,如图2-1-39所示。
在这里插入图片描述

图2-1-39 创建新字符串
内置函数 len() 返回字符串长度,如图2-1-40所示。
在这里插入图片描述

图2-1-40 字符串长度

 相关知识

1、Python 支持三种不同的数值类型:
• 整型(Int) - 通常被称为是整型或整数,是正或负整数,不带小数点。Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。
• 浮点型(float) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)
• 复数( (complex)) - 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。
数值类型实例
在这里插入图片描述
2、Python 数字类型转换
有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。
• int(x) 将x转换为一个整数。
• float(x) 将x转换到一个浮点数。
• complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0。
• complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式。
3、Python算术运算符
以下假设变量a为10,变量b为21:
在这里插入图片描述
4、Python比较运算符
以下假设变量a为10,变量b为20:
在这里插入图片描述
5、Python赋值运算符
以下假设变量a为10,变量b为20:
在这里插入图片描述
6、Python位运算符
按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:
在这里插入图片描述

7、Python逻辑运算符
Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:
在这里插入图片描述
8、Python成员运算符
除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。
在这里插入图片描述
9、Python运算符优先级
以下表格列出了从最高到最低优先级的所有运算符:
在这里插入图片描述

10、数学函数
在这里插入图片描述
11、随机数函数
随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。
Python包含以下常用随机数函数:
在这里插入图片描述
12、三角函数
Python包括以下三角函数:
在这里插入图片描述
13、数学常量
在这里插入图片描述

 任务评价

请学生按照下表中的要求完成本次评价,并在物理机桌面上以自己的两位学号+姓名的形式命名文件夹,保存所有截图软件,文件保存为jpeg或 png格式。
在这里插入图片描述

 任务拓展

1、输入两个数字,并计算两个数字之差。
2、输入两个数字,并计算两个数的乘积。
3、计算三角形的面积
4、输出一首诗歌。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

空云风语

人工智能,深度学习,神经网络

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值