测试-Python学习-黑马

测试-Python学习-黑马

来源:黑马程序员
编辑时间:2024/7/16

Python–介绍

为什么学习python
简单,易学,免费,开源,使用人群广泛

  1. 零基础学习
  2. 跨行业转型
  3. 运维人员
  4. web全栈开发
  5. 调试人员

应用领域广泛

  1. 自动化测试
  2. 网络爬虫
  3. web开发
  4. 自动化运维
  5. 数据分析
  6. 人工智能
  7. 机器学习

Python介绍
作者:吉多.范罗苏姆 龟叔 1989年开始书写,1991年诞生
python发展历史
python2.x
python3.x(主讲版本)

Python–语言分类简介

语言的分类

  1. 计算机只认识二进制(0和1)
  2. 编程语言是任何计算机沟通的语言
  3. 编程语言分类:编译型语言,解释型语言

1.编译型
4. 把程序源代码都编译成机器语言(二进制),保存为二进制文件
5. 计算机可以直接运行,执行速度块
6. C,C++,GO,Swift,Object-C…

2.解释型

  1. 在程序执行的时候才会一行一行的处理成机器语言
  2. 执行速度慢
  3. JavaScript,python,ruby,php…

在这里插入图片描述

在这里插入图片描述

Python–hello

python解释器
python是一名解释型语言,通过解释器来运行.py文件

  1. python文件后缀为.py
  2. 代码要顶格书写
  3. 代码中的标点符号要用英文状态下的标点
print("hello")
# 打印输出函数 内容是hello

Python中代码3种波浪线和PER8

  • 红色
    红色波浪线是代码错误,影响代码运行。
  • 灰色
    提示你是PER8的格式书写,不影响代码运行。可以用ctrl atrl L快捷键自动化格式代码
  • 绿色
    提示你不是规范的英文单词,不影响代码书写。

使用cmd运行代码
python 文件路径

Python–注释

多行注释
使用3对单/双引号包括起来,一般多行注释写在文件开始部分。或者文档注释处(函数)

"""zhushi"""

单行注释

# 单行注释

Python–变量

作用:用来存储数据的
注意:变量必须先对应才能使用

# 定义变量
#变量名 = 数据值
name='jony'
# 使用变量
print(name)

变量的命名规范

  1. 必须有字母和下划线组成,不能以数字开头
  2. 不能使用Python的关键字作为变量名
  3. 区分大小写
  4. 建议命名:大驼峰(UserName),小驼峰(userName),下划线连接法(user_name)

python的关键字

False None True and as assert break class
 continue def    del elif else except finally 
 for from global if import in is lamba nonlocal 
 net or pass raise return try while with yield

Python–数据类型

数字类型

  1. 整型int,整数
  2. 浮点型float,小数
  3. 布尔类型bool,包含两个值(真值True也就是1,假值False也就是0)
  4. 负数类型3+4i

非数字类型
字符串str ,使用引号串起来
列表list [1,2,3]
元组tuple(1,2,3)
字典dict(‘name’:‘Jony’;‘age’:‘18’)
type()
可以获取变量类型

# 定义变量
#变量名 = 数据值
name='jony'
# 使用变量
print(name)
#获取name类型
print(type(name))

运行结果:
在这里插入图片描述

Python–类型转换

将代码从一种数据类型转换为另外一种数据类型
格式:新变量=类型(原变量)

注意:数据类型的转换不会改变原来的数据类型,会生成一个新的数据类型

#变量名 = 数据值
age=input('输入age')
print('age原来的类型',type(age),age)
# 类型转换
int_age=int(age)
print('int_age现在的类型',type(int_age),int_age)
print('age现在的类型',type(age),age)

运行结果:
在这里插入图片描述

  • int()将其他类型转为int类型
    可以将float类型转为整型
    可以将整数类型字符串转为整型
  • float()
    可以将int类型转为浮点型
    可以将数字(包含整数或者小数)类型字符串转为浮点型
  • str()将其他类型转为字符串类型
    将任何类型都可以使用str()将其转换为字符串,一般加上引号

