自学python--02高级函数变量

前言

python中数据类型可以分为数字型非数字型

  • 数字型:
    1.整型(int)
    2.浮点型(float)
    3. 布尔型(bool)
    4. 复数型(complex)
  • 非数字型:
  1. 字符串
  2. 列表
  3. 元组
  4. 字典
  5. 集合

列表(list)

  • 定义

  • 用于存储一串信息

  • 列表用 [ ] 表示,数据与数据间用 , 分隔。(相当于其他语言的数组)

  • 索引从0开始,索引就是数据在列表中的位置编号,也叫做下标。用**[索引]**进行取值,如果超出索引范围,程序会报错。

name_list = ["张三", "李四", "王五"]
num_list = [2, 6, 4, 9]
name = name_list[0]
print(name)
  • 常用操作
    在这里插入图片描述
    例如:
    注:还可用.index(数据)函数取索引,如果不存在该数据,程序会出错
    python中列表可以存储不同类型的数据,但是我们通常给列表中存储相同类型的数据。
name_list = ["张三", "李四", "王五"]
num_list = [0, 1, 2, 3]
name = name_list[0]
print(num_list)
#  取索引(如果没有该数据会报错)
name = name_list.index("李四")
print(name)
# 增加
num_list.insert(2, 9)  # 在指定位置插入
print(num_list)
num_list.append(0)  # 在末尾追加数据
print(num_list)
# num_list.extend(name_list)  # 在num_list后面连接name_list
# print(num_list)
# 修改
num_list[0] = 10  # 将num_list[0]的位置修改为10
print(num_list)
# 删除
name = num_list[0]
del name  # 删除列表中第1个元素(从内存中删除,把空间释放掉)
# 后续的代码不能再使用name
num_list.remove(9)  # 将9从列表中删除
print(num_list)
num_list.pop()  # 将列表最后一个元素删除
print(num_list)
num_list.pop(2)  # 将列表中索引为2的数据删除
print(num_list)
# num_list.clear()  # 将列表清空
# print(num_list)
# 统计
length = len(num_list)  # 统计列表的长度
print(length)
count = num_list.count(0)  # 统计0再列表中出现的次数
print(count)
# 排序
num_list.sort()  # 将列表按升序排序(默认升序)
print(num_list)
num_list.sort(reverse=True)  # 将列表按降序排序
print(num_list)
num_list.reverse()  # 将列表逆序
print(num_list)

拓展关键字,函数,方法的区别

  • 关键字:是python内置的,具有特殊意义的标识符。关键字后面不需要使用括号。
  • 函数:封装独立的功能,可以直接使用 函数名(参数)
  • 方法:和函数类似,同样是用来封装这个独立的功能。需要通过对象进行调用,表示针对这个对象进行操作。 对象.方法名(参数)
  • 循环遍历
  • 遍历就是从头到尾依次从列表中获取数据。
  • 在python中为了提高列表遍历的效率,专门提供迭代器iterator遍历
  • 使用for就能够实现迭代器遍历
# for 循环内部使用的变量  in  列表
for  name  in num_list:
		循环内部针对元素进行的操作
		print(name)
# 循环遍历
for num in num_list:
    print(num)

元组(Tuple)

  • 定义
  • 元组表示多个元素组成的序列,与列表类似,不同之处在于元组的元素不能修改。
  • 元组用()定义数据之间用,分隔
num_tuple = ("张三", 18, 120, 175.5)
info_tuple = ()  # 创建空元组
single_tuple = (1, )  # 创建只包含一个元素的元素
# 注:元素后面的,不能丢。否则相当于定义了一个变量
  • 常用操作
# 因为元组中的元素不能变,所以没有增,删,改操作
# 取值
name = num_tuple[0]
print(name)
# 取索引.index()
name_index = num_tuple.index("张三")
print(name_index)
# 返回元组的长度len(元组)
print(len(num_tuple))
# 统计元素出现的次数.count(数据)
print(num_tuple.count("张三"))

  • 循环遍历
# 循环遍历(与列表完全相同,不再赘述)
for name in num_tuple:
    print(name)
  • 应用场景

  • 用于函数的参数返回值,一个函数可以接受任意多个参数,或者一次返回多个数据。

  • 格式字符串,格式化字符串后面的()本来就是一个元组

  • 让列表中的数据不可以被修改,以保护数据安全。

  • 列表和元组可以进行类型转化,通过list()和tuple()函数进行类型转换

# 格式化字符的输出,()就是一个元组
info = ("栗子", 18)
print("%s的年龄是%d" % info)
# 元组与列表的相互转化
# 1>使用list()函数可以把元组转换成列表
info_tuple = ("栗子", 18)
info = list(info)
info[0] = "灭霸"
print(info[0])
# 2>使用tuple()函数把列表转换成元组
info_list = ("栗子", 18)
# info = tuple(info_list)    # 此处info为元组,所以对它进行修改会报错
# info[0] = "灭霸"
# print(info[0])

字典(dict)

  • 定义
  • 字典同样可以用来存储多个数据,而且也是除列表以外最灵活的数据类型。
  • 字典中用{}定义。(有点类似c++中的map)
student = {
    1: "蜘蛛侠",
    2: "钢铁侠",
    3: "黑寡妇"
}

注:

  1. key是索引
  2. value是值
  3. 每个之间用分隔
  4. 元素与元素之间用, 分隔。
  5. 必须是唯一的
  6. 可以是任意类型,但只能是字符串,数字或者元组。
    在这里插入图片描述
  • 常用操作
