自学内容网 自学内容网

python基础知识(六)--字典遍历、公共运算符、公共方法、函数、变量分类、参数分类、拆包、引用

字典遍历方法

函数名含义
keys()以列表的形式,返回一个字典所有的键。
values()以列表的形式,返回一个字典所有的值。
items()返回由键值组成的序列,主要应用于遍历字典。

公共运算符

运算符描述支持的容器类型
+合并字符串、列表、元组
*复制字符串、列表、元组
in元素是否存在字符串、列表、元组、字典
not in元素是否不存在字符串、列表、元组、字典

公共方法

能适用于Python容器的一些通用方法

描述
len(s)计算容器中的元素总个数
del删除
max()返回容器中元素最大值
min()返回容器中元素最小值

函数

语法:

def 函数名([参数, ..]):
    代码1
    代码2
    ...
    [return 具体的值]

(1)当将一些代码进行封装在一块,并给这块代码取了个名字,就叫做函数;

(2)定义函数时,需要使用(def)关键字。

函数特点:

(1)先定义,后调用;

(2)不调用,不执行;

(3)调用一次,执行一次。

#定义函数
def 函数名():
   代码1
   代码2
   ...
 #调用函数
 函数名()

函数的参数

当在定义函数时,设定了参数,则可称该函数为:有参函数。反之,没有参数的函数,称为:无参函数。

定义有参数的函数,

语法:

def 函数名(参数1,参数2,...):  # 形参
    代码1
    代码2
    ...

调用函数,

语法:

函数名(参数值1,参数值2,...)  # 实参

函数的返回值

函数的返回值指的是:当函数完成一件事情后,最后要返回给函数的结果。

def 函数名([参数1, 参数2, ...]):
        代码1
        代码2
        ...
        return 值

说明:

(1)若要给函数返回结果,需要使用return关键字;

(2)return关键字的作用:把结果返回给函数;结束函数;

(3)当函数没有返回值时,默认返回None

说明文档

说明文档指的是:在定义函数的第一行,加上多行注释。这样的操作,可以让函数更加规范化。

def 函数名():
    """ 说明文档的位置 """
    代码
    ...

函数的嵌套调用

函数的嵌套调用指的是:在一个函数中,调用了另一个函数。

嵌套调用语法:

def 函数1():
        代码
        ...

def 函数2():
        代码
        # 调用函数1
        函数1()
        ...

变量分类

变量分类

特点

局部变量

局部变量只作用于当前所在函数内, 局部变量不能作用在该函数之外的区域。

全局变量

全局变量: (1)全局变量是指与函数处于同一级别的变量; (2)注意:当函数中的局部变量与全局变量同名时,在函数中使用的是局部变量的值。 (1)当要定义一个作用在整个模块的变量时,就可以使用全局变量; (2)注意:当要给全局变量修改值时,需要先使用(global)关键字来声明。 升级: 实际上,对于不可变类型的全局变量要修改值, 需要使用global声明; 但是对于可变类型的数据内容-全局变量, 可以不需要声明.

参数分类

参数类型

特点

位置参数

1)当调用函数时,要按照定义函数时的参数位置,进行传递值。 2)在给位置参数传递值时,要注意参数的(个数)、类型和顺序

关键字参数

1)当传递关键字参数时,可以使用【键 = 值】形式来指定参数; 2)当采用关键字参数传递值时,可以不关注参数的顺序,参数名要正确,参数个数要对应

缺省参数

也叫默认参数: 1)若给函数定义了缺省参数,则在调用函数时可以省略该参数值的传递; 2)缺省参数必须定义在其他参数的最末尾处,可以定义多个缺省参数

不定长参数

也叫可变参数: 1)注意:如果不确定要给函数传递多少个参数值时,可以优先考虑使用(不定长参数) 2)当给不定长参数传递数值时,可以理解为:就是综合运用位置参数和关键字参数来传值。

拆包

