python2 四五章

目录

函数

语法

注意事项

None类型

在if判断上:

定义变量上:

函数如何返回None

函数的嵌套调用

局部变量

全局变量

global关键字

数据容器

list列表

列表的下标索引

列表的方法

特点

列表的遍历

元组

元组的方法

元组的特点

字符串

字符串的常用操作

字符串特点

序列

序列的常用操作--切片

集合

基本语法

集合的常用操作

集合的特点

字典

字典的定义

字典的嵌套

字典的常用操作

字典的特点

容器特点对比

数据容器的通用操作

len(容器)

max(容器)

min(容器)

转换功能


函数

定义:函数是组织好的,可重复使用的,用来实现特定功能的代码段

语法

def 函数名 (传入参数):

        函数体

        return 返回值

注意事项

①参数如果不需要可以省略

②返回值若不需要,可以省略

③函数必须先定义后使用

None类型

无返回值的函数,实际上就是返回了:None这个字面量

None表示:空的,无实际意义的意思

在if判断上:

None等同于False

一般用于在函数中返回None,配合if判断做相关处理

定义变量上:

定义变得,但暂时不需要变量有具体值,可以用None来代替

函数如何返回None

不使用return语句即返回None

主动return None

函数的嵌套调用

如果函数A中,调用了另外一个函数B,那么先把函数B中的任务都执行完毕之后才会回到上次函数A执行的位置。

局部变量

变量作用域指的是变量的作用范围(变量在哪里可用,在哪里不可用)

主要分为两类:局部变量和全局变量

局部变量:定义在函数体内部的变量,即只在函数体内生效

局部变量的作用域:在函数体内部,临时保存数据,即当函数调用完成之后,则销毁局部变量。

全局变量

全局变量:在函数体内、体外都能生效的变量

global关键字

使用global关键字可以在函数内部声明变量为全局变量。

数据容器

list列表

字面量:[元素1, 元素2,元素3.....]

定义变量:

变量名称 = [元素1,元素2,..... ]

定义空列表:

变量名称 = [ ]

变量名称 = list()

列表内的每一个数据,称之为元素

①以 [ ] 作为标识,

②列表内每一个元素之间,用逗号隔开

列表的下标索引

可以是正向也可以是反向

正向:从前向后的方向,编号从0开始递增

反向:从后向前的方向,编号从-1开始递减

方法:在python中,如果将函数定义为class(类)的成员,那么函数会称之为:方法。

列表的方法

① 查找某元素的下标

功能:查找指定元素在列表的下标,如果找不到,报错ValueError

语法:列表.index(元素)

index就是列表对象(变量)内置的方法(函数)

mylist = ['itheima', 'itcast', 'python']
index = mylist.index('itheima')
print(index)  #0

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

语法:列表[下标] = 值

mylist = ['itcast', 'itheima', 'python']
mylist[0] = '传智教育'
print(mylist)  #['传智教育', 'itheima', 'python']

③ 插入元素

语法:列表.insert(下标,元素),在指定的下标位置,插入指定的元素

mylist = ['itcast', 'itheima', 'python']
mylist.insert(1,'best')
print(mylist) #['itcast', 'best', 'itheima', 'python']

④ 追加元素

语法:列表.append(元素),将指定元素,追加到列表的尾部

mylist = ['itcast', 'itheima', 'python']
mylist.append('jingjing')
print(mylist)   #['itcast', 'itheima', 'python', 'jingjing']

⑤ 追加元素方式二

语法:列表.extend(其它数据容器),将其他数据容器的内容取出,依次追加到列表尾部

mylist = ['itcast', 'itheima', 'python']
list2 =[ '1', '2', '3']
mylist.extend(list2)
print(mylist)   #['itcast', 'itheima', 'python', '1', '2', '3']

⑥ 删除元素

语法1:del 列表[ 下标 ]

mylist = ['itcast', 'itheima', 'python']
del mylist[2]
print(mylist)   #['itcast', 'itheima']

语法2:列表.pop( 下标 )

mylist = ['itcast', 'itheima', 'python']
element = mylist.pop(2)
print(mylist)   #['itcast', 'itheima']
print(element)  #python

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

语法:列表.remove( 元素 )

mylist = ['itcast', 'itheima', 'itcats', 'itheima', 'python']
mylist.remove('itheima')
print(mylist)   #['itcast', 'itcats', 'itheima', 'python']

⑧ 清空列表

语法:列表.clear( )

⑨ 统计某个元素在列表内的数量

语法:列表.count( 元素 )

