# 3.列表 list
# 用括号来定义的一种容器,可以存放任意的数据类型,属于可变数据类型,有索引
# li=[1,2,'asd',[1,2,3]]
# 查看值
# print(li)
# print(li[1])可以按照索引来取值
# print(li[-1])
# 添加元素
# # 列表拼接
# print(li+['qwe'])
#列表函数append/extend
# li.append(1)在最后位置追加,添加的时候是加整体,二维数组;多用这个
# li.append('zxc')
# print(li)
# li.extend([111])
# li.extend([12,2])在最后位置添加,分散拆分添加,不是二维数组
# li.append([1,1])
#
# print(li)
# # insert,任意位置添加
# print(li)
# # li.insert(3,'a')在指定位置3添加a
# print(li)
# 修改元素
# li[1]=3
# print(li)
# print(type(li))
#
# li[-1][1]='asd'
# print(li)
# 删除元素
# # li.clear()能删除所有
# print(li)
# del li[1]不能删除所有,只能删除里面的元素
# print(li)
# # 列表切片(和字符串相同)
# print(li)
# print(li[1:])
# print(li[:3])
# print(li[::-1])
# help(list)
# 列表的函数
# 列表的复制
# # li2=li.copy()浅复制,不会改变一维,会改变二维
# li3=li2
#
# li[3][1]=333
# li[2]=333
# print(li,'-',li2,'-',li3)
# 查找出现次数
# print(li)
# print(li.count(2))
# 只有index找第一次出现的位置,没有find函数
# print(li)
# print(li.index(1))
# pop()移除元素,按照索引
# print(li)
# # print(li.pop())移除最后一个元素,可指定移除元素,这里是输出移除的元素,不是li
# print(li)
# remove()移除指定的值,按照值来删除
# print(li)
# print(li.remove(1))返回none
# print(li)
# sort 排序(只能对数字) 默认从小到大排序,如果是true则从大到小排列
# li1=[1,3,1,2,4,1]
# li1.sort(reverse=True)
# print(li1)
# reverse() 倒叙输出 类似[::-1]
# print(li)
# li.reverse()
# print(li)
# a=input('a=')
# li1=[]
# li1.append(a)
# print(f'li1={li1}')
# li2=['a','b','c']
# li2.insert(1,2)
# li2.pop()
# print(li2)
#
# li=[3,4,1,6,5,7]
# li.sort()
# print(li[::-1])
# 4.元组 tuple,定义在小括号中的容器,一旦被定义就不能被修改(因为地址不能变),有索引
# tup=(1,2,3) 只有一个元素的是int,必须打上,
# print(tup)
# print(tup[1])
# # 元组的拼接
# tup1=tup+('a','b','c')
# print(tup1)
# print(tup)
# # 元组的切片(原来的元组并没有改变不)
# print(tup1[:4])
# print(tup1[::-1])
# print(tup1)
# 特例,可以改变里面的二维数组,不会改变地址
# tup=(1,2,3,[1,2])
# print(id(tup[-1]))
# tup[-1][0]=111
# print(tup)
# print(id(tup[-1]))
# 函数
# index和count
# tup=(1,2,3,[1,2])
# print(tup.index(1))
# print(tup.count(1))
# 5.集合 set 定义在{}中的容器,不是键值对,没有索引,是可变数据类型。会自动排序(从小到大),去重
# s={1,2,3}
# s1={}# 这个默认是字典
# print(s)
# print(type(s))
# print(type(s1))
# print(s[1])不支持索引
# s1={1,2,3,22,2,2,3,3,3}默认去除重复
# print(s1)
# 拼接
# 不能这样拼接,报错print(s+'1')
# s.update('22')
# print(s)
# 类型转换
# li=[1,1,2,2,2]
# tup=tuple(li)
# print(tup)
# s=set(li)# 转成集合,会自动去重
# print(s)
# li1=list(s)
# print(li1)
# 集合的函数
# add
# set1={1,111,12,3,4}
# # set1.add(11)
# print(set1)
# pop 移除第一个元素
# set1={1,111,12,3,4}
# set1.pop()
# print(set1)
# remove移除指定元素
# set1={1,111,12,3,4}
# set1.remove(111)
# print(set1)
# 6.字典 dict,定义在大括号里的容器,属于可变数据类型,以键值对方式存放,没有索引,键不能重复
# di={1:1,'b':'a',3:'q','c':4}
# di={}
# di1={1:1}
# di2={'a':'b'}
# print(di)
# 拼接
# s.update('22')
# print(s)
# # 查看值
# di={1:1,'b':'a',3:'q','c':4}
# print(di[3])
# 修改值
# print(di)
# di[1]=11
# print(di)
# di['c']=123
# print(di)
# 添加
# di[2]=1
# print(di)
# 字典的函数
# print(di)
# get()
# setdefault(键,默认值),没有这个这个键,就输出后面默认值,添加进字典
# print(di.setdefault(31,'aaaa'))
# print(di)
# 返回键或者值,以列表的形式
# print(di.items())
# print(di.keys())
# print(di.values())
# print(di.fromkeys([1,2],'de'))
# pop指定移除键值对
# di.pop(1)
# print(di)
#7.控制结构
# 顺序结构:从上到下
# 分支结构 if else if elif (可以没有else,可以嵌套)
# if (1):
# print('123')
# else:
# print('233')
#
# if True:
# print(1)
# elif False:
# print()
# import random
# r=random.randint(1,100)
# i=int(input('a='))
# if i==r:
# print('233')
# elif i>r:
# print('333')
# else:
# print('55')
# 循环结构 for while
# for 变量 in 容器(除数字外五种类型):
# print(变量,就是容器里取出的值,字典例外,得到的是键)
# str='qwewqeqweqwe'
# for _ in str:
# print(_)
# li=['a','b',1,2,[1,'a']]
# for i in li:
# print(i)
# tup=(1,2,3,4,5)
# for i in tup:
# print(i)
# s= {1,2,3,4}
# for i in s:
# print(i)
# di= {'a':1,'b':2}
# for i in di:
# print(i)键
# print(di[i])值
# range()是一个对象,不直接生成数,要才给
# for j in range(10):
# print(j,end="-")
# a=range(1,10000000000000000000).__iter__()
# print(next(a))
# print(next(a))
# a=range(111)
# print(a[0])
# 取下标索引
# li=[1,1,1,1,2,2,2]
# for i in range(len(li)):
# # print(i,end="-")
# print(li[i],end="-")
# s=0
# i=1
# while i<=100:
# s+=i
# i+=1
# print(s)
# for -else结构和while-else,只有在有break时候才不执行else,其他情况都要执行else
# for i in range(1):
# print('666')
# else:
# print('2333')
#例子
#输出三角形*
# for i in range(1,4):#range是左闭右开
# print(('*'*(2*i-1)).center(5,""))
# print('*'*10)
#猜数
# import random
# i=random.randint(1,100)
# while True:
# a = int(input('猜100内整数='))
# if a==i:
# print('猜对')
# break
# else:
# print('猜错,重新输入')
#8.函数 是代码执行的最新逻辑单元,
# 封装重复使用的代码封装,可以多次被调用,可减少代码冗余,易于修改维护
# legb原则:涉及函数划分和作用域,
# l(函数内的函数)
# e(自定义函数)
# g(全局函数,就是import引入的包调用的)
# b(内建及函数,就是系统自带的函数,print(),input()等)
# 定义:
# def 函数名(参数列表):
# 函数体
# return xx 这个可以不写,但是有默认的return None
# def add(a,b):
# return a+b
# print(add(1,2))
# 函数分类:
# 系统定义函数(内置函数):
# print() input() len() max() range()
# 自定义函数
# def
# 函数的参数
# 默认值参数 带默认值的参数放在后面
# def add(a,b=11):
# return a+b
#
# print(add(1))
# print(add(1,1))
# 不定长参数:
# 封包和解包
# def add(*a):*a封包,存所有输入数据, 是元组
# return sum(a)
# print(add(11,1))
# def asd(*a):
# print(a)
# asd(1,1,2)
#解包
# li=[1,2,3]
# print(*li)
# a,b,c=li
# print(a,b,c)
# 匿名函数 lambda
# a=lambda i : print(i)
# a(11)
#
# a1=lambda x,y: x+y
# print(a1(1,1))
# 输出三角形*
# def san1(a):
# for i in range(1,a):#range是左闭右开
# print(('*'*(2*i-1)).center(10,' '))
# a=int(input('打印的行数='))+1
# san1(a)
#9.库(代码块),分为两种:
# 标准库:python官方定义的文件,在安装python时就有,只需要引包就行
# 有time\socket\os\sys、threading线程模块、socket套接字模块
# import time 引time.py 文件,里面有类和方法;
# 模块就是.py文件,也是包 包=模块=库
# import time
# # while True:
# # print(1)
# # # time.sleep(1)单位为s 1s后输出,线程休眠
# # time.sleep(1)
# # print(time.ctime())查看当下时间
# # print(time.gmtime())返回的时间元组
# # print(time.localtime())#返回当前下的时间元组
# # print(time.time())#返回时间戳
# # # print(time.strftime('%Y-%m-%d %H-%M-%S'))年月日,时分秒
# # print(time.strftime('%x-%X'))
#
# # print(time.strptime('1999-2-2','%Y-%m-%d')[-2])#是今年的第几天
# # print(time.strptime('1999-2-2','%Y-%m-%d'))
#
# 算出生到现在的天数
# a=time.strptime('1995-10-7','%Y-%m-%d')
# a1=time.mktime(a)#出生时间戳 ,以1970开始
# a2=time.time()#现在时间戳
# new_a=a2-a1
# print(new_a/60/60//24)
# import os#引入操作系统
# import sys
# os.system('calc.exe')#调出计算器
# os.system(r'C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe')
# print(os.popen('ipconfig').read())
# print(sys.path)获取当前路径所有文件路径
# print(os.path)获取当前文件路径
# print(sys.argv)获取当前文件路径
# print(sys.exit())退出
# print(1)
# print(sys.argv)
# 第三方库:由社区开发和维护,使用的时候需要安装:
# pip install 库名
# pip install pymysql -i https://pypi.tuna.tsinghua.edu.cn/simple/
# 换源下载,就是换个地方下载,-i 下载地址(清华源,豆瓣,阿里云等)
# 按照global原则
python数据类型、函数、库
最新推荐文章于 2023-03-20 13:58:03 发布