Python基础知识大全(适用于全面复习Python语法知识)

python语言的类型

python属于解释型语言

源代码(python)<->解释器(逐行解释每一句源代码)<->操作系统<->cpu

java属于编译型语言

源代码(java)->编译器->可执行文件->操作系统<->cpu

python语言数据的基本类型

容易混淆的几种表现形式

元组( ) 和列表[ ] 类似 只是元组不可以修改 这两个有点类似于C语言中的数组

集合 唯一{ } 和字典类似 只是没有values 字典中的key一定是不可变类型 而且字典查找速度快 缺点是占用内存 同样集合中的元素均是不可变的 所以不能有列表

可变序列和不可变序列

可变序列列和不可变序列区分的标准是是否能够对序列进行增、删、改操作;并且,增删改操作后的对象地址不发生改变。能做增删改操作的序列称为可变序列。反之,不能做增删改操作的序列称为不可变序列。

可变序列:列表、字典、集合
不可变序列:数字、字符串、元组

本文下面所有的Python基础都有详细的配套教程以及源码

这份完整版的Python练习题已经上传CSDN,保存图片到wx扫描二v码免费领取保证100%免费

列表

定义

列表(list)是Python中使用最频繁的数据类型,在其他语言中通常叫做数组,专门用来存储一组数据。

#第一种方式name_list = []  OR name_list = ['tom','jack']#第二种方式data_list = list()

ps: 相当于C语言中的数组 只不过C语言的数组存的是同一类型的数据

count

data_list = ['python', 'java', 'python', 'php']print(data_list.count("python"))  #2

索引[] 列表可以用索引来用数据

name_list = ['张三', '李四']print(name_list[0]) # 张三print(name_list[1]) # 李四

append(数据) 在末尾插入数据

val_list = ["Web自动化", "UI自动化", "接口自动化"]val_list.append("APP自动化")print(val_list) # ['Web自动化', 'UI自动化', '接口自动化', 'APP自动化']ps:可以插入的各种不同类型的数据  比如数字 字典  元组

extend()

使用新的序列来扩展当前序列,需要一个序列作为参数,它会将该序列中的元素添加到当前列表中

stus.extend(['唐僧','白骨精'])  相当于stus += ['唐僧','白骨精']

clear()

stus = ['孙悟空','猪八戒','沙和尚','唐僧']stus.clear()    #清空序列  []

insert(位置,数据)

abc = [‘yinsheng’, ‘jiayou’, 1111, (11, 22, 33), {‘abc’: 456}]

abc.insert(0,{“key”:1})

print(abc)

#[{‘key’: 1}, ‘yinsheng’, ‘jiayou’, 1111, (11, 22, 33), {‘abc’: 456}]

remove()

# 删除指定值得元素,如果相同值得元素有多个,只会删除第一个stus = ['孙悟空','猪八戒','沙和尚','唐僧','猪八戒']stus.remove('猪八戒')  print(stus)  #['孙悟空','沙和尚','唐僧','猪八戒']

pop (列表索引号) 删除某个数据

val_list = ["Web自动化", "UI自动化", "接口自动化"]val = val_list.pop(0)print(val, val_list) # web自动化,['UI自动化', '接口自动化']ps:不指定位置号  那么默认删除最后一个

排序

reverse() 反转列表

my_list = [10,1,20,3,4,5,0,-2]print('修改前',my_list)  #[10,1,20,3,4,5,0,-2]my_list.reverse()print('修改后',my_list) #[-2, 0, 5, 4, 3, 20, 1, 10]

ort() 默认reverse=false

sort(reverse=true) #降序

sort(reverse=false) #升序

al_list = [8, 100, 30, 10, 40, 2]val_list.sort(reverse=True)print(val_list) # [100, 40, 30, 10, 8, 2]val_list.sort()print(val_list)  #[2, 8, 10, 30, 40, 100]

sorted() 临时排序

val_list = [8, 100, 30, 10, 40, 2]b= sorted(val_list)print(val_list)  #[8, 100, 30, 10, 40, 2]print(b)  #[2, 8, 10, 30, 40, 100]

嵌套

student_list = [["张三", "18", "功能测试"], {"key":1,"key1":2},(11,222,333)]print(student_list[1]["key1"]) #2print(student_list[0][1]) # 18print(student_list[2][1]) #222

元组

ps:和列表list 几乎差不多 只是不可以修改 但是这个不可以修改指的是指向永远不变

for example

t = ('a', 'b', ['A', 'B'],111,(2,3,4),{"key":1})t[2][0] = 'x't[2][1] = 'y't[5]["key"]=2print(t)  #('a', 'b', ['x', 'y'], 111, (2, 3, 4), {'key': 2})

定义

元组和列表一样,都可用于存储多个数据,不同之处在于元组的元素不能修改

#第一种方式user_info = ()  OR name_list = ('zhangsan',18,1.75)#第二种方式info_tuple = tuple()ps:元组中只包含一个元素时,需要在元素后面添加逗号如  data=(1,)

查(by索引)

