python数据类型、函数、库

# 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原则
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值