技巧:打开Python Console(Python交互模式)
在这里插入图片描述

Python–输入

获取输入键盘的内容,使用的函数是input()
格式:变量=input(‘提示键盘的消息’),后回车
例如:

#变量名 = 数据值
name=input('输入名字')
#获取name类型和内容
print(type(name),name)

运行结果:
在这里插入图片描述

Python–输出

输出使用的函数print()

格式化输出
print(‘内容, %格式化符号’ %变量)

常见的格式化符号

格式化符号|转换
%s 字符串
%d 有符号十进制整数
%f 浮点数
%% 输出%

注意:%nd和%.nf的区别
例子

name='Jony'
age=18
height=1.72
id=9
num=90
# print person message 浮点型默认保留6位,
print('your_name: %s,your_age: %d,your_height: %f m,your_id: %d'%(name,age,height,id))
#用%.nf表示第n保留位置的小数位置,%0nd表示整数一共占几位,格式化输出带有百分号的及格率用%%才可以
print('your_name: %s,your_age: %d,your_height: %.2f m,your_id: %06d,num: %d%%'%(name,age,height,id,num))

运行结果:
在这里插入图片描述
F-string(f字符串格式化方法)
注意python版本>=3.6

  1. 需要在字符串前面加上f或者F
  2. 占位符号变为{}
  3. 需要填充的变量写在{}里面
  4. \n转义字符
name='Jony'
age=18
height=1.72
id=9
num=90
# print person message 浮点型默认保留2位,
print(f'your_name:{name} ,your_age:{age},your_height{height:.2f}m,your_id:{id:06d},\nyour_num:{num}%')

运行结果:
在这里插入图片描述
字符串格式化的补充
字符串.format 可以在任意版本中使用

  1. 在需要使用变量的地方使用{}占位
  2. ‘{},{},…’.format(变量,变量,…)
name='Jony'
age=18
height=1.72
id=9
num=90
# print person message 浮点型默认保留2位,
print('your_name:{} ,your_age:{},your_height{:.2f}m,your_id:{:06d},\nyour_num:{}%'.format(name,age,height,id,num))
# print(f'your_name:{name} ,your_age:{age},your_height{height:.2f}m,your_id:{id:06d},\nyour_num:{num}%')

运行结果

在这里插入图片描述

Python–运算符

运算符分类
算术运算符,比较运算符,逻辑运算符,赋值运算符
算术运算符在这里插入图片描述
比较运算符
在这里插入图片描述

例子在这里插入图片描述
逻辑运算符
可以连接多个条件
在这里插入图片描述
赋值运算符
在这里插入图片描述

if的基本结构

判断
if 如果
elif 如果
esle 否则

在这里插入图片描述
例子

age=input('input your age:')
if int(age)>=18:
    print('满足18岁')
print('和if结构没有关系')

运行结果
在这里插入图片描述

else-if

在这里插入图片描述

username = input("请输入用户名:")
password = input("请输入密码:")
if username == "admin" and password == "123456":
    print("登录成功!")
else:
    print("用户名或密码错误!")

运行结果
在这里插入图片描述

if elif else结构

在这里插入图片描述

score = int(input("请输入你的分数:"))

if score >= 90:
    print("你的成绩是优秀")
elif score >= 80:
    print("你的成绩是良好")
elif score >= 70:
    print("你的成绩是中上")
elif score >= 60:
    print("你的成绩是及格")
else:
    print("你的成绩是不及格")

if嵌套

if嵌套,是指在一个if(elif else)中嵌套另一个if
使用场景:判断条件存在递进关系(只有第一条件满足了,才会判断第二个条件)

import random
# 定义猜拳的选项
choices = ['石头', '剪刀', '布']
# 计算机随机选择
computer_choice = random.choice(choices)
# 用户输入选择
user_input = input("请出拳(石头/剪刀/布):")
# 确保用户输入是有效的
while user_input not in choices:
    print("无效输入,请重新输入:")
    user_input = input("请出拳(石头/剪刀/布):")
