python知识简要概括

这篇博客主要介绍了Python的基础知识,包括数据类型(字符串、列表、元组、字典)、字符串的操作方法、列表的操作方法、元组的特点、字典的常用方法、类型转换、类型分类。此外,还讲解了函数的参数、作用域、生成器、装饰器和匿名函数,模块中的hashlib、json、os、random和时间模块的使用,以及面向对象编程的概念、变量、方法、属性和特殊成员。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.数据类型

主要有整型、字符串类型、布尔型

1.1字符串

字符串不支持修改,若对其进行修改,会生成新的值,对原本的值不会做出修改

#例如
n1='beijing'
n2=n1
n2='shanghai'
print(n1) #beijing
print(n2) #shanghai

n3='nanjing'
n4=n3
n3='guangzhou'
print(n3) #guangzhou
print(n4) #nanjing

字符串存在一些独有功能:
1. n2=n1.rstrip() / lstrip() 去除字符串右/左边空格
2. n2=n1.strip() 去除字符串两边的空格
3. n2=n1.startwith() /endwith 开头/结尾是否为… #True / False
4. n2=n1.upper() / lower() 将字符串变成大写/小写
5. n2=n1.isdecimal() 是否为数字 #True / False
6. n2=n1.replace(“history”,“now”) 替换
7. n2=n1.split(“,”) 切割 如按"," 切割

字符串的格式化:
n2=“姓名{}”.format(name) #拼接字符串
另外还存在一种拼接:
n2=“,”.join(name) #将name中的字符串以","的形式拼接在一起

1.2 列表 [ ]

存在几种操作
1. n1.append() 添加在最后
2. n1.insert(位置,“内容”) 插入
3. n1.remove() 删除
4. n1.choice() 随机抽取
5. n1.clear() 清空列表
6. n1.sort() 排序,没有返回值,即对n1本身操作,n1会改变,一般用于列表

n1=[12,3,5,1]
n1.sort(reverse=False)
#  n1 =[1,3,5,12] False从小到大 True从大到小

n2=['沈阳','建筑','大学']
n2.sort(reverse=False)
# n2=['大学', '建筑', '沈阳'] False 从小到大,True从大到小 按abc顺序排

7.sorted(n1) 排序,存在返回值,不会改变n1的值,一般用于任意可迭代对象
8.n1.reverse() 倒叙

1.3 元组 ( )

元组不可修改

1.4 字典 { }

{“key”: value}
key:必须为可哈希的值,(哈希值在内存中存放根据哈希值放在规定的位置,%位置看余数)
目前可哈希的:int、boot、str、tuple元组,只有这些可以做Key
value:可以为任意类型
v1=v2.get(“key”) 获取键key对应的值
v1=v2.keys() 获取键
v1=v2.values() 获取值
v1=v2.items() 获取键值对 # [[“age”,123], [“status”,True]]
索引:读取值
v1=v2[“age”]
v1=v2.get[“age”] 推荐这种方式,如果找不到对应的值会返回None,上面方法可能会报错

1.5 转换

其他类型转换成bool时,只有0、空字符串、空列表、空元组、空字典、None 为False,其他均为True

1.6类型分类

可哈希:int、bool、touple、str
不可哈希:list、dict
不可变:int、bool、touple、str
可变:list、dict

2.函数

2.1参数

1.若有默认参数,要放在最后,不可放在前面,python不支持
2.动态参数
* 会统一将用户传入的参数变成元组,如:args=(1,) args=(1,11) args=(9,11,123123) 可以传很多个
** 也可以穿多个,但必须有格式,将参数变成字典 如:kwargs={“k”:1} kwargs={“v1”:1,“x”:11}
* 或** 结合,可以支持传任意个,如 do_something(11,22,k9=999) 11,22 打包给*,k9=999打包给**
3.返回值
返回值可以是任意类型,若没有则返回None,返回时,可以逗号分开多个值,会把它打包成一个元组

2.2作用域

python中是以函数作为作用域,若没有函数,参数认定为全局参数
在函数中将全局变量进行引用操作,在参数前面加global

2.3生成器

yield :若在函数中如写:yield 1 则函数不执行,若有 next(f())才能运行该函数
可以减少内存消耗

# 生成 1000w个连续的数字
num_list = []
for item in range(10000000):
    num_list.append(item)
#加入生成器的
def create_big_num(max_num):
    num = 0
    while True:
        yield num
        if num == max_num:
            return
        num = num + 1
obj = create_big_num(100000)
for item in obj:
    print(item)

2.4装饰器

定义装饰器

def outer(func):
    def inner():
        print("before")
        res = func()  # 被装饰器的原函数
        print("after")
        return res
    return inne

应用装饰器,会先输出 before 在函数运行输出完后,会输出after

@outer
def info3():
    print("原来的info函数")
info3()

2.5 匿名函数

lambda 一行代码实现功能、适用于简单功能的函数,若复杂的不可
例:func = lambda a1,a2 : a1 + a2

3. 模块

内置模块

3.1 hashlib

对数据进行md5加密
import hashlib
hashlilb.md5()

3.2 json模块

json模块,是所有语言通用的
就是把别人的json模式,转变成自己的python程序,字符串的转化
import json
1.反序列化
data1=json.load(data2) 将json格式变成python字符串格式
如通过爬虫将数据爬取下来后转化成Python格式 requests.get()获取
2.序列化
data1=json.dump(data2) 将python格式转成json格式
(json相当于一个格式,所有语言都可以识别,是以字符串的形式存在的)

tips:
1.json格式里面的引号都要用双引号,若在里面出现单引号,json.load会识别不出来
2.json中true、false都是小写
3.里面不能存在元组,应该是列表格式
json中并不是可以序列化所有数据类型:
字典、列表、元组、str、int、float、True、False、None这些类型可以
如果没有,可以转成字符串

1.字典和json的区别?

字典的类型是dict,是一种数据结构,j

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值