mylist = ['itcast', 'itheima', 'itcats', 'itheima', 'python']
count = mylist.count('itheima')
print(count)    #2
使用方式作用
列表.append(元素)向列表中追加一个元素
列表.extend(容器)将数据容器的内容依次取出,追加到列表的尾部
列表.insert( 下标,元素)在指定下标处,插入指定的元素
del 列表[ 下标 ]删除列表指定下标元素
列表.pop(下标)山粗列表指定下标元素
列表.remove(元素)从前向后,删除此元素第一个匹配项
列表.clear()清空列表
列表.count(元素)统计此元素在列表中出现的次数
列表.index(元素)查找指定元素在列表的下标,找不到报错ValueEeeor
len(列表)统计容器内有多少元素

特点

  1. 可以容纳不同类型的元素
  2. 数据是有序存储的
  3. 允许数据重复存在
  4. 可以修改

列表的遍历

①while循环

def list_while_func():
    mylist = ['传智教育', '黑马程序员', 'python']
    index = 0
    while index < len(mylist):
        print(mylist[index])
        index += 1

list_while_func()
# 传智教育
# 黑马程序员
# python

②for循环

def list_for_func():
    mylist = ['传智教育', '黑马程序员', 'python']
    for i in mylist:
        print(i)
list_for_func()
# 传智教育
# 黑马程序员
# python

元组

定义:元组使用小括号,且使用逗号隔开各个数据,数据可以是不同的数据类型

定义元组字面量:(元素1,元素2,.......)

定义元组变量:变量名称 = (元素1,元素2.......)

定义空元组:

方式1:变量名称 = ()

方式2:变量名称 = tuple()

注:定义单个元素的元组,元素后面必须写上逗号,不然系统识别为字符串类型

t1 = ('hello')
print(type(t1)) #<class 'str'>
t2 = ('hello', )
print(type(t2)) #<class 'tuple'>

元组的方法

方法作用
index()查找某个数据,如果数据存在返回对应的下标,否则报错
count()统计某个数据在当前元组中出现的次数
len(元组)统计元组内的元素个数

元组的特点

  1. 可以容纳不同类型的数据
  2. 数据是有序存储的
  3. 允许重复数据存在
  4. 不可以修改元组的内容(但是可以修改内部list的内部元素)
  5. 支持for循环

注:

t = (1, 2, ['itheima', 'itcast'])
t[2][0] = '黑马程序员'
t[2][1] = '传智教育'
print(t)    #(1, 2, ['黑马程序员', '传智教育'])

字符串

字符串可以通过下标进行访问:正向和反向

字符串是一个无法修改的数据容器

字符串的常用操作

① 查找特定字符串的下标索引值

语法:字符串.index( 字符串 )

② 字符串的替换

语法:字符串.replace( 字符串1, 字符串2)

功能:将字符串内的全部:字符串1,替换为字符串2

注意:不是修改字符串本身,而是得到一个新的字符串

③ 字符串的分割

语法:字符串.split( 分隔符字符串 )

功能:按照指定的分隔符字符串将字符串划分为多个字符串,并存入列表对象中

注意:字符串本身不变,而是得到了一个列表对象

my_str = 'hello python itheima itcast'
list = my_str.split(' ')
print(list) #['hello', 'python', 'itheima', 'itcast']

④ 字符串的规整操作(去前后空格)

语法:字符串.strip( )

⑤ 字符串的规整操作(去前后指定字符串)

语法:字符串.strip( 字符串 )

注意:传入的需要删除的字符串,是将其分割为多个集合,原字符串中满足其一就会被删除掉

my_str = '    itheima and itcast     '
new_my_str = my_str.strip()
print(new_my_str)   #itheima and itcast
my_str = '21itheima and itcast12'
new_my_str = my_str.strip('123')
print(new_my_str)   #itheima and itcast

⑥ 统计字符串在某字符串的出现的次数

语法:字符串.count( 字符串 )

⑦ 统计字符串的长度

语法:len( 字符串 )

操作说明
字符串[ 下标 ]根据下标索引取出特定位置字符
字符串.index(字符串)查找给定字符的第一个匹配项的下标
字符串.replace(字符串1,字符串2)将字符串内的全部字符串1,替换为字符串2,不会修改原字符串,而是得到一个新的字符串
字符串.split(字符串)按照给定字符串,对字符串进行分割,不修改原字符串,而是得到一个新的列表

字符串.strip()

字符串.strip(字符串)

移除首尾的空格和换行符或指定字符串
字符串.count( )统计字符串内某字符串的出现次数
len(字符串)统计字符串的字符个数

