python复习-概念总结1

一、循环

流程:就是计算机执行代码的顺序
流程控制:对计算机代码执行的顺序进行有效的管理,只有流程控制才能实现在开发当中的
业务逻辑
流程控制的分类:
1.顺序流程:就是代码一种自上而下的执行结构,也是python默认的流程
2.选择流程/分支流程:根据在某一步的判断,有选择的去执行相应的逻辑的一种结构
2.1 单分支
2.2 双分支
2.3 多分支
3.循环流程:在满足一定的条件下,一直重复的去执行某段代码的逻辑【事情】


二、序列以及字典

序列:在python当中,序列就是一组按照顺序排列的值【数据集合】
在python中存在三种内置的序列类型:
字符串、列表、元组

序列优点:可以支持索引和切片的操作
特征:第一个正索引为0,指向的是左端,当索引为负数的时候,指向的是右端

切片:【高级特性】可以根据下标来获取序列对象的任意【部分】数据
语法结构:【start:end:step】step默认是1

list:python当中非常重要的数据结构
特点:
1.支持增删改查
2.列表中的数据是可以变化的【数据项可以变化,内存地址不会改变】
3.用[]来表示列表类型,数据项之间用逗号来分割,注意:数据项可以是任何类型的数据
4.支持索引和切片进行操作

元组:是一种不可变的序列,在创建之后不能做任何的修改
1.不可变
2.用()创建元组类型,数组项用逗号来分割
3.可以是任何的类型
4.当元组中只有一个元素时,要加上逗号,不然解释器会当作整型来处理
5.同样可以支持切片操作

字典:也是python中重要的数据类型,字典是由键值对组成的集合,通常使用键来
访问数据,效率非常高,和list一样,支持对数据的添加、修改、删除

特点:
1.不是序列类型,没有下标的概念,是一个无序的键值集合,是内置的高级数据类型
2.用{}来表示字典对象,每个键值对用逗号分隔
3.键 必须是不可变的类型【元组、字符串】 值可以是任意类型
4.每个键必定是唯一的,如果存在重复的键,后者会覆盖前者


三、函数

什么是函数:一系列python语句的组合,可以在程序中运行一次或者多次,
一般是完成具体的独立的功能
为什么要使用函数:
代码的复用最大化以及最小化冗余代码,整体代码结构清晰,问题局部化

函数定义:
def 函数名():
函数体【一系列的python语句,表示独立的功能】
函数的调用:
本质上就是去执行函数定义里面的代码块,在调用函数之前 必须先定义

参数的分类:
必选参数、默认参数【缺省参数】、可选参数、关键字参数
参数:起始就是函数为了实现某项特定的功能,进而为了得到实现功能所需要的数据
为了的到外部数据的

形式参数:只是意义上的一种参数,在定义的时候是不占用内存地址的
实际参数:实参,实实在在的参数,是实际占用内存地址的
默认参数【缺省参数】:始终存在于参数列表中的为尾部
可选参数:
1.*parameter:表示接收任意多个实际参数并将其放到一个元组中
2.**parameter:表示接收任意多个类似关键字参数并将其放到一个字典中
注:可选参数必须放到关键字参数之前(*parameter必需在**parameter之前)


函数返回值
概念:函数执行完以后会返回一个对象,如果在函数的内部有return 就可以返回实际的值,
否则返回None
类型:可以返回任意类型,返回值类型应该取决于return后面的类型
用途:给调用方返回数据
在一个函数体内可以出现多个return值,但是肯定只能返回一个return
如果在一个函数体内执行了return,意味着函数就执行完成退出了,return后面的语句将不会执行

函数分分类:根据函数的返回值和函数的参数
有参数无返回值:一般用于提示信息打印
有参数有返回值:多用在数据采集中,比如获取系统信息
无参数无返回值:多用在设置某些不需要返回值的参数设置
无参数有返回值:一般是计算型的,需要参数,最终也要返回结果

局部变量:就是在函数内部定义的变量【作用域仅仅局限在函数的内部】
局部变量的作用:为了临时的保存数据,需要在函数中定义来进行存储


exa:

#不可变类型
a = 1
def fun(x):
print('x的地址{}'.format(id(x)))
x = 2
print('x的值修改之后的地址:{}'.format(id(x)))
print(x)

print('a的地址:{}'.format(id(a)))
fun(a)
print(a)

输出:
a的地址:2317106964784
x的地址2317106964784
x的值修改之后的地址:2317106964816
2
1

#可变类型,地址是不会改变的,也就是对对象的引用是不会变的
li = []
def testRenc(parms):
li.append([1,2,3,4,5])
print(id(parms))
print('内部的变量对象{}'.format(parms))


print(id(li))
testRenc(li)
print('外部的变量对象{}'.format(li))

输出:
2714000049664
2714000049664
内部的变量对象[[1, 2, 3, 4, 5]]
外部的变量对象[[1, 2, 3, 4, 5]]

小结:
1.在python当中,万物皆对象,在函数调用的时候,实参传递的就是对象的引用
2.了解了原理之后,就可以更好的去把控,在函数内部的处理是否会影响到函数外部的数据变化
3.参数传递是通过对象引用来完成(重要)

set不支持索引和切片,是一个无序的且不重复的容器
类似于字典,但是只有key,没有value

原文地址:https://www.cnblogs.com/LEPENGYANG/p/14226068.html