# 嵌套if语句来判断结果
print("计算机出了:", computer_choice)
if user_input == computer_choice:
    print("平局!")
else:
    if (user_input == '石头' and computer_choice == '剪刀') or \
       (user_input == '剪刀' and computer_choice == '布') or \
       (user_input == '布' and computer_choice == '石头'):
        print("你赢了!")
    else:
        print("你输了!")

debug调试代码

在这里插入图片描述
0
在这里插入图片描述

循环

三大结构:

  1. 顺序结构:从上到下全部执行
  2. 分支结构:判断语句,代码选择性的执行
  3. 循环结构:重复执行某一部分的代码

语法:

  1. 设置循环的初始条件(计数器)
  2. 书写循环的判断条件
    while 判断条件
    需要重复执行的代码
    改变循环的初始条件(计数器)
i=1
while i<=5
  print(i)
  i + =1

死循环和无限循环
死循环:一般是写代码不小心造成的bug,代码移直不停的运行下去
无限循环:写代码的人故意让代码无限制的去执行,代码一直不停的运行下去。
无限循环代码运行场景:不确定要执行多少次循环,添加if判断,当if条件成立用break终止循环

while True
  print('死循环打印内容')

for循环

for循环可以让指定的代码重复执行(循环)‘

for循环可以遍历容器中的数据(
遍历:从容器中把数据一个个取出
容器:可以简单的 理解为盒子,盒子可以存放更多的数据,比如字符串str,列表list,元组tuple,字典dict。
)

for循环也可以称为for遍历

语法:
for 变量名 in 容器:
重复执行的代码

注意:

  1. for 和in 都是关键字
  2. 容器中有多少个数据,循环会执行多少次
  3. 每次循环,会将容器中数据取出一个数据保存到in关键字前面的变量中

在这里插入图片描述
for做指定次数的循环

for 变量 in range(n):
  重复执行的代码
  1. range()是python中的函数,作用使用可以生成[0,n]之间的整数,不包含n的,一个有n个数字,所以这个循环循环n次
  2. 想让for循环多少次,n就写几
  3. 变量的值也是每次循环从[0,n)取出一个值,第一次去得是0,最后一次取的是n-1

range()变形
需求:使用for循环获取5和10之间的数字

for 变量 in range(a,b):
  重复的代码

range(a,b)作用生成[a,b]之间的整数数字,不包含b

for i in range(5):
  print(i)
print('-'*30)

需求:使用for循环获取5到10(包含)之间的数字

for i in range(511):
  print(m)

break和continue介绍

break和continue只能在循环中使用的关键字
break:终止循环,即代码执行遇到break,循环不再执行,立即结束
continue:跳过本次循环,即代码执行遇到continue,本次循环剩下的代码不再执行,继续下一次循环
例子

str = 'hello world'
for letter in str:
    if letter == 'e':
        continue
    print(letter, end='')
str = 'hello world'
for letter in str:
    if letter == 'e':
        break
    print(letter, end='')

字符串

容器
容器:也可以称为是数据序列,或者高级数据类型,也是python中的数据类型,容器可以存放多个数据类型。

字符串
字符串是容器,因为字符串中包含多个字符
使用引号(单引号,双引号,三引号)引起来的内容就是字符串。

但斜杠表示的是转义字符换行,如果要打印出斜杠是“\”。

  1. 单引号字符串
  2. 双引号字符串
  3. 三引号字符串
  4. 特殊符号处理

注意:
去除特殊字符功能

val5=r"I\'m itcastYY"

字符串的下标

下标(索引):就是指字符串中的位置编号,这个编号就是下标

这个编号一般来说都是从左到右进行编号的,从0开始的(Python中支持负数下标,从右到左进行编号的,从-1开始)

下标作用:可以使用下标获取字符串中某个位置的字符

语法:
字符串[下标] #获取指定位置的字符