student = {
    1: "蜘蛛侠",
    2: "钢铁侠",
    3: "黑寡妇"
}
# 1.取值
# 在取值的时候,如果指定的key不存在,程序会报错
print(student[1])
# print(student[9])
# 2.增加/修改
# 如果key存在,会修改键值对
student[1] = "美国队长"
# 如果key不存在,会新增键值对
student[0] = "灭霸"
# 3.删除
# 在删除的时候,如果指定的key不存在,程序会报错
student.pop(0)
# student.pop(9)
print(student)
# 输出key 和value
print(student.keys())
print(student.values())
# 同样可以使用len()但不可以使用count()方法
print(len(student))

  • 循环遍历:是从字典中获取所有的键值对
    格式:
# for 循环内部使用的'key的变量' in 字典:
for k in student:
    print("%d:%s" %(k, student[k]))

字符串

  • 定义

  • 用于表示文本文件的数据类型

  • 在python中使用一对""或者’'定义一个字符串
    注:

  1. 如果在字符串内部使用"",则可以使用’'来定义字符串.
  2. 如果在字符串内部使用’'则可以使用"",来定义字符串.
  3. 大多数编程语言使用""
  • 可以使用索引在字符串的指定位置获取字符,同样从0开始
str1 = "愿你乐于挥霍的时间,都不能当作是浪费"
str2 = "愿你的快乐不缺观众,你的故事有人懂"
str3 = "'无所畏惧'"
str4 = '"勇往直前"'
print(str1)
print(str2)
print(str3)
print(str4)
  • 常用操作

  • 判断类型

方法说明
string.isspace()如果string中只包含空格返回True
string.isalnum()如果string至少有一个字符并且所有字符字母或者数字则返回True
string.isalpha()如果sring至少有一个字符并且所有字符都是字母返回True
string.isdecimal()如果string只包含数字返回True,全角数字,不能判断小数
string.isdight()如果string只包含数字返回True,全角数字,(1),\u00b2
string.isnumeric如果只包含数字返回True,全角数字,汉字数字
# 判断str5是否全为空格,是返回True
str5 = " "
print(str5.isspace())
# 判断str5至少有一个字符并且所有的字符都是有数字和字母组成
str5 = "hello world"
print(str5.isalnum())
# 判断str5是否全有字母组成
str5 = "hello123"
print(str5.isalpha())
# 判断str5是否只为数字
str5 = "hi124"
print(str5.isdecimal())
# 判断str5是否全为数字组成(可以是半角数字)
str5 = "\u00b2"
print(str5.isdigit())
# 判断str5是否全为数字组成(可以是汉字数字)
str5 = "一百万"
print(str5.isnumeric())
  • 大小写转换
方法说明
string.capitalize()把字符串的第一个字符大写
string.title()把字符串每个单词的首字母大写
string.lower()将string中所有的大写字母转换成小写
string.upper()将string中所有的小写字母转换成大写
string.swapcase()翻转string中的大小写
# 将字符串的首字母大写
str6 = "hi,sally"
print(str6.capitalize())
# 将字符串中每个单词的首字母大写
str6 = "good good study, day day up"
print(str6.title())
# 将字符串中的大写字母全部转换成小写
str6 = "I love you !"
print(str6.lower())
# 将字符串中的小写字母全部转换成大写
str6 = "i hate you"
print(str6.upper())
# 将字符串中大写转换成小写,小写转换成大写
str6 = "Hello Python"
print(str6.swapcase())
  • 文本对齐方式
方法说明
string.ljust(width)返回原字符串左对齐,并使用空格填充至width的长度
string.rjust(width)返回原字符串右对齐,并使用空格填充至width的长度
string.center(width)返回一个原字符串居中对齐,并使用空格填充至width的长度
# 使用字符串的文本方式对齐,使诗歌居中输出
poem = [
    "望庐山瀑布",
    "李白",
    "日照香炉生紫烟,",
    "遥看瀑布挂前川。",
    " 飞流直下三千尺,",
    " 疑是银河落九天。"
     ]
for poem_str in poem:
    print("%s" % poem_str.center(20, " "))  # 可以修改填充的元素,和填充完的长度
  • 拆分和连接
方法说明
string.split(str=“a”,num)以str为分隔符拆分,如果有num,则分隔num个长度进行分隔,如果没有num默认为1,str默认包含’\t ‘’\n’’\r’
string.join(seq)以string为分隔符,将seq中所有的元素合并为一个新的字符串
# 以s1为分隔符,将s2合并成一个新的字符串
s1 = "hello"
s2 = "world"
s1.join(s2)
print(s1)
print(s2)
print(s1.join(s2))
  • 字符串的切片
  • 切片方法适用于字符串列表元组
  • 切片使用索引值来限定范围,从一个大的字符串中切出小的字符串。
  • 列表和元组都是有序的集合,可以通过索引来获取对应的数据。
  • 字典是无序的集合,使用键值来获取出局
字符串[开始索引:结束索引:步长]

注:

  1. 指定区间属于左闭右开
  2. 从头开始,开始索引可以省略,冒号不能省略
  3. 到末尾结束,结束索引可以省略,冒号不能省略
  4. 步长默认为1,如果连续切片,数字和冒号都可以省略
num_str = "0123456789"
# 截取2到5的数字
print(num_str[2:6])
# 截取2到末尾的数字
print(num_str[2:])
# 截取开始到5的字符串
print(num_str[:6])
# 从开始位置,每隔一个字符截取一个字符串
# 即输出的都是偶数
print(num_str[::2])
# 要求输出的都是奇数
print(num_str[1::2])
# 截取2到末尾-1的字符串
print(num_str[-1])
print(num_str[2:-1])
# 截取字符串末尾两个人字符串
print(num_str[-2:])  # -2的位置就表示倒数第二个数
# 字符串的逆序
print(num_str[-1::-1])  # 步数为-1表示往左切片

注:步数为负可以进行逆序切片

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值