字符串特点

  1. 只可以存储字符串
  2. 长度任意(取决于内存大小)
  3. 支持下标索引
  4. 允许重复字符串存在
  5. 不可以修改(和元组一样)
  6. 支持for循环

序列

序列是指:内容连续、有序,可以使用下标索引的一类数据容器

列表、元组、字符串均可以视为序列

序列的常用操作--切片

切片:从一个序列中,取出一个子序列

语法:序列[ 起始下标:结束下标:步长 ]

表示从序列中,从指定位置开始,依次取出元素,到指定位置结束,得到一个新的序列:

  • 起始下标表示从何处开始,可以留空,留空视作从头开始
  • 结束下标(不含)表示何处结束,可以留空,留空视作截取到结尾
  • 步长表示,依次取元素的间隔

        步长1表示,挨个取元素

        步长2表示,每次跳过1个元素取

        步长N表示,每次跳过N-1个元素取

        步长为负数,反向取(注意,起始下标和结束下标也要反向标记)

集合

基本语法

定义集合字面量:

{元素1,元素2,........}

定义集合变量:

变量名称 = {元素1,元素2,......}

定义空集合:

变量名称 = set( )

集合的常用操作

集合是无序的,集合不支持下标索引访问

集合和列表一样,是允许修改的

① 添加新元素

语法:集合.add( 元素 )

将指定元素,添加到集合内,集合本身会被修改

② 移除元素

语法:集合.remove( 元素 ),将指定元素,从集合内移除

③ 从集合中随机取出元素

语法:集合.pop(),从集合中随机取出一个元素

④ 清空集合

语法:集合.clear()

⑤ 取两个集合的差集

语法:集合1.difference( 集合2 ),功能:取出集合1和集合2的差集(集合1有而集合2没有的)

结果:得到一个新集合,集合1和集合2不变

set1 = {1, 2, 3}
set2 = {1, 5, 6}
set3 =set1.difference(set2)
print(set3) #{2, 3}

⑥ 消除2个集合的差集

语法:集合1.difference_update(集合2)

功能:对比集合1和集合2,在集合1内,删除和集合2相同的元素,所以集合1的内容会发生改变

set1 = {1, 2, 3}
set2 = {1, 5, 6}
set1.difference_update(set2)
print(set1) #{2, 3}
print(set2)#1, 5, 6}

⑦ 两个集合的合并

语法:集合1.union(集合2)

功能:将集合1和集合2组成新集合,集合1和集合2的内容不变

set1 = {1, 2, 3}
set2 = {1, 5, 6}
set3 = set1.union(set2)
print(set3) #{1, 2, 3, 5, 6}

⑧ 统计集合的元素数量

语法:len( 集合 )

⑨ 集合的遍历:只能使用for循环,因为无序,所以不能使用while

操作说明
集合.add( 元素 )集合内添加一个元素
集合.remove(元素)移除集合内指定的元素
集合.pop()从集合中随机取出一个元素
集合.clear()清空集合
集合1.difference(集合2)得到一个新集合,内含2个集合的差集原有的俩个经济和内容不变

集合1.difference_update(集合2)

在集合1中,删除集合2中存在的元素,集合1被修改,集合2不变
集合1.union(集合2)得到一个新集合,内涵两个集合的全部元素,原有的两个集合内容不变
len(集合)统计集合的元素数量

集合的特点

  • 可以容纳多个数据
  • 可以容纳不同类型的数据
  • 数据是无序存储的
  • 不允许数据重复存在
  • 可以修改
  • 支持for循环

字典

字典的定义

定义字典字面量

{key: value, key: value,......}

定义字典变量

my_dict = {key: value, key: value,......}

定义空字典

my_dict = { }

my_dict = dict()

注意:字典同集合一样,不可以使用下标索引,但是字典可以通过key值来取得对应的Value

字典的嵌套

  • 字典的key和value可以是任意数据类型(key不可为字典),所以字典是可以嵌套的
  • 字典内的key不允许重复,重复添加等同于覆盖原有数据
  • 字典不可以使用下标索引,而是通过key检索value

字典的常用操作

① 新增元素

语法:字典[ key ] = value,结果:字典被修改,新增了元素

my_dict1 = {
    '王力宏': {'语文': 77, '数学': 88, '英语': 78},
    '周杰伦': {'语文': 87, '数学': 80, '英语': 72},
    '林俊杰': {'语文': 37, '数学': 84, '英语': 70},
}
my_dict1['静静'] = {'语文': 97, '数学': 99, '英语': 98}
print(my_dict1)
#{'王力宏': {'语文': 77, '数学': 88, '英语': 78}, 
# '周杰伦': {'语文': 87, '数学': 80, '英语': 72}, '
# 林俊杰': {'语文': 37, '数学': 84, '英语': 70},
# '静静': {'语文': 97, '数学': 99, '英语': 98}}

