当前位置: 首页> 健康> 养生 > 龙岩一线网络有限公司_电子工程网名又知道你是做工程_线上推广活动有哪些_网站seo搜索

龙岩一线网络有限公司_电子工程网名又知道你是做工程_线上推广活动有哪些_网站seo搜索

时间:2025/8/7 2:21:25来源:https://blog.csdn.net/aaqq800520/article/details/144473267 浏览次数:0次
龙岩一线网络有限公司_电子工程网名又知道你是做工程_线上推广活动有哪些_网站seo搜索

目录

一,函数

二,列表和元组

2.1 列表基础操作

2.2 切片

2.3 列表的增删查改

2.4 连接链表

2.5 元组 

三,字典

3.1 关于字典

3.2 字典的增删查改操作

3.3 遍历字典元素

3.4 合法的key类型

四,文件操作

4.1 打开关闭文件

4.2 读写文件

4.3 关于中文的处理


一,函数

Python 的函数和 C/C++ 的大体规则一致,但也有几点不同:

  • Python 的函数由def 开头,后面跟上函数名和参数列表,不需要在前面带上返回值类型
  • Python 的函数没有花括号,以def开头,return结尾,并且 Python 可以一次返回多个值,以逗号隔开
  • Python 的参数可以设定默认值,这点和 C++ 缺省参数一样
def Range(begin=1, end=100): #参数可以设置默认值sum = 0for i in range(begin, end+1):sum += ireturn begin, end, sum #可以一次返回多个参数x = input('请输入第一个数 x:')
y = input('请输入第二个数 y:')
x = int(x)
y = int(y)a, b, sum = Range(x, y)
print(f'x({a}) 与 y({b}) 中间所有数的和为:{sum}')

 

其它的像变量作用域,链式和嵌套调用以及递归等方面,Python对这些内容的定义和C++是一样的,这里不再赘述

二,列表和元组

2.1 列表基础操作

直接看代码,学习一门语言最简单粗暴的方式就是直接分析代码:

alist = [1, 'hello', True, 1.11] #允许往列表存放不同类型的元素
alist[2] = 'world' #可以通过下标访问和修改
print(alist[2])
print(alist[-1]) #下标为负数时表示倒数第几个值

 

可以用for或while来遍历列表元素:

alist = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 直接打印
for elem in alist:print(elem)# 通过下标访问打印
for i in range(0, len(alist)):print(alist[i])# 使用while打印
i = 0
while i < len(alist):print(alist[i])i += 1

2.2 切片

下标访问是一次访问一个元素,通过切片可以一次访问一组连续的元素,相当于得到一个子列表:

alist = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(alist[1:3]) #表示的是[1, 3) 这样的前闭后开区间,所以最终结果只有2,3
print(alist[1:])        # 省略后边界, 表示获取到列表末尾
print(alist[:-1])       # 省略前边界, 表示从列表开头获取
print(alist[:])         # 省略两个边界, 表示获取到整个列表.#切片操作还可以指定 "步长" , 也就是 "每访问一个元素后, 下标自增几步"
print(alist[::2])
print(alist[::5])#步长可以是负数,表示从后往前访问,下标自减几步
print(alist[::-2])
print(alist[::-5])

 

2.3 列表的增删查改

直接看代码:

alist = [1, 2, 3, 4]
# 1,增加操作
alist.append(5) #append 在末尾新增一个元素,俗称“尾插”
alist.insert(1, 'hello') #insert 表示在指定位置插入
print(alist)# 2,删除操作
alist.pop() # 不加参数表示删除最后一个元素,俗称“尾删”
alist.pop(1) # 按照下标删除元素
alist.remove(3) # 按照值删除元素
print(alist)# 3,查找操作
print(2 in alist) #in操作符表示判断该元素是否在列表中,返回值是布尔类型
print(10 in alist)print(alist.index(2)) #index方法表示查找元素在列表中的下标,返回值是一个整数,如果元素不存在,则抛异常
print(alist.index(10))

2.4 连接链表

直接看代码:

from string import printablealist1 = [1, 2, 3, 4, 5]
alist2 = [6, 7, 8, 9, 10]print(alist1 + alist2) # +结果会生成一个新的列表,而不会影响到旧列表alist1.extend(alist1)
print(alist1)
print(alist2)

2.5 元组 

元组的功能和列表基本是一致的,但也有几点不同:

  • 元组用 ( ) 来表示
  • 元组不能修改里面的元素, 列表则可以修改里面的元素
  • 因此, 像读操作,比如访问下标, 切片, 遍历, in, index, + 等, 元组也是一样支持的.
  • 但是, 像写操作, 比如修改元素, 新增元素, 删除元素, extend 等, 元组则不能支持
  • 另外, 元组在 Python 中很多时候是默认的集合类型. 例如, 当一个函数返回多个值的时候,返回的元素类型其实是元组
atuple = (1, 2, 3, 4)def getPoint():return 10, 20
result = getPoint()print(atuple)
print(type(atuple))
print(type(result))

 

问题:有列表了为什么还要有元组?

