• 花式赋值, 列表, 字典, 布尔类型, 解压缩


    复习

    变量

    什么是变量

    描述事件万物变化的状态

    变量的组成

    变量名(描述;接收变量值) = 变量值(一个具体的值)

    变量名的命名规范

    1.具有描述意义

    2.只能由数字/字母/下划线组成,不能以数字开头

    3.不能用python关键字命名

    常量

    常量只是约定俗成的不能变化,其实是可以变化的

    python变量内存管理

    引用计数(变量值)

    变量值的引用计数为0的时候,自动触发垃圾回收机制,释放变量值的内存占用

    c-->free()

    小整数池

    为避免定义整型变量重复申请内存空间,python在启动时会对[-5,256]范围内的整数自动分配固定地址,该范围内的整数受垃圾回收机制影响

    变量打印的三种形式

    1.打印值

    2.打印id

    3.打印数据类型

    数据类型

    数字类型

    整型int

    使用方法: %(取余) //(取整) **(求幂)

    其他数学符号 improt cmath 使用

    浮点型float

    使用方法同整型

    字符串str

    定义方式:单(双)引号内的一串字符,三单引号内的字符可以换行

    使用方法 + / *

    强制类型转换-->动态语言

    str(10)-->字符串的10

    int('10')-->整型的10

    float('10')-->浮点型的10

    不可以强制类型转换-->静态语言

    花式赋值

    链式赋值

    a = b = c = 10

    交叉赋值

    方式一

    x = 10

    y= 20

    x, y = y, x

    方式二

    不能让原来的10和20倍垃圾回收机制回收,设一个中间变量

    z = x

    x=y

    y = z

    列表

    什么是列表--> list

    列(序列)表(表格),一列(存储存多个元素)表格

    存不是目的,取才是目的

    作用

    存储多个(任意数据类型)元素

    定义方式

    []内用逗号隔开的多个元素(任意数据类型)

    lt = [] #空列表

    s_lt = list('abcdefg')

    print(s_lt) #强制类型转换, 输出结果['a', 'b', 'c', 'd', 'e', 'f', 'g']

    print(num_list = list(18)) #报错,整型不可迭代

    print(num_list = list('18') #输出结果 ['1', '8']

    使用方法

    存不是目的,取才是目的

    索(搜索)引(引路)

    lt2 = ['sing','read','run']

    print(lt[-1])

    print(lt[-2])

    字典

    字典

    作用

    存储多个值,但是每个值都有描述信息

    定义方式

    {}内用逗号隔开多个键(描述信息,用字符串):值(具体的值,可以为任意数据类型)对

    使用方法

    存不是目的,取才是目的

    字典没有索引,按key取值

    student = [{'name':'nick','age':19},{'name':'egon','age':19}]
    print(student[0]['name']),student[0]['age']
    #增加代码的复用性
    info = student[0]
    print(info['name'],info['age'])
    

    布尔类型

    布尔bool-->布尔是个人名

    布尔值

    作用

    True 真 / False 假

    布尔类型只有两个值,一个为True,一个为False,布尔类型不直接打印,而是在特定条件下触发

    条件成立为True,条件不成立为False

    定义(触发)方式

    print(1>2)

    print(bool(2>1))

    使用方法

    所有数据类型都自带布尔值,除了 0/None/空(空字符/空列表/空字典)/False 之外所有的数据类型自带布尔值为True

    print(bool(''))
    print(bool([]))
    print(bool({}))
    print(bool(None))
    

    解压缩

    解(解开)压缩(容器类数据类型):一般而言只针对2-3元素容器类型的解压

    lt = [1,2,3,4,5]
    print(lt[1],lt[2],lt[3])
    s1,s2,s3,s4,s5 = lt
    print(s1,s2,s3,s4,s5)
    s1,s2,s3,s4,s5,s6= lt	#报错
    s1,s2,s3,s4=lt	#报错
    #容器内有多少个值就必须拿多少个值接收
    
    s1,s2,s3,s4,_=lt	#单个下划线表示这个东西不需要
    print(s1)
    print(_)	#下划线表示的内容可以打印,但是不要去打印,约定俗成
    
    # *_	*把后面的元素全部合成放到列表里去了
    s1,*_ = lt
    print(s1)
    print(_)
    s1,*_,s5 = lt	#输出[2,3,4]
    

    由解压缩原理引申出的多变量赋值

    10,20,30=(10,20,30)=[10,20,30]	
    x, y, z = 10, 20, 30	#默认看成元组,为容器类数据类型,多变量赋值即相当于解压缩
    print(x,y,z)
    
    

    python与用户交互

    与用户交互(用户说一句,计算机(python程序)答一句)

    input()函数

    print('*'*50)
    s = input()		
    #1.让程序暂停
    #2.接收的永远是字符串
    print(s,type(s))	#s接收了用户输入的内容
    print('*'*50)
    

    格式化输出的三种方式

    f-string格式化输出

    s1 = 'nick'
    s2 = 'handsome'
    print(f'{s1}{s2}')
    # f让{}变得有特殊意义,让{}内的普通字符变成了变量名
    x = 10
    print(f'{x:.5f}')
    #小数点后数字保留5位
    print(f'{s1:*<100}{s2:+^10}')
    #	*为填充符号,<表示原字符串居左,^表示原字符串居中,数字表示填充符号和字符串一共占用的长度
    

    占位符格式化输出

    s1 = 'nick'
    s2 = 'handsome'
    print('%s %s'%(s1,s2))
    

    format格式化输出

    s1 = 'nick'
    s2 = 'handsome'
    print('{} {}'.format(s1,s2)')	#s1-->0, 
          							#s2-->1
    print('{0} {1}'.format(s1,s2)')
    

    干货

    # 产品总监/老板(架构师)
    # 产品经理/项目经理
    # 架构师(所有东西不说会,要了解(各个框架的优缺点--》tornado))
    # 前端/后端/爬虫/算法/python开发/java开发/运维/ig(系统资源的)/ui/测试  c/交换机(咸鱼工程师)
    # 市场/销售
    
    # 3个项目
    
    # 学习能力(习惯)
    # flask/django/tornoda
    
    # 老板说:用户的权限管理
    # 挑出3-5个模块(每一个模块都是做权限管理的),去百度各个模块的优缺点
    # 老板挑(你和老板坐在会议室分析,一个一个demo测试)
    # 最少一周
    # 你再写(再一次和组长,一起确认) 半天
    
    
    # 每周一开会,列出当天/当周的任务,结束上周的任务清单
    
    # 每周四或周五,所有人开会演示当周完成进度(完成就行了,不要去管为什么/怎样更好)
    
    # it公司3-4天开会,1-2天敲代码  --》 只写代码的话,写好的东西会重做  --》 做事一定要留证据(确定一件事一定要通过发邮件/微信确认)
    
    # 不是会不会,而是想不想             
    
  • 相关阅读:
    Spark Steaming消费kafka数据条数变少问题
    intellij idea 搜索
    ZooKeeper shell
    linux 端口映射设置
    maxCompute odps 行转列
    dev stg prd 开发 测试 生产环境
    大数据之路
    MYSQL性能优化
    JavaScript学习笔记-setTimeout应用
    JavaScript学习笔记-函数
  • 原文地址:https://www.cnblogs.com/-406454833/p/11502502.html
Copyright © 2020-2023  润新知