Python常用语法、数据结构总结

本文介绍了Python中的基本数据类型,包括整型、字符串、列表、元组、集合和字典,并展示了如何使用type()函数查询变量类型。此外,还提及了字符串的长度、遍历、拼接方法以及IO操作如StringIO的使用。同时,文章提到了列表、元组和集合的区别,以及字典的键值对操作和文件写入的基本步骤。
摘要由CSDN通过智能技术生成

一些简单的东西,每次都忘记语法。记下笔记,加深点印象。

type查询变量类型

整型:

>>> val = 0x100
>>> type(val)
<class 'int'>

字符串:

>>> val = 'abcdefg'
>>> type(val)
<class 'str'>

列表:

>>> val = [1,2,3]
>>> type(val)
<class 'list'>

元组:

>>> val = (1,2,3)
>>> type(val)
<class 'tuple'>

集合:

>>> val = {1,2,3}
>>> type(val)
<class 'set'>

字典:

>>> val = {1:'a', 2:'b'}
>>> type(val)
<class 'dict'>

常用数据结构

字符串

长度

>>> str = '123456'
>>> len(str)
6

字符串遍历

>>> str = '123456'
>>> for c in str:
...   print(c)
...
1
2
3
4
5
6
>>> for c in str[2:4]:
...   print(c)
...
3
4

字符串拼接

+号拼接与string.format
>>> str1 = '123123123'
>>> str2 = 'abcabcabc'
>>> str3 = str1 + ':' + str2 + 'DONE'
>>> print(str3)
123123123:abcabcabcDONE
>>> print('{0}:{1} DONE'.format(str1, str2))
123123123:abcabcabc DONE
io.StringIO
>>> import io
>>> appender = io.StringIO()
>>> type(appender)
<class '_io.StringIO'>
>>> appender.write('aaaaaa')
6
>>> appender.write('bbbbbbbbbb')
10
>>> appender.write('ccccccccccccccc')
15
>>> print(appender.getvalue())
aaaaaabbbbbbbbbbccccccccccccccc
>>> appender.close()
>>> print(appender.getvalue())
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: I/O operation on closed file

子串

>>> str = '123456'
>>> sub = str[2:4]
>>> print(sub)
34

列表

字符串就可以看做字符的列表

tuple

>>> tup = ('a', 123, 'ccccc' , {1,2,3})
>>> type(tup)
<class 'tuple'>
>>> tup[0]
'a'
>>> tup[3]
{1, 2, 3}
>>> tup[4]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: tuple index out of range

与集合区别:

  1. list可以通过append新增项,元组不行。

为什么有这个:

函数返回多个参数的时候,可以直接返回一个tuple。

>>> def test(): # 返回(id, name, extraInfo)的元组
...   return (9527, '秋香', {'年龄': 18, 'gender': '女'})
...
>>> ret = test()
>>> print(ret)
(9527, '秋香', {'年龄': 18, 'gender': '女'})
>>> type(ret)
<class 'tuple'>
>>> type(ret[0])
<class 'int'>
>>> type(ret[1])
<class 'str'>
>>> type(ret[2])
<class 'dict'>
>>> print(ret[2])
{'年龄': 18, 'gender': '女'}

集合

与列表区别:

  1. 集合元素不可重复,列表可以。

  1. 底层树形结构,判断是否存在的时候会更快。

字典

>>> dic = {}
>>> dic['k1'] = 'aaaaaaa'
>>> dic[2] = 'bbbbbb'
>>> dic[111] = 'cccc'
>>> print(dic)
{'k1': 'aaaaaaa', 2: 'bbbbbb', 111: 'cccc'}
>>> dic[111] = 'CCCCCCCCCC'
>>> print(dic)
{'k1': 'aaaaaaa', 2: 'bbbbbb', 111: 'CCCCCCCCCC'}
>>> dic[2]
'bbbbbb'
>>> dic[1]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 1

遍历

通过key遍历
>>> dic = {'id': 9527, 'name': 'qx', '年龄': 18, 'gender': '女'}
>>> print(dic)
{'id': 9527, 'name': 'qx', '年龄': 18, 'gender': '女'}
>>> for key in dic:
...   print(("key: {}, value: {}").format(key, dic[key]))
...
key: id, value: 9527
key: name, value: qx
key: 年龄, value: 18
key: gender, value: 女
通过k, v遍历
>>> for k, v in dic.items():
...   print(('key: {}, value: {}').format(k, v))
...
key: id, value: 9527
key: name, value: qx
key: 年龄, value: 18
key: gender, value: 女

文件处理

写文件

>>> filename = 'H:\\TEMP\\2023-3-10\\const-string\\测试.txt'
>>> file = open(filename, mode = 'w', encoding = 'utf-8')
>>> file.write("写点什么东西")
6
>>> file.flush() # write完了不一定会立即写入。可能需要flush一下。或者直接close。
>>> file.close()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值