解答:

  •  你有一个列表,现在需要调用一个函数进行一些处理;但是你有不是特别确认这个函数是否会把你的列表数据弄乱,那么这时候传一个元组就安全很多
  • 我们马上要讲的字典,是一个键值对结构。要求字典的键必须是 "可hash对象" (字典本质上也是一个hash表),而一个可hash对象的前提就是不可变,因此元组可以作为字典的键,但是列表不行

三,字典

3.1 关于字典

字典是一种键值对的结构,如下代码:

a = { } #创建空的字典
b = dict()
print(type(a))
print(type(b))

 

 也可以在创建的同时指定初始值,键值对之间用逗号分开,如下代码:

student = {'id': 1, 'name': '张三'}# 为了美观,我们创建字典时,分成多行来写
student1 = {'id': 2,'name': '李四' #最后一个键值对的逗号可写可不写
}print(student)
print(student1)

 

3.2 字典的增删查改操作

student = {'id': 1,'name': '张三'
}#新增/修改:使用 [] 根据key来新增/修改 value
student['score'] = 90 # 如果key不存在,则在后面新增键值对
print(student)student['score'] = 100 # 如果key存在,则修改键值对的value
print(student)# 查询操作
print('id' in student) # 判定key是否在字典中,返回类型是布尔
print(['id']) # 使用[]来根据key查找对应的value,如果不存在会抛异常# 删除操作
student.pop('score') # 使用pop方法根据key删除键值对
print(student)

 

3.3 遍历字典元素

student = {'id': 1,'name': '张三','score': 100
}# 直接用for循环获取所有的key,进而获得 value
for key in student:print(key, student[key])#可以使用 keys 方法获取到字典中所有的 key
print(student.keys())#使用 values 方法可以获取到字典所有的value
print(student.values())#使用 items 方法可以获取字典所有的键值对
print(student.items())

  •  此处的dict_keys,dict_values,dict_items都是一种特殊的类型,专门用来表示字典的值的

3.4 合法的key类型

不是所有的类型都可以作为字典的key,字典本质是一个哈希表,哈希表的 key 要求是“可哈希的”,也就是可以计算出一个哈希值

  • 可以使用 hash 函数计算某个对象的哈希值.
  • 但凡能够计算出哈希值的类型, 都可以作为字典的 key.
  • 列表和字典都无法计算哈希值
print(hash(0))
print(hash(3.14))
print(hash('hello'))
print(hash(True))
print(hash(())) 

 

四,文件操作

4.1 打开关闭文件

打开和关闭文件用到的函数是open和close,这两个库函数的参数和使用是和C一样的,可以参照往期博客:C语言进阶——文件操作_如果文件名随时间变更,怎么通过c打开文件-CSDN博客

f = open('123.txt', 'r')
f.close()

 

可以先在项目目录建一个txt文件 

4.2 读写文件

读写操作和也基本和C一致,如下代码:

# 往文件写数据
f = open('123.txt', 'w')
f.write('hello world1')
f.close()f = open('123.txt', 'a') # a 是追加写,如果是w,就是把文件的旧数据全删除再重新写入
f.write('hello world2')
f.write('hello world3')
f.close()

读取文件也有多种方式,我们可以先往123.txt里添加部分值:

# 读取文件数据
f = open('123.txt', 'r')
print(f.read(12)) #read读取指定长度的数据
f.close()f = open('123.txt', 'r')
# 可以使用for一次循环读取一行
for line in f:print(f'line = {line}')
f.close()f = open('123.txt', 'r')
# readlines 是直接把文件整个内容读取出来,返回一个列表,每个元素为一行
lines = f.readlines()
print(lines)
f.close()# 至于这里要打开文件三次是因为:
# 在一个open和close之间,每次读取时,下次读取都会从上次读取的结尾位置开始读取

 

4.3 关于中文的处理

上面的操作在处理字母和数字时就没问题,但是在处理中文时,就会有报错或者乱码问题

  • 我们知道, 计算机只能表示二进制数据. 要想表示英文字母, 或者汉字, 或者其他文字符号, 就都要通过编码.
  • 最简单的字符编码就是 ascii. 使用一个简单的整数就可以表示英文字母和阿拉伯数字.
  • 但是要想表示汉字, 就需要一个更大的码表.
  • 一般常用的汉字编码方式, 主要是 GBK 和 UTF-8
  • 必须要保证文件本身的编码方式, 和 Python 代码中读取文件使用的编码方式匹配, 才能避免出现问题.
  • Python3 中默认打开文件的字符集跟随系统, 而 Windows 简体中文版的字符集采用了 GBK, 所以 如果文件本身是 GBK 的编码, 直接就能正确处理.
  • 如果文件本身是其他编码(比如 UTF-8), 那么直接打开就可能出现上述问题

 此时修改打开文件的代码, 给 open 方法加上 encoding 参数, 显式的指定为和文本相同的字符集, 问题即可解决,如下代码:

# 读取文件数据
f = open('123.txt', 'r', encoding='utf8')lines = f.readlines()
print(lines)
f.close()

 

关键字:龙岩一线网络有限公司_电子工程网名又知道你是做工程_线上推广活动有哪些_网站seo搜索

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: