zoukankan      html  css  js  c++  java
  • python学习day4 数据类型 if语句

    1.变量的内存管理

      cpython解释器垃圾回收机制

      什么是垃圾,当一个值身上没有绑定变量名时,(该值的引用计数=0时)就是一个垃圾

      age=18 #18的引用计数=1

      x=age  #18的引用计数=2

      age=19 #18的引用计数=1

      del x #删除x的定义,18的引用计数=0

    2.变量值具有的三个特点

      id 内存地址

      type数据类型

      值 本身

      id相同,值一定相同

      值相同,id可以不同

      python把常用的小整数型-5-256提前申请好内存地址,方便调用  

      因为cpu在操作硬件的内核态和应用程序的用户态直接切换会花费时间,提前申请好节省时间

      is,判断id是否相同

      ==判断值是否相同

      可变类型/不可变类型

      可变类型:值改变,id不变,证明就是在修改原值

      不可变类型:值改变,id改变,证明不是在修改原值

       x=10

      print(id(x))

      x=11

      print(id(x))

    3.python2与用户的交互

    python2中的raw_input和python3的input是一样的效果,可以把所有输入转化成str字符串类型

    python2中的input要求用户输入一个明确的类型,输入什么类型,就存成什么类型

    4.数据类型

      作用:用来记录状态

      4.1整型int

      作用:可以用来记录年龄,等级,各种号码状态

      定义age=18

      age=int(18)

      print(type(age))

      print(age+3)

      print(age>3) 

      4.2浮点型

      作用:用来记录身高,体重,工资等状态

      salary=3.1

      print(type(salar))

      print(3.1+2.3)

      print(3.1+2)

      4.3字符串类型str(一堆字母拼接在一起)

      作用:用来记录描述性质的状态 比如名字 性别

      定义:在单引号(’‘)双引号(“”)、三引号(’‘’‘’‘,“”“”“”),包含一系列的字符

      x='abc'

      y="abc"

      z='''

      abc

      xxxx

      '''

    print(type(x))

    引号的嵌套,要区分开msg='name is "egon"'

    print('abc'+'efg') #仅限于str类型直接相加

    print('abc'*10) # *的只能是数字

    print('a'> 'Z') #按ASCII码表对照比较大小

    4.3列表类型list

    作用:用来记录多个值,用索引对应值,索引反映是位置

    定义:在[]内用逗号分隔开多个任意类型的值

    l=[1,3.1,'xxx',['a','b','c']

    print(type(l))

    print(l[3][0])

    4.4字典类型
    作用:用来记录多个值,用key对应value,其中key对value有描述性的功能

    定义:在{}内,用逗号分割开多元素,每一个元素都是key:value的形式,其中value可以是任意类型,key一般是str类型

    d={'x':1,'y':3.1,'z':['a','b'],'m':{'aaa':11111}}

    print(type(d))

    调用

    print(d['x'])

    print(d['m']['aaa'])

    print(d['z'][1])


    # name age gender compay_info
    # emp_info=['egon',18,'male',['Oldboy','SH',200]]
    # print(emp_info[1])
    # print(emp_info[3][2])

    # 字典的方式
    # emp_info={'name':'egon','age':18,"gender":'male','company_info':['Oldboy','SH',200]}

    # print(emp_info['age'])
    # print(emp_info['company_info'][0])

    # names=['egon','alex','kevin']
    # dic={'name1':'egon','name2':'alex','name3':'kevin'}

    # 列表的方式
    # name age gender compay_info
    # emp_info=['egon',18,'male',['Oldboy','SH',200]]
    # print(emp_info[1])
    # print(emp_info[3][2])

    # 字典的方式
    # emp_info={'name':'egon','age':18,"gender":'male','company_info':['Oldboy','SH',200]}

    # print(emp_info['age'])
    # print(emp_info['company_info'][0])

    # names=['egon','alex','kevin']
    # dic={'name1':'egon','name2':'alex','name3':'kevin'}

    列表的方

    4.5 布尔型:True False
    print(type(True))
    print(type(False))

    tag1=True
    tag2=True
    print(id(tag1))
    print(id(tag2))

    所有数据都自带布尔值
    布尔值为假的数据类型:0,None,空
    print(bool([]))
    print(bool(''))
    print(bool(None))

    4.6None
    print(type(None))

    5.基本运算符
    比较运算符
    > >=
    < <=
    ==
    !=
    print(10!=11)

    x=None
    print(x ==None)
    print(x is None)

    l1=['abc',1,['a','b','c']]
    l2=['abc','aa]
    print(l2>l1) #从第一个数据开始比较,必须是同一个数据类型

    逻辑运算符
    and 连接左右两个条件,必须两个同时成立,and运算结果才为True
    print(10>9 and 3>2 and 'egon'=='egon')
    or 连接左右两个条件,两个条件成立任意一个or运算的结果就为True
    res=(False or False or True or False or 3>10)

    可以加括号,优先运算括号内公式

    not 非运算符 把紧接其后的条件取反
    x=None
    print(not is None)
    print(x is not None)


    age1=18
    age2=19
    print(age2 is not age1)

    name_bk='egon'
    pwd_bak='123'
    name=input('please input your name: ')
    pwd=input('please input your password: ')
    if name == name_bk and pwd == pwd_bak:
    print('login successfull')
    print('login successfull')
    print('login successfull')
    print('login successfull')
    print('login successfull')
    else:
    print('username or password error')
     
  • 相关阅读:
    Redis 设置密码登录
    SELinux 宽容模式(permissive) 强制模式(enforcing) 关闭(disabled) 几种模式之间的转换...
    laravel 博客项目部署到Linux系统后报错 权限都设置为777,仍然报错没有权限
    linux用netstat查看服务及监听端口
    redis使用rediscli查看所有的keys及清空所有的数据
    一起谈.NET技术,Oxite 项目结构分析 狼人:
    一起谈.NET技术,VS 2010 和 .NET 4.0 系列之《在VS 2010中查询和导航代码》篇 狼人:
    一起谈.NET技术,VS 2010 和 .NET 4.0 系列之《添加引用对话框的改进》篇 狼人:
    一起谈.NET技术,VS 2010 和 .NET 4.0 系列之《代码优化的Web开发Profile》篇 狼人:
    一起谈.NET技术,数组排序方法的性能比较(3):LINQ排序实现分析 狼人:
  • 原文地址:https://www.cnblogs.com/shanau2/p/9984030.html
Copyright © 2011-2022 走看看