在Python程序中的拆包:把组合形成的元组形式的数据,拆分出单个元素内容。

变量名1,变量名2,... = 结果

例如,一起来完成:

(1)在一个函数中,使用return返回求解两个数的和、差;

(2)使用items()方式遍历处理字典中存储的学生信息各个键与值;

(3)分别使用拆包方式来拆分数据。

# 1.定义函数, 返回多个数据
def get_sum_sub(a, b):
     sum = a + b
     sub = a - b
     return sum,sub

result = get_sum_sub(560,89)
print(result)  # (649, 471)


ret1, ret2 = get_sum_sub(560,89)
print(f"和为:{ret1}")
print(f"差为:{ret2}")

# 2.items()处理
student = {"name": "马云", "age": 28, "gender": "男"}
for key,value in student.items():
    print(f"{key} --> {value}")

==总结:==

(1)当要把一个组合的结果快速获取元素数据时,可以使用拆包来完成;

(2)注意:对列表、元组数据结果,都可以使用拆包方式。

交换变量值

使用拆包方式可以用于交换变量的值。

例如,一起来完成:

(1)有变量a、b,请完成变量之间值的交换;

(2)使用引入第三方变量的形式完成数值的交换;

(3)使用拆包方式完成数值交换。

# 1.拆包 -互换两个数位置
a = 10
b = 98
b, a = (a,b)
print(f"变量a={a}, b={b}")
(a,b) = (b,a)
# 2.求最大最小值
data = [12,3,14,56,7,0,1,-199]
data = [12,3,14,56,7,100,1,199]
# 1.先入为主;   2.简化操作
# 最大值
max_value = data[0]
# 最小值
min_value = data[0]
# min_value = 0
for temp in data:
    if max_value < temp:
        max_value = temp
    if min_value > temp:
        min_value = temp
print(f"最大值:{max_value}")
print(f"最小值:{min_value}")

==总结:==

(1)交换两个变量的方式较多,但最简单的是:直接使用拆包方式交换值。

引用

引用可以通俗的称为内存地址值。在Python中,引用有两种表现形式:

(1)十进制数 5040624

(2)十六进制数 0x45AC6 [后期讲解]

注意:在Python中,变量值是通过引用来传递的。

查看引用语法:

id(变量名)

说明:

我们可以把id()值理解为变量所在内存的地址值。

例如,一起来完成:

(1)定义一个变量a,查看变量的引用值;

(2)思考:有两个列表变量[1, 2],分别使用==和is去比较,结果如何?

# 1.定义变量,查看引用
a = 10
print(a)
print(id(a))  # 140704783964096
# 明确: 内存地址值是随机分配

# 2.==  is
# is比较的是内存地址值
# ==比较内容值
alist = [1,2]
blist = [1,2]
print(alist == blist)  # True
print(alist is blist)  # False
print(id(alist))
print(id(blist))

==总结:==

(1)当要查看一个变量的内存地址值时,可以使用()函数;==A、id()==;B、position()

(2)注意:比较两个变量的值是否相等时,使用==;比较两个变量的内存地址值是否相同时,使用is关键字。

[了解]把引用当做参数传递

我们知道,当定义函数时设定了参数,则在调用函数时也需要传递参数值。

而实际上,当给函数传递参数时,其本质就是:把引用当做参数进行传递。

例如,一起来完成:

(1)定义有一个参数的函数,并在调用函数时传递一个参数值;

(2)同时输出参数值与在函数内的参数的引用值,对比效果。

# 1.定义有参数的函数
def func(a):
    print("====================")
    print(f"a的引用值:{id(a)}")
    print("====================")

# 2.外面输出、函数内输出
number = 100
print(id(number))  # 140704783966976
func(number)

==总结:==

(1)当把变量传递给函数时,本质上是:传递变量的引用值。


原文地址:https://blog.csdn.net/weixin_58468790/article/details/142291183

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!