Python基础

注释

python 复制代码
# 单行注释
'''
多行注释
'''
"""
多行注释
"""

字符串

python 复制代码
print("双引号")
print(" ' ")
print('单引号')
print(' " ')
print('转义符\t\n\\\r\'\"')
print("输入了:",input("请输入:"))
# 切片,自定义分隔符
list2 = '1|2|3'
print(list2.split('|'))# ['1', '2', '3']
# 强转
print(int('1') + 1)# 2
print(','.join('hello world'.split('l')))# he,,o wor,d
print("123".startswith("1"))# True
print("123".endswith("1"))# False
# str.maketrans 创建转换表:a->1,e->2,i->3,o->4,u->5
# translate() 根据转换表进行替换
print("hello world".translate(str.maketrans("aeiou", "12345")))# h2ll4 w4rld
# 替换
print("hello world".replace('l','L').replace('o','O'))# heLLO wOrLd
print('%s'%'字符串')
print('%d'%123)
print('%r'%'原样输出')
# 格式化替换
name = 'zhangsan'
age = 18
print("name:{},age:{}".format(name,age))
print(f"name:{name},age:{age}")
# 去除空格
print("   sdf ".strip())# sdf
print("   sdf ".lstrip())# 去除左边空格
print("   sdf ".rstrip())# 去除右边空格

运行python脚本

终端运行

python 文件名 参数1 参数2

列表

python 复制代码
list1 = [1,2,3,4,5]
list1.append('6')
print(list1)# [1, 2, 3, 4, 5, '6']
list1.pop()
print(list1)# [1, 2, 3, 4, 5]
list1.remove(2)
print(list1)# [1, 3, 4, 5]
print(list1[1:3])# [3, 4]截取下标包含1不包含3
print(len(list1))# 4

字典

python 复制代码
dict = {"name": "张三", "age": 18}
# 增加
dict["gender"] = "男"
# 修改
dict["gender"] = "女"
# dict.update({"gender": "女"})
# 删除
del dict["age"]
# dict.pop("age")
# 查找
print(dict.get("name"))
print(dict["name"])# 张三
print(dict.keys())# dict_keys(['name', 'gender'])
print(dict.values())# dict_values(['张三', '女'])
# 遍历
for key in dict:
    print(key, ":", dict[key])
print(dict.items())
# dict_items([('name', '张三'), ('gender', '女')])
# 清空
dict.clear()
# 复制
newDict = dict.copy()

逻辑

python 复制代码
i = 0
while 1:
    i += 1
    # if i % 2 == 0:
    # elif i % 3 == 0:
    # else:
    if i > 10:
        print(i)
        break
        # continue

函数

python 复制代码
# a:int 声明类型但不强制
def add(a:int, b:int):
    return a + b
print(add(1, 2))# 3

python 复制代码
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age
p = Person("张三", 18)

python 复制代码
# 从模块中导入 类、函数、变量等
from 模块 import 类
# 导入整个模块
import 模块

文件操作

  • r:只读
  • w:不存在就创建,存在就覆盖
  • a:不存在就创建,存在就追加
  • b 二进制:图片,视频,音频
    • 读写
python 复制代码
# 方式一:必须关闭文件
file = open('demo.txt', 'r',encoding='utf-8')
file.close()
# 方式二:自开合
with open('demo.txt', 'r',encoding='utf-8') as file:
    file.read()
# 是否可读
print(file.readable())
# 读过的会从 file 对象中删除
print(file.read())# 读取文件所有内容
print(file.readline())# 读取一行
print(file.readlines())# 读取所有行,返回列表

csv文件

读取CSV文件

newline=''是一个重要的参数,用于防止在写入文件时在不同的操作系统上产生不必要的空行。

python 复制代码
import csv
# 打开CSV文件并读取
with open('example.csv', mode='r', newline='', encoding='utf-8') as file:
    csv_reader = csv.reader(file)
    # 遍历CSV文件的每一行
    for row in csv_reader:
        print(row)  # row是一个列表,包含了当前行的所有字段

写入CSV文件

python 复制代码
import csv
# 定义要写入的数据
rows = [
    ["Name", "Age", "City"],
    ["Alice", 24, "New York"],
    ["Bob", 19, "Los Angeles"],
    ["Charlie", 35, "Chicago"]
]
# 打开(或创建)CSV文件并写入
with open('output.csv', mode='w', newline='', encoding='utf-8') as file:
    csv_writer = csv.writer(file)
    # 写入标题行
    csv_writer.writerow(rows[0])
    # 遍历剩余行并写入
    for row in rows[1:]:
        csv_writer.writerow(row)

JSON

python 复制代码
import json

python 转 json

python 复制代码
# dumps 直接操作文件
obj = {'user':{'name':'zhangsan','age':18}}
print(json.dumps(obj))# {"user": {"name": "zhangsan", "age": 18}}
# 排序
json.dumps(obj,sort_keys=True)# {"user": {"age": 18, "name": "zhangsan"}}
# 缩进
json.dumps(obj,indent=4)
'''
{
    "user": {
        "name": "zhangsan",
        "age": 18
    }
}
'''

json 转 python

python 复制代码
# loads 直接操作文件
obj = json.loads('{"name": "zhangsan", "age": 18}')
print(obj['name'])# zhangsan

StringIO 是操作内存的

python 复制代码
from io import StringIO
io = StringIO()

将 python 对象编码成 json 格式,并写入到文件对象中

python 复制代码
# dump 操作文件句柄
json.dump({"name": "zhangsan", "age": 18}, io)
print(io.getvalue())# {"name": "zhangsan", "age": 18}

将 json 转化为 python 对象,存放在内存中

python 复制代码
# load 操作文件句柄
io = StringIO('{"a": 1}')
print(json.load(io))# {'a': 1}
相关推荐
四口鲸鱼爱吃盐12 分钟前
Pytorch | 利用GRA针对CIFAR10上的ResNet分类器进行对抗攻击
人工智能·pytorch·python·深度学习·计算机视觉
汤姆和佩琦15 分钟前
24-12-28-pytorch深度学习中音频I/O 中遇到的问题汇总
人工智能·pytorch·python·深度学习·音视频·i/o
IT管理圈27 分钟前
50个JAVA常见代码大全:学完这篇从Java小白到架构师
java·windows·python
kkkkkkkkkkaZZL32 分钟前
图片拼接|横向拼接|竖向拼接|正方形拼接|其他模式拼接 python
python·opencv·计算机视觉
网安kk33 分钟前
2025年三个月自学手册 网络安全(黑客技术)
linux·网络·python·安全·web安全·网络安全·密码学
CM莫问4 小时前
tokenizer、tokenizer.encode、tokenizer.encode_plus比较
人工智能·python·深度学习·语言模型·大模型·tokenizer·文本表示
web135085886355 小时前
Python毕业设计选题:基于python的白酒数据推荐系统_django+hive
python·django·课程设计
云空7 小时前
《解锁 Python 数据分析的强大力量》
python·数据挖掘·数据分析
MUTA️7 小时前
专业版pycharm与服务器连接
人工智能·python·深度学习·计算机视觉·pycharm
xuanfengwuxiang8 小时前
安卓帧率获取
android·python·测试工具·adb·性能优化·pycharm