② 更新元素

语法:字典[ key ] = value,结果:字典被修改,元素被更新

注意:字典的可以不可以重复,所以对于已存在的key执行上述操作,就是更新value值

my_dict1 = {
    '王力宏': {'语文': 77, '数学': 88, '英语': 78},
    '周杰伦': {'语文': 87, '数学': 80, '英语': 72},
    '林俊杰': {'语文': 37, '数学': 84, '英语': 70},
}
my_dict1['周杰伦'] = {'语文': 97, '数学': 99, '英语': 98}
print(my_dict1)
#{'王力宏': {'语文': 77, '数学': 88, '英语': 78},
# '周杰伦': {'语文': 97, '数学': 99, '英语': 98},
# 林俊杰': {'语文': 37, '数学': 84, '英语': 70}}
my_dict1['周杰伦']['数学'] = 40
print(my_dict1)
#{'王力宏': {'语文': 77, '数学': 88, '英语': 78}, 
# '周杰伦': {'语文': 97, '数学': 40, '英语': 98}, '
# 林俊杰': {'语文': 37, '数学': 84, '英语': 70}}

③ 删除元素

语法:字典.pop(key),结果:获得指定key的value,同时字典被修改,指定key的数据被删除

my_dict1 = {
    '王力宏': {'语文': 77, '数学': 88, '英语': 78},
    '周杰伦': {'语文': 87, '数学': 80, '英语': 72},
    '林俊杰': {'语文': 37, '数学': 84, '英语': 70},
}
score = my_dict1.pop('周杰伦')
print(score)    #{'语文': 87, '数学': 80, '英语': 72}
print(my_dict1)#{'王力宏': {'语文': 77, '数学': 88, '英语': 78}, '林俊杰': {'语文': 37, '数学': 84, '英语': 70}}

④ 清空字典

语法:字典.clear()

⑤ 获取字典中全部的key

语法:字典.keys()

my_dict1 = {
    '王力宏': {'语文': 77, '数学': 88, '英语': 78},
    '周杰伦': {'语文': 87, '数学': 80, '英语': 72},
    '林俊杰': {'语文': 37, '数学': 84, '英语': 70},
}
keys = my_dict1.keys()
print(keys) #dict_keys(['王力宏', '周杰伦', '林俊杰'])

⑥ 遍历字典

方式1:

my_dict1 = {
    '王力宏': {'语文': 77, '数学': 88, '英语': 78},
    '周杰伦': {'语文': 87, '数学': 80, '英语': 72},
    '林俊杰': {'语文': 37, '数学': 84, '英语': 70},
}
for key in my_dict1.keys():
    print(f'{key}:{my_dict1[key]}')
 #王力宏:{'语文': 77, '数学': 88, '英语': 78}
# 周杰伦:{'语文': 87, '数学': 80, '英语': 72}
# 林俊杰:{'语文': 37, '数学': 84, '英语': 70}

方式2:

my_dict1 = {
    '王力宏': {'语文': 77, '数学': 88, '英语': 78},
    '周杰伦': {'语文': 87, '数学': 80, '英语': 72},
    '林俊杰': {'语文': 37, '数学': 84, '英语': 70},
}
for key in my_dict1:
    print(f'{key}:{my_dict1[key]}')
#王力宏:{'语文': 77, '数学': 88, '英语': 78}
# 周杰伦:{'语文': 87, '数学': 80, '英语': 72}
# 林俊杰:{'语文': 37, '数学': 84, '英语': 70}

⑦ 统计字典的元素数量

语法:len(字典)

操作说明
字典[ key ]获取指定key对应的value值
字典[ key ] = value添加或更新键值对
字典.pop(key)取出key对应的value并在字典内删除此key的键值对
字典.clear()清空字典
字典.keys()获取字典的全部key,可用于for循环遍历字典
len(字典)计算字典内的元素数量

字典的特点

  • 可以容纳多个数据
  • 可以容纳多个不同数据类型的数据
  • 每一份数据都是key-value键值对
  • 可以通过key获取到value,key不可以重复
  • 不支持下标索引
  • 可以修改
  • 支持for循环,不支持while循环

容器特点对比

列表元组字符串集合字典
元素数量支持多个支持多个支持多个支持多个支持多个
元素类型任意任意仅字符任意

key: value

key:除字典外任意类型

value:任意类型

下标索引支持支持支持不支持不支持
重复元素支持支持支持不支持不支持
可修改性支持不支持不支持支持支持
数据有序有序有序有序无序无序