tuple1 = (1, 2, 3)print(tuple1[1]) # 2

count

tuple1 = (1, 2, 3)print(tuple1.count(3)) # 1

解包

元组的特殊用法: 交换两个变量的值

num1 = 100num2 = 200num2,num1 = num1,num2print(num1)  #200print(num2)  #100ps:1.在Python中可以使用对应数据个数的变量,获取对应元组数据中的每一个元素2.在Python中定义多个元素的元组数据时,小括号可以省略3.借助以上两个特性,可以通过元组快速实现交换两个变量的值

解包

my_tuple = 10 , 20 , 30 , 40a , b , *c = my_tupleprint(a,b,c)  #10 20 [30, 40]a , *b , c = my_tupleprint(a,b,c) #10 [20, 30] 40*a , b , c = my_tupleprint(a,b,c)   #[10, 20] 30 40

注意

ps:# 当元组不是空元组时,括号可以省略# 如果元组不是空元组,它里边至少要有一个,

字典

定义

test = dict()test2 = {}d = dict(name1='孙悟空',age1=18,gender1='男')print(d)    #{'name1': '孙悟空', 'age1': 18, 'gender1': '男'}#利用双值子序列d = dict([('name','孙悟饭'),('age',18)])print(d)  #{'name': '孙悟饭', 'age': 18}

增加和修改 字典[键]=值

info = {"name": "tom","age": 18}info["salary"] = 100000print(info) # {'name': 'tom', 'age': 18, 'salary': 100000}

pop(键) 删除

info = {"name": "tom","age": 18,"gender": "男" }info.pop("gender")print(info) # {'name': 'tom', 'age': 18}

get(键) 查询

info = {"name": "tom","age": 18,"gender": "男" }print(info.get("name")) # tomprint(info.get("abc")) # None

for key in 字典.keys()

#遍历得到所有键名info = {"name": "tom","age": 18,"gender": "男" }for key in info.keys():  print(key)

for value in 字典.values():

#遍历得到所有的键对应的值info = {"name": "tom","age": 18,"gender": "男" }for value in info.values():  print(value)

for k, v in 字典.items():

#遍历得到所有的键和值info = {"name": "tom","age": 18,"gender": "男" }for k, v in info.items():  print(f"key={k} value={v}")

一些常用方法

setdefault(key, default]) 可以用来向字典中添加key-value

#如果key已经存在于字典中,则返回key对应的value值,不会对字典做任何操作#如果key不存在,则向字典中添加这个key,并设置valued = dict([('name','孙悟饭'),('age',18)])result = d.setdefault('name1','猪八戒')result2 = d.setdefault('name','11111')print(result) #猪八戒print(result2)  #孙悟饭print(d)  #{'name': '孙悟饭', 'age': 18, 'name1': '猪八戒'}

update()

#将其他的字典中的key-value添加到当前字典中#如果有重复的key,则后边的会替换到当前的d = {'a':1,'b':2,'c':3}d2 = {'d':4,'e':5,'f':6, 'a':7}d.update(d2)print(d) #{'a': 7, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6}

del

d = {'a': 7, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6}del d['a']print(d)  #{'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6}del d['e']print(d)  #{'b': 2, 'c': 3, 'd': 4, 'f': 6}

popitem()

#随机删除字典中的一个键值对,一般都会删除最后一个键值对#删除之后,它会将删除的key-value作为返回值返回#返回的是一个元组,元组中有两个元素,第一个元素是删除的key,第二个是删除的value#当使用popitem()删除一个空字典时,会抛出异常 KeyErrord = {'b': 2, 'c': 3, 'd': 4, 'f': 6}result = d.popitem() print(result)  # ('f', 6)print(d)  # {'b': 2, 'c': 3, 'd': 4}

copy()

# 该方法用于对字典进行浅复制# 复制以后的对象,和原对象是独立,修改一个不会影响另一个# 注意,浅复制会简单复制对象内部的值,如果值也是一个可变对象,这个可变对象不会被复制  意味着修改了这个可变对象的值之后 两个地方的值均变化  因为它不独立

d = {'a':{'name':'孙悟空','age':18},'b':2,'c':3}d2 = d.copy() print(d2)  # {'a': {'name': '孙悟空', 'age': 18}, 'b': 2, 'c': 3}d2['a']['name'] = '测试一想'd2['b']=6print(d2) # {'a': {'name': '测试一想', 'age': 18}, 'b': 6, 'c': 3}print('d = ',d , id(d)) #d =  {'a': {'name': '测试一想', 'age': 18}, 'b': 2, 'c': 3} 2363954785808print('d2 = ',d2 , id(d2)) #d2 =  {'a': {'name': '测试一想', 'age': 18}, 'b': 6, 'c': 3} 2363954786168

clear()

d = {'b': 2, 'c': 3, 'd': 4}d.clear() #{}

in not in

注意

字典的值可以是任意对象字典的键可以是任意的不可变对象(int、str、bool、tuple ...),但是一般我们都会使用str字典的键是不能重复的,如果出现重复的后边的会替换到前边的
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值