深度学习python基础(第三节) 函数、列表

本节主要介绍函数、列表的基本语法格式。

函数

与c语言的函数差不多,就是语法基本格式不同。

python 复制代码
name = "loveyou"
length = len(name)
print("字符串的长度为:%d" % length)
# 自定义函数
def countstr(data):
    count = 0
    for i in data:
        count += 1
    return count



length = countstr(name)
print("字符串%s的长度为:%d" % (name,length))

函数的基础定义语法

python 复制代码
"""
def 函数名(传入参数):
    函数体
    return 返回值

参数不需要可以省略  
返回值不需要可以省略
"""
def say_hello(): # 函数定义
    print("Hello world!")
say_hello() # 函数调用

函数的参数

python 复制代码
"""
函数的参数不限量,使用逗号分隔开
传入参数时要一一对应,逗号分隔开

"""

# 两数相加函数
def add(x , y): # 形式参数
    return x + y
a = 10
b = 20
add(a , b) # 实际参数

设计一个考研上岸函数

python 复制代码
"""
考研分数大于等于370分输出:恭喜上岸,休息一下准备复试!
考研分数小于370分输出:恭喜上岸,抓紧准备复试!
"""
def success(score):
    print("欢迎来到上岸查询系统!")
    if score >= 370:
        print(f"您的考研分数是{score}:恭喜上岸,休息一下准备复试!")
    else:
        print(f"您的考研分数是{score}:恭喜上岸,抓紧准备复试!")

score1 = 380
score2 = 360
success(score1)
success(score2)

函数返回值

python 复制代码
"""
返回值的作用
返回值的定义语法
"""

# 两数相乘函数
def mul(x , y): # 形式参数
    return x * y
a = 10
b = 20
mul(a , b) # 实际参数

None类型

python 复制代码
"""
函数都是有返回值的不写就是返回None
"""

def hello():
    print("你好!")
    # return None

result = hello()
print(type(result)) # None等于False可以根据函数返回值进行if判断

函数的说明文档

通过多行注释来进行对函数的描述。

python 复制代码
def func(): # 鼠标悬停在函数上就有解释
    """
    演示函数的说明文档  
        1.针对每个参数的说明  
        2.以及函数返回值的说明    
        3.函数的具体功能是什么等等
    """
    print("这是func函数")

函数的嵌套调用

在一个函数里面又调用另一个函数,不解释很简单。

变量在函数中的作用域

python 复制代码
"""
知道什么是局部变量:在函数体的内部可以使用,外部不能使用
知道什么是全局变量:在函数体内和体外都可以使用,尽量避免使用全局变量会发生耦合
与c语言一样不解释
"""

# 在函数内修改全局变量


num = 100
def test1():
    print(f"num的值为:{num}")

def test2():
    global num # 非常重要
    num = 200 # 在修改全局变量时,需要对全局变量进行声明,否则还会认为是局部变量
    print(f"num的值为:{num}")


test1()
test2()

函数的综合案例

python 复制代码
"""
简要设计银行存取款业务
包括主菜单:1.查询余额2.存款3.取款4.退出
每个分操作的页面设置

"""
# 定义初始全局变量
name = None
money = 10000

name = input("请输入您的姓名:")

def check():
    global name,money
    print("----------------查询余额----------------")
    print(f"客户的姓名为:{name},账户余额为:{money}")


def cun():
    global name,money
    print("----------------存款----------------")
    count = int(input("请输入存款金额:"))
    money += count
    print(f"客户的姓名为:{name},账户余额为:{money}")

def qu():
    global name,money
    print("----------------取款----------------")
    count = int(input("请输入取款金额:"))
    if (money - count) < 0:
        print("账号余额不足!")
    else:
        money -= count
        print(f"客户的姓名为:{name},账户余额为:{money}")

def main_caidan():
    print("欢迎来到xx银行系统!")
    choose = 0
    while(choose != 4):
        print("""
        1.查询余额
        2.存款
        3.取款
        4.退出
        """)
        choose = int(input("请输入业务请求:"))
        if choose == 1:
            check()
        elif choose == 2:
            cun()
        elif choose == 3:
            qu()
        elif choose == 4:
            print("退出成功")
        else:
            print("输入错误,请重新输入!")

main_caidan()
 

python数据容器

分为5类:列表(list),元组(tuple),字符串(str),字典(dict) 。

数据容器内的每一份数据,都称之为元素。

列表的定义格式

python 复制代码
"""
[元素1,元素2,元素3,...,元素n]
"""
name_list = ["i","love","you"]
print(name_list)
print(type(name_list))
python 复制代码
my_list = ['love',1314,True] # 列表的元素可以是多种数据类型
print(my_list)
print(type(my_list))

列表的嵌套定义

python 复制代码
list2 = [[1,2,3],[4,5,6]] # 二维数组喜喜
print(list2)
print(type(list2))

列表的下表索引取出元素

注意: 从前向后从零开始,从后向前从-1开始,下标索引不要超过范围。