在这里插入图片描述
字符串下标访问

  • 可以将字符串当做是装有很多内容的容器,通过编号可以获取到指定位置的字符
  • 下标是人为定义的一种计数规则,默认下标从0开始
  • 下标的使用语法 字符串名[下标值]
    在这里插入图片描述

字符串切片

切片:可以获取字符串中多个字符(多个字符的下标是有规律的,等差数列)

语法:
字符串[start🔚step]
start 是开始位置的下标,end是结束位置的下标(注意,不能取到这个位置的字符)step步长,等差数列的差值,所取得相邻字符下标之间的差值,默认是1,可以不写

例:
[1:5:1} #1 2 3 4
[1:5:2} #1  3 
[1:5:3} #1  4
[1:5:4} #1  

在这里插入图片描述
在这里插入图片描述

字符串的查找方法 find

字符串.find(sub_str,start,end)
作用:在字符串中查找是否存在sub_str这样的字符串
sub_str:要查找小的字符串
start:开始的位置,从哪个下标位置开始查找,一般不写,默认是0
end:结束位置,查找哪个下标结束,一般不写,默认是 len()
返回(代码执行之后会得到什么,如果有返回,就可以使用变量保存):
1.如果在字符串中找到了sub_str返回sub_str第一次出现的正数下标(sub_str中第一个字符在大字符串中的下标)
2.如果没有找到。返回-1

字符串的替换方法replace

字符串.replace(old_str,new_str,count)
将字符串old_str换成new_str

  • old_count 被替换的内容
  • new_str 替换的内容
  • count 替换的次数,一般不写,默认是全部替换
  • 返回 替换之后的完整字符串,注意:原来的字符串没有发生改变

在这里插入图片描述

字符串的拆分split

字符串.split(sep,max_split)
将在字符串按照sep进行分割(拆分)

  • sep:字符串按照什么进行拆分,默认是空白字符串(空格,换行\n,tab键\t)
  • max_split:分割次数,一般不写,全部分割
  • 返回:将一个字符串拆分为多个,存到列表中
  • 注意:如果sep不写,想要指定分割次数,则需要按照如下方式使用字符串.split(max_split=n)#n是次数

在这里插入图片描述

字符串的链接join

在这里插入图片描述

在这里插入图片描述

列表

在这里插入图片描述

列表下标和切片操作

列表支持下标和切片操作,使用方法和字符串的使用方法一致
区别:列表的切片得到的是列表
在这里插入图片描述

列表查询相关的操作

查找列表中数据下标的方法
在这里插入图片描述
判断是否存在
在这里插入图片描述

统计出现的次数
在这里插入图片描述

添加数据的方法

  • 尾部添加(最常用)
    在这里插入图片描述
  • 指定下标位置添加
    在这里插入图片描述
  • 列表合并
    在这里插入图片描述

列表

定义
变量=[数据,数据,…]
添加
列表.append(数据)
列表.count(数据)

修改操作
需要修改列中的指定下标位置的数据,使用的语法是:
列名[下标]=数据

#字符串中字符不能使用下标修改

删除操作
在列表删除数据,后面的值会向前移动

  • 根据下标删除
    列表.pop(下标) #删除指定下标位置对应的数据
    1.下标不写,默认删除最后一个数据(常用)
    2.书写存在的下标,删除对应下标位置的数据
    返回:返回删除的数据

  • 根据数据值删除
    列表.remove(数据值) #根据数据值删除
    注意:如果多个一样的值,那么只会删除这些一样的值的第一个值

返回:None
注意:如果要删除的数据不存在,会报错

  • 清空数据(一般不用)
    列表.clear()

列表的反转

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

列表的复制
在这里插入图片描述
列表的排序
在这里插入图片描述
在这里插入图片描述
列表嵌套
列表嵌套,列表中的内容还是列表
使用下标来确定获取的是什么类型的数据,然后确定可以继续进行什么操作
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

P75 元组的使用

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

奶茶精Gaaa

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值