Python(三)~22.02.02

本文深入探讨了Python编程中的函数、模块和高级变量。详细讲解了函数参数、形参实参、返回值及函数嵌套,强调了函数在提高代码复用性中的作用。此外,介绍了模块的概念,包括如何导入和使用模块,以及模块的.pyc字节码优化。接着,讨论了Python中的数据类型,特别是列表、元组和字典的特点与应用场景,以及它们之间的转换。最后,简要阐述了字符串的基本操作和切片功能。
摘要由CSDN通过智能技术生成

一、函数
1.函数参数
函数的参数,增加了函数的通用性,针对相同的数据处理逻辑,能够适应更多的数据。

2.形参和实参

3.函数的返回值
使用return

return 表示返回,后续的代码都不会被执行。

def sum_2_num(num1, num2):
    """对两个数字的求和"""
    return num1 + num2


# 调用函数,并使用result变量接收计算结果
result = sum_2_num(10,20)

4.函数的嵌套调用
一个函数里面又调用了另外一个函数。

def test1():
    print("*" * 20)


def test2():
    print("-" * 20)
    # 函数的嵌套调用
    test1()
    print("-" * 20)


test2()

分隔线演练

def print_line(char, times):
    """能够打印由任意字符组成的重复任意次数的分隔线"""
    print(char * times)


def print_lines(char, times):
    """打印5行分割线

    :param char:分割线使用的分隔字符
    :param times:分割线重复的次数
    """
    row = 0
    while row < 5:
        print_line(char,times)
        row += 1


print_lines("~ ", 10)

利用PyCharm给函数增加文档注释
将鼠标移到函数名上,点击黄色小灯泡,选择"Insert documentation string stub"。
在函数调用处用CTRL+Q进行查看。

二、模块
1.模块是python程序架构的一个核心概念。
每一个以扩展名.py结尾的python源代码文件都是一个模块;在模块中定义的全局变量、函数都是模块能够提供给外界直接使用的工具。

模块好比工具包,要想使用这个工具包中的工具,就需要导入import这个模块。

2.示例
将以上分割线演练的代码复制到hm_01_分割线模块.py文件中,并在最后增加一行代码name = “Bob”,在hm_02_示例模块.py文件中,有以下代码:

import hm_01_分割线模块
hm_01_分割线模块.print_line("-" , 20)
print(hm_01_分割线模块.name)

可以在一个python文件中定义变量或者函数,然后在另一个文件中用import导入这个模块,导入之后,就可以使用模块名.变量/模块名.函数的方式,使用这个模块中定义的变量或者函数。

3.模块名也是一个标识符

4.Pyc文件
C是compiled编译过的意思。

操作步骤
浏览程序目录会发现一个__pycache__的目录;
目录下会有一个hm_01_分隔线模块.cpython-35.pyc文件,cpython-35表示Python解释器的版本;
这个pyc文件是由 官方的Python解释器将模块的源码转换为字节码;
【当python解释器发现import关键字时,就会将其对应的模块(很少会修改)编译成一个二进制文件,这样就不需要再解释一行执行一行,大大提高了速度】

Python这样保存字节码是作为一种启动速度的优化

字节码
Python在解释源程序时是分成两个步骤的:
a.首先处理源代码,编译生成一个二进制字节码
b.再对字节码进行处理,才会生成CPU能够识别的机器码

  • 有了模块的字节码文件之后,下一次运行程序时,如果在上次保存字节码之后没有修改过源代码,Python将会加载.pyc文件并跳过编译这个步骤。
  • 当Python重编译时,它会自动检查源文件和字节码文件的时间戳。
  • 如果你又修改了源代码,下次程序运行时,字节码将自动重新创建。

三、高级变量
1.数据类型
数字型:int,float,bool,complex(复数型)
非数字型:字符串、列表、元祖、字典

在python中,所有非数字型变量都支持以下特点:
都是一个序列sequence,也可以理解为容器;
取值[];
遍历for in;
计算长度、最大/最小值、比较、删除;
链接+和重复*;
切片;

2.列表
(1)List(列表)是Python中使用最频繁的数据类型,在其他语言中通常叫做数组。

  • 专门用于存储一串信息
  • 列表用[]定义,数据之间使用,分隔
  • 列表的索引从0开始

索引就是数据在列表中的位置编号,索引又可以被称为下标

注意:从列表中取值时,如果超出索引范围,程序会报错

name_list = ["ZhangSan", "LiSi", "WangWu"]

在这里插入图片描述
(2)确认列表常用操作
在IPython中输入

name_list = []
# 这里列表中没有任何内容

然后输入name_list.
按tab键,就可以看到列表的各种常用操作。
在这里插入图片描述
(3)列表的常用操作
在这里插入图片描述

name_list = ["ZhangSan", "LiSi", "WangWu"]

# 1.取值(注意不要越界)
# list index out of range - 列表索引超出范围
print(name_list[2])  # WangWu

# 2.取索引(确定数据在列表中的位置)
print(name_list.index("LiSi"))  # 1
# ValueError: 'ZhaoLiu' is not in list
# print(name_list.index("ZhaoLiu"))  # error

# 3.修改指定位置的数据
name_list[1] = "李四"
# IndexError: list assignment index out of range
# name_list[3] = "赵六"  #error

# 4.向列表中增加数据
# append方法向列表的末尾追加数据
name_list.append("小明")
# insert方法在列表的指定索引位置插入数据
# insert(self, index, object)
name_list.insert(1, "小红")
# extend方法可以将其他列表中的完整内容,追加到当前列表的末尾
# extend(self, iterable)
temp_list = ["孙悟空", "猪悟能", "沙悟净"]
name_list.extend(temp_list)

# 5.删除列表中的数据
# remove方法从列表中删除指定的数据
# remove(self, object)
name_list.remove("WangWu")
# pop(self, index)
# pop方法不加任何参数,表示默认把列表最后一个元素删除
name_list.pop()
# pop方法可以指定要删除元素的索引
name_list.pop(3)  # 删除name_list[3]
# clear方法可以清空整个列表
# clear(self)
name_list.clear()
# 清空后输出[]
print(name_list)

使用del关键字从列表删除数据
提示:在日常开发中,要从列表中删除数据,还是建议使用列表提供的方法而不是del关键字。

name_list = ["张三", "李四", "王五"]
# 使用del关键字(delete)删除列表元素
del name_list[1]
print(name_list)  # ['张三', '王五']

# del关键字本质上是用来将一个变量从内存中删除的
name =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值