python 复制代码
name_list = ["Tom","Rose","Lily"]
print(name_list[0]) # Tom
print(name_list[1]) # Rose
print(name_list[2]) # Lily
python 复制代码
name_list = ["Tom","Rose","Lily"]
print(name_list[-1]) # Lily
print(name_list[-2]) # Rose
print(name_list[-3]) # Tom
python 复制代码
list2 = [[1,2,3],[4,5,6]] # 二维数组喜喜
print(list2[0][0]) # 1
print(list2[-1][0]) # 4
print(list2[0])

列表的常用操作

查找某元素下标

python 复制代码
"""
插入元素
删除元素
清空列表
修改元素
统计元素个数

列表的方法
"""
"""
查找某元素下标,如果找不到,报错ValueError
语法列表.index(元素)
"""

#定义一个基础的列表 
list_name = ["C++","python","java","go","javaScrip"]
index = list_name.index("python")
print(f"python所在列表的下标索引值为:{index}") # python所在列表的下标索引值为:1
# index = list_name.index("hello") # 报错,元素不存在

修改特定位置(索引)的元素值

python 复制代码
"""
修改特定位置(索引)的元素值
语法:列表[下标] = 值
"""
list_name[0] = 'C' # 将C++修改为C
print(list_name) # ['C', 'python', 'java', 'go', 'javaScrip']

插入元素

python 复制代码
"""
插入元素
语法:列表.insert(下标,元素),在指定的下标位置,插入指定的元素

"""

list_name.insert(0,"C++")
print(list_name)

追加元素

python 复制代码
"""
追加元素
语法:列表.append(元素),将指定元素,追加到列表的尾部
"""
list_name.append("R")
print(list_name)

追加一批元素

python 复制代码
"""
追加一批元素
语法:列表.extend(其他数据容器),将其他数据容器的内容取出,依次追加到列表尾部


"""
list_name2 = [1,2,3]
list_name.extend(list_name2)
print(list_name)

删除元素

python 复制代码
"""
删除元素
语法1:del 列表[下标] # 仅仅删除
语法2:列表.pop(下标) # 删除同时返回删除元素
"""
list_name = ["C++","python","java","go","javaScrip"]
del list_name[1] # 将python删除['C++', 'java', 'go', 'javaScrip']
print(list_name)
python 复制代码
list_name = ["C++","python","java","go","javaScrip"]
element = list_name.pop(1) # 将python删除['C++', 'java', 'go', 'javaScrip']
print(element)
print(list_name)

删除某元素在列表中的第一个匹配项

python 复制代码
"""
删除某元素在列表中的第一个匹配项
语法:列表.remove(元素)
"""
my_list = [1,2,3,2,3]
my_list.remove(2) # [1, 3, 2, 3]
print(my_list)

清空列表内容

python 复制代码
"""
清空列表内容
语法:列表.clear()
"""
my_list = [1,2,3,2,3]
my_list.clear() # []
print(my_list)

统计某元素在列表中的数量

python 复制代码
"""
统计某元素在列表中的数量
语法:列表.count(元素)
"""
my_list = [1,2,3,2,3,2]
print(my_list.count(2)) # 3

统计列表内,有多少元素

python 复制代码
"""
统计列表内,有多少元素
语法:len(列表)
"""
my_list = [1,2,3,2,3,2]
print(len(my_list)) # 6

列表的遍历

1.while循环遍历列表的元素。

2.for循环遍历列表的元素。

python 复制代码
list1 = [ i for i in range(10)]
print(list1)
index = 0
while index < len(list1):
    print(list1[index],end = '\t')
    index += 1
for i in list1:
    print(i,end = '\t')
相关推荐
蹦蹦跳跳真可爱5891 分钟前
Python----Python高级(正则表达式:语法规则,re库)
python·正则表达式
大哥喝阔落4 分钟前
图片专栏——曝光度调整相关
人工智能·python·opencv
新加坡内哥谈技术16 分钟前
本地 AI 模型“不实用”?
人工智能·语言模型·自然语言处理
Channing Lewis18 分钟前
vscode如何选用不同的python的解释器
ide·vscode·python
Scabbards_25 分钟前
用于牙科的多任务视频增强
人工智能·深度学习·算法·机器学习
LPiling40 分钟前
汽车和工业用激光雷达行业分析
人工智能·自动驾驶·汽车
李少兄41 分钟前
解决因JDK升级导致的`java.nio.file.NoSuchFileException`问题
java·python·nio
不爱原创的Yoga1 小时前
自动驾驶汽车需要哪些传感器来感知环境
人工智能·自动驾驶·汽车
Golinie1 小时前
2025年最新深度学习环境搭建:Win11+ cuDNN + CUDA + Pytorch +深度学习环境配置保姆级教程
人工智能·pytorch·深度学习
周杰伦_Jay1 小时前
Ollama能本地部署Llama 3等大模型的原因解析(ollama核心架构、技术特性、实际应用)
数据结构·人工智能·深度学习·架构·transformer·llama