python学习第三天

条件判断

条件判断使用ifelifelse关键字。它们用于根据条件执行不同的代码块。

python 复制代码
# 条件判断
age = 18
if age < 18:
    print("你还是个孩子!")
elif age == 18:
    print("永远十八岁!")
else:
    print("你还年轻!")

循环

Python中有两种主要的循环结构:for循环和while循环。

for循环

for循环用于遍历序列(如列表、元组、字符串等)中的每个元素。

python 复制代码
# for循环 遍历序列
array = ['test',1,[1,2,3,4,5]]
for arr in array:
    # 使用type函数判断类型 类似于java的判断类型instanceof 多进行类比
    if type(arr)==list:
        for a in arr:
            print('我是第二层循环:',a)
    else:        
        print(arr)
# 循环字典 实例
disc = [{'name':'python','age':18},{'name':'java','age':18}]
for arr in disc:
    # 使用type函数判断类型 类似于java的判断类型instanceof 多进行类比
    if arr.get('name')=='python':
        print('我是python')
    else:
        print('我是java')

while循环

while循环在条件为True时重复执行代码块。

python 复制代码
# while循环 比如累加计算
count = 0
total = 0
while count <= 100:
    count += 1
    total = total + count
print(total)

循环内部操作

关键字 作用 适用场景
pass 空操作,什么都不做,仅占位。 当语法上需要语句但逻辑上不需要操作时。在编写代码时,如果某些逻辑暂时不需要实现,但需要保持语法正确性,可以使用 pass(简单来说就是保证语法的正确性
continue 跳过当前迭代的剩余代码,直接进入下一次循环。 当需要跳过某些特定条件的迭代时。
break 立即终止整个循环,不再执行后续迭代。 当满足某个条件时需要提前退出循环时。
else 当循环正常结束(未被 break 中断)时执行 else 块中的代码。 当需要在循环正常结束后执行某些操作时。
python 复制代码
# pass使用 当语法上需要语句但逻辑上不需要操作时 在编写代码时,如果某些逻辑暂时不需要实现,但需要保持语法正确性,可以使用 pass。可以点到range里看下 很多用到了pass
for i in range(10):
    if i == 2:
        pass
        print(f" i == {i} ")
    else:
        print(i)
    if i == 3:
        # 保证代码的完整性 如果有复杂的代码 需要待实现的部分就可以使用了
        pass
# continue跳过本次循环
for i in range(10):
    if i == 3:
        continue
    else:
        print(i) # 打印结果 0-9 不含3
# break结束本次循环
for i in range(10):
    if i == 3:
        break
    else:
        print(i) # 打印结果 0 - 2
# else 除了break 不执行else外 其他的都会执行
for i in range(10):
    break
else:
    print("循环正常结束") # 因为break 不会被执行
for i in range(10):
    continue
else:
    print("循环正常结束") # 正常打印
for i in range(10):
    pass
else:
    print("循环正常结束")  # 正常打印

列表操作

学到了循环,就要学习关于列表的元素的操作,其中包括查询、修改、插入、删除、排序等操作(实例:animal = ['dog','cat','elephant','rabbit']也可以看下面的查询修改中的实例)。

操作 方法/语法 描述 示例
查询 list[index] 通过索引访问元素,索引从 0 开始。 animal[0] 返回 "dog"
list[-1]或者list[len(list)-1] 访问最后一个元素。 animal[-1] 或者animal[len(animal)-1]返回 "rabbit"
list[start:end] 切片操作,获取从 startend-1 的子列表。左开右闭区间。 animal[0:2] 返回 ["dog", "cat"]
list.index(value) 返回第一个匹配元素的索引。 animal.index("cat") 返回 1
value in list 检查元素是否在列表中。 "monkey" in animal 返回 False
修改 list[index] = value 修改指定索引处的元素。 animal[1] = "monkey""cat" 修改为 "monkey"
list[start:end] = [values] 修改切片范围内的元素。 animal[0:2] = ['giraffe','ant'] 替换 "dog""cat"
删除 del list[index] 删除指定索引处的元素。 del animal[1] 删除 "cat"
list.remove(value) 删除第一个匹配的元素。 animal.remove("elephant") 删除 "elephant"
list.pop(index) 删除并返回指定索引处的元素(默认删除最后一个元素)。 animal.pop(1) 删除并返回 "dog"
list.clear() 清空列表中的所有元素。 animal.clear() 清空列表并返回 []
插入 list.append(value) 在列表末尾添加一个元素。 animal.append("rat") 添加"rat"
list.insert(index, value) 在指定索引处插入一个元素。 animal.insert(2, "lion") 在索引 2 处插入 "lion"
list.extend(iterable) 将另一个可迭代对象的所有元素添加到列表末尾。 animal.extend(["fish", "shrimp"]) 添加 "fish""shrimp"
其他操作 len(list) 返回列表的长度。 len(animal) 返回 4
list.sort() 对列表进行排序(默认升序)。 animal.sort() 排序列表
list.reverse() 反转列表中的元素顺序。 animal.reverse() 反转列表
list.copy() 返回列表的浅拷贝。深拷贝方法为deepcopy() new_animal = animal.copy() 创建 animal的副本
list.count(value) 返回列表中匹配元素的个数。 animal.count("cat") 返回 1

查询

python 复制代码
# 列表查询操作  通过索引访问元素,索引从0开始。
animal = ['dog','cat','elephant','rabbit']
# 获取cat
print(animal[1]) # 输出:cat
# list[-1] 函数访问最后一个函数 或者 list[len()-1]
print(animal[len(animal)-1]) # 输出:rabbit
# list[start:end] 切片操作,获取从start到end-1的子列表。左闭右开
print(animal[0:2]) # 输出:['dog', 'cat']
# list.index(value) 返回第一个匹配元素的索引。
print(animal.index('cat')) #输出:1
# in 是否在集合中
print('monkey' in animal) #输出:false

修改

python 复制代码
# 列表修改操作
animal = ['dog','cat','elephant','rabbit']
# cat修改为monkey
animal[1]= 'monkey'
print(animal) # 输出: ['dog', 'monkey', 'elephant', 'rabbit']
# list[start:end] = [values] 修改切片范围内的元素。 dog和monkey修改为giraffe和ant 注意使用[1,2]会变成添加['dog', 'giraffe', 'ant', 'elephant', 'rabbit']考虑为什么
animal[0:2]= ['giraffe','ant']
print(animal) # 输出: ['dog','monkey','giraffe','ant']

删除

python 复制代码
# 列表删除操作
animal = ['dog','cat','elephant','rabbit']
# del list[index] 删除指定索引处的元素。
del animal[1]
print(animal) # 输出: ['dog', 'elephant', 'rabbit']
# list.remove(value) 删除第一个匹配的元素。
animal.remove('elephant')
print(animal) # 输出: ['dog', 'rabbit']
# list.pop(index)	删除并返回指定索引处的元素(默认删除最后一个元素)。
animal.pop()
print(animal) # 输出: ['dog']
# list.clear()	清空列表中的所有元素。	animal.clear()清空列表
animal.clear()
print(animal) # 输出: []

插入

python 复制代码
# 列表添加操作
animal = ['dog','cat','elephant','rabbit']
# list.append(value)	在列表末尾添加一个元素
animal.append('rat')
print(animal) # 输出: ['dog','cat','elephant','rabbit','rat']
# list.insert(index, value)	在指定索引处插入一个元素。
animal.insert(2,'lion')
print(animal) # 输出: ['dog', 'cat', 'lion', 'elephant', 'rabbit', 'rat']
# list.extend(iterable)	将另一个可迭代对象的所有元素添加到列表末尾。 shrimp虾
animal.extend(['fish','shrimp'])
print(animal)   # 输出: ['dog', 'cat', 'lion', 'elephant', 'rabbit', 'rat', 'fish', 'shrimp']

其他操作

python 复制代码
# 列表其他操作
animal = ['dog','cat','elephant','rabbit']
# len(list)	返回列表的长度。
print(len(animal)) # 4
# list.sort()	对列表进行排序(默认升序)。
animal.sort()
print(animal) # ['cat', 'dog', 'elephant', 'rabbit']
# list.reverse()	反转列表中的元素顺序。
animal.reverse()
print(animal) # ['rabbit', 'elephant', 'dog', 'cat']
# list.copy()	返回列表的浅拷贝。
new_animal = animal.copy()
print(new_animal) # ['rabbit', 'elephant', 'dog', 'cat']
# list.count(value) 返回列表中匹配元素的个数。
print(animal.count('cat')) # 1

代码块

在Python中,代码块是通过缩进来定义的。通常使用4个空格或一个Tab键(跟java不同的是使用代码缩进来完成java代表是以{开始或者以}结束为一个代码块)来缩进。代码块用于组织代码,使其在逻辑上成为一个整体。

python 复制代码
# 这是一个代码块 input函数式输入框 类似与java的system.in输入 系统输入
s = int(input('请输入一个数字:'))
if s > 0: # 也可以写if(s >0 )但是没必要 因为python给个提示建议去掉 保证代码的按照缩进来进行更加规范
    print("这个数字是大于0的数字!")  # 这行代码属于if语句的代码块
elif s == 0:
    print("这个数字是等于0的数字!")  # 这行代码属于elif语句的代码块
else:
    print("这个数字是小于0的数字!")  # 这行代码属于else语句的代码块

方法块

在Python中,使用def关键字来定义函数。函数是一段可重用的代码,可以接受参数并返回结果。

python 复制代码
# def来定义方法
def method1(name,age):
    print('姓名:'+name,'年龄:'+age)
input(method1('python','18'))
相关推荐
codkingo4 分钟前
Go - 泛型的使用
开发语言·golang
哥是黑大帅23 分钟前
Milvus向量数据库部署
数据库·python·milvus
郑祎亦41 分钟前
【JAVA面试题】== 和 equals() 的区别与使用场景
java·开发语言
补三补四41 分钟前
Django与数据库
数据库·python·django
葡萄_成熟时_44 分钟前
JavaWeb后端基础(5)
java·开发语言·maven·web
LUCIAZZZ1 小时前
ThreadLocal的Key是弱引用给垃圾回收带来的问题
java·开发语言·jvm·spring·springboot
黑风风1 小时前
深入理解 Promise 和 Async/Await,并结合 Axios 实践
开发语言·前端·javascript
lczdyx1 小时前
Transformer 代码剖析6 - 位置编码 (pytorch实现)
人工智能·pytorch·python·深度学习·transformer
云天徽上1 小时前
【目标检测】目标检测中的数据增强终极指南:从原理到实战,用Python解锁模型性能提升密码(附YOLOv5实战代码)
人工智能·python·yolo·目标检测·机器学习·计算机视觉