数据容器的通用操作

len(容器)

统计容器的元素个数

max(容器)

统计容器的最大元素

min(容器)

统计容器的最小元素

my_list = [1, 2, 3, 4, 5]
my_tuple = (1, 2, 3, 4, 5)
my_str = 'abcdefg'
my_set = {1, 2, 3, 4, 5}
my_dict = {'key1': 1, 'key2': 2,'key3': 3, 'key4': 4,'key5': 5}
print(max(my_list)) #5
print(max(my_tuple))    #5
print(max(my_str))  #g
print(max(my_set))  #5
print(max(my_dict)) #key5
my_list = [1, 2, 3, 4, 5]
my_tuple = (1, 2, 3, 4, 5)
my_str = 'abcdefg'
my_set = {1, 2, 3, 4, 5}
my_dict = {'key1': 1, 'key2': 2,'key3': 3, 'key4': 4,'key5': 5}
print(min(my_list)) #1
print(min(my_tuple))    #1
print(min(my_str))  #a
print(min(my_set))  #1
print(min(my_dict)) #key1

转换功能

① list(容器):给定容器转换为列表

my_list = [1, 2, 3, 4, 5]
my_tuple = (1, 2, 3, 4, 5)
my_str = 'abcdefg'
my_set = {1, 2, 3, 4, 5}
my_dict = {'key1': 1, 'key2': 2,'key3': 3, 'key4': 4,'key5': 5}
print(list(my_tuple))   #[1, 2, 3, 4, 5]
print(list(my_str))     #['a', 'b', 'c', 'd', 'e', 'f', 'g']
print(list(my_set)) #[1, 2, 3, 4, 5]
print(list(my_dict))    #['key1', 'key2', 'key3', 'key4', 'key5']

② str(容器):给定容器转换为字符串

my_list = [1, 2, 3, 4, 5]
my_tuple = (1, 2, 3, 4, 5)
my_str = 'abcdefg'
my_set = {1, 2, 3, 4, 5}
my_dict = {'key1': 1, 'key2': 2,'key3': 3, 'key4': 4,'key5': 5}
print(str(my_list))   #([1, 2, 3, 4, 5]
print(str(my_tuple))     #(1, 2, 3, 4, 5)
print(str(my_set)) #{1, 2, 3, 4, 5}
print(str(my_dict))    #{'key1': 1, 'key2': 2, 'key3': 3, 'key4': 4, 'key5': 5}

③ tuple(容器):给定容器转换为元组

my_list = [1, 2, 3, 4, 5]
my_tuple = (1, 2, 3, 4, 5)
my_str = 'abcdefg'
my_set = {1, 2, 3, 4, 5}
my_dict = {'key1': 1, 'key2': 2,'key3': 3, 'key4': 4,'key5': 5}
print(tuple(my_list))   #(1, 2, 3, 4, 5)
print(tuple(my_str))     #('a', 'b', 'c', 'd', 'e', 'f', 'g')
print(tuple(my_set)) #(1, 2, 3, 4, 5)
print(tuple(my_dict))    #('key1', 'key2', 'key3', 'key4', 'key5')

④ set(容器):给定容器转换为集合

my_list = [1, 2, 3, 4, 5]
my_tuple = (1, 2, 3, 4, 5)
my_str = 'abcdefg'
my_set = {1, 2, 3, 4, 5}
my_dict = {'key1': 1, 'key2': 2,'key3': 3, 'key4': 4,'key5': 5}
print(set(my_list))   #{1, 2, 3, 4, 5}
print(set(my_tuple))     #{1, 2, 3, 4, 5}
print(set(my_str)) #{'d', 'a', 'b', 'f', 'e', 'c', 'g'}
print(set(my_dict))    #{'key4', 'key1', 'key5', 'key2', 'key3'}

⑤ sorted(序列,[reverse = True]):排序,reverse = True表示降序得到一个排好的列表

my_list = [3, 2, 1, 4, 5]
my_tuple = (3, 2, 1, 4, 5)
my_str = 'adbcefg'
my_set = {3, 2, 1, 4, 5}
my_dict = {'key3': 1, 'key2': 2,'key1': 3, 'key4': 4,'key5': 5}
print(sorted(my_list))   #{1, 2, 3, 4, 5}
print(sorted(my_tuple))     #[1, 2, 3, 4, 5]
print(sorted(my_str)) #['a', 'b', 'c', 'd', 'e', 'f', 'g']
print(sorted(my_dict))    #['key1', 'key2', 'key3', 'key4', 'key5']

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值