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')
     
  • 相关阅读:
    6-Python爬虫-分布式爬虫/Redis
    ES 查询时 排序报错(fielddata is disabled on text fileds by default ... )解决方法
    Intellij Idea webstorm 激活
    Intellij Idea 配置jdk
    java 获取(格式化)日期格式
    js 跳转 XSS漏洞 预防
    CSS去掉背景颜色
    js对象无法当成参数传递 解决方法
    Elasticsearch java api
    java多条件查询SQL语句拼接的小技巧
  • 原文地址:https://www.cnblogs.com/shanau2/p/9984030.html
Copyright © 2011-2022 走看看