zoukankan      html  css  js  c++  java
  • python-study-03


    数据类型

    1、什么是数据类型
    变量值才是我们存储的数据,所以数据类型指的就是变量值的不同种类

    2、为何数据要分类型?
    变量值是用来保存现实世界中的状态的,那么针对不同的状态就应该用不同类型的数据去表示

    3、如何用,即数据类型的分类?

    一:整型int
    1、作用:表示人的年龄、各种号码、等级

    2、定义
    age=18 #age=int(18)
    print(id(age))
    print(type(age))
    print(age)

    3、如何用

    二、浮点型float
    1、作用:表示身高、体重、薪资。。。

    2、定义
    salary=3.1 #salary=float(3.1)
    print(id(salary))
    print(type(salary))
    print(salary)

    3、如何用

    三、字符串类型str
    1、作用:表示描述性质的状态,比如人的名字,家庭住址

    2、定义:在单引号、双引号、三引号内包含的一串字符
    name='egon' #name=str('egon' )

    msg='''
    alex
    egon
    wxx
    '''
    print(type(name))
    print(type(msg))

    注意点:
    msg="my name is 'egon'"
    print(msg)

    3、如何用
    字符串类型只能:+或者*
    msg='hello'
    name='egon'

    print(msg + name)

    name='egon'
    print(name * 10)

    print(1)
    print(2)
    print(3)
    print('-'*100)
    print(1)
    print(2)
    print(3)

    msg1='zaello '
    msg2='za'

    print(msg2 > msg1)

    print('a' > 'Z')


    四:列表list
    1、作用:用来存取多个值

    2、如何定义:在[]内用逗号分隔开多个任意类型的值
    l=[1,'a',3.1,[1,3]] #l=list([1,'a',3.1,[1,3]])
    print(id(l))
    print(type(l))
    print(l)
    x=111
    l=[1,2,x,'a']
    print(l)

    hobbies=['read','run','basketball']
    0 1 2
    3、如何用:按照索引取值,索引是从0开始的
    print(hobbies[2]) #
    print(hobbies)

    l=['alex','male',['oldboy',200]]
    print(l[2][1])

    练习
    students_info=[['egon',18,['play',]],['alex',18,['play','sleep']]]
    取出第一个学生的第一个爱好
    print(students_info[0][2][0])

    五:字典dict
    1、作用:用来存取放多个值,按照key:value的方式存放的值,取的时候可以通过key而非索引去取值,key对value是有描述性功能的

    2、定义方式:在{}内用逗号分隔开多个元素,每一个元素都是key:value的格式,其中value可以是任意类型,key大多数情况都是字符串类型
    'name' 'sex' 'age' 'company_info'
    user_info=['egon','male',18,['oldboy','Shanghai',20]]

    print(user_info[1])
    print(user_info[0])
    print(user_info[3][1])

    'name' 'sex' 'age' 'company_info'
    user_info={
    'name':'egon',
    'sex':'male',
    'age':18,
    'company_info':{'c_name':'oldboy','c_addr':'Shanghai','members':20}
    }

    print(id(user_info))
    print(type(user_info))
    print(user_info)

    print(user_info['name'])
    print(user_info['company_info']['c_name'])

    #练习
    students=[
    {'name':'alex','age':38,'hobbies':['play','sleep']},
    {'name':'egon','age':18,'hobbies':['read','sleep']},
    {'name':'wupeiqi','age':58,'hobbies':['music','read','sleep']},
    ]
    print(students[1]['hobbies'][1])


    六:布尔bool
    1、作用:用于判断的条件

    2、如何定义:True,False
    print(10 > 2 and 3 > 14)
    print(type(True))

    所有的数据类型的值本身就是一种布尔值,即所有的数据类型都可以当作条件去用
    在如此多的数据类型中只需要记住:0,None,空,它们三类的布尔值为False

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

    与用户交互
    在python3中的input会将用户输入的任何内容都存成字符串类型
    name=input("请输入您的姓名:") #name='egon'
    pwd=input("请输入您的密码:") #pwd='123'

    print(name,type(name))
    print(pwd,type(pwd))
    print('=========>1')
    print('=========>2')
    print('=========>3')

    在python2中的raw_input用法与python3的input是一摸一样的
    name=raw_input("请输入您的姓名:") #name='egon'
    pwd=raw_input("请输入您的密码:") #pwd='123'


    age=input('age>>>: ') #age='18'
    print(age,type(age))
    age=int(age)
    print(age > 11)

    格式化输出
    name='egon'
    age=18

    %s其实可以接收任意类型的值
    print('my name is %s my age is %s' %(name,age))
    print('my name is %s my age is %s' %(name,[1,2]))

    %d只能接收int类型的值
    print('my age is %d' %age)

    name=input('username>>: ')
    age=input('age>>: ')
    sex=input('sex>>: ')
    job=input('job>>: ')

    print("""
    ------------ info of %s -----------
    Name : %s
    Age : %s
    Sex : %s
    Job : %s
    ------------- end -----------------
    """ %(name,name,age,sex,job))

    基本运算符
    print(1 + 2)
    x=10
    y=20
    res=x + y
    print(res)

    /是有零有整
    print(10 / 3)
    // 地板除,只取整数部分

    print(10 // 3)
    print(10 // 4)

    % :取余数
    print(10 % 3)

    print(10 ** 2)

    pwd='123'
    print(pwd != '123')

    列表之间比较大小,仅限于相同位置对应的值是同一类型
    l1=[1,'a',3]
    l2=[1,3]

    print(l2 > l1)

    print(10 > 1.1)

    age=18

    age+=1 #age=age + 1
    age*=10 #age=age*10
    age//=3 #age=age//3
    print(age)

    重点:
    链式赋值
    d=10
    c=d
    b=d
    a=d

    a=b=c=d=10

    交叉赋值
    x=100
    y=200

    temp=x
    x=y
    y=temp
    print(x,y)

    x,y=y,x
    print(x,y)

    变量值的解压缩
    l=['egon','asb','wsb']
    x=l[0]
    y=l[1]
    z=l[2]
    x,y,z=l

    print(x,y,z)

    l=['egon','asb','wsb','lsb']
    x,y,z,a=l
    print(x,y,z,a)
    _='lsb'
    x,_,z,_=l

    print(_)

    yj=[11,22,33,44,55,66,77,88,99,100,200,300]
    mon1,mon2,mon3,mon4,mon5,mon6,*_=yj
    print(mon1)
    print(mon2)
    print(mon3)
    print(mon4)
    print(mon5)
    print(mon6)

    mon1,mon2,*_,mon11,mon12=yj

    print(mon1)
    print(mon2)
    print(mon11)
    print(mon12)

    对于字典来说,解压出来的是key
    info={'name':'egon','age':18,'sex':'male'}

    x,y,z=info
    print(x,y,z)

    逻辑运算
    print(not 10 > 3)

    print(10 > 3 and 3 > 2)

    print(3 >= 3 and 3 > 2 and 'xxx' != 'egon' and 3 > 2)


    print(False or True)
    print(3 > 3 or 3 > 2 or 'xxx' != 'egon' or 3 > 2)

    print(not 3 > 3 or (not 3 > 2 and 'xxx' == 'egon' or 3 > 2))

    if 3 >= 3 and 3 > 2:
    if 'xxx' != 'egon' and 3 > 2:
    print('===>')

    print(3 >= 3 and 3 > 2 and 'xxx' != 'egon' and 3 > 2)

    ##################################################
    作业:

    明日预习:
    流程控制之if判断
    流程控制之while循环
    流程控制之for循环
    数据类型及其内置方法

    https://www.cnblogs.com/linhaifeng/articles/7133167.html


    明日默写:早8:20-8:45
    1、简述cpu、内存、硬盘的作用
    cpu=控制器+运算器:计算机的指挥系统,寻址,取指,译码分析,指挥执行。算数运算与逻辑运算

    内存:暂时存放程序和数据,cpu从这里取数据

    硬盘:永久存放程序和数据,加载到内存


    2、简述什么是操作系统以及它有何作用
    操作系统位于计算机硬件与应用软件之间
    是一个协调、管理、控制计算机硬件资源与软件资源的控制程序
    控制硬件
    把对硬件的复杂的操作封装成优美简单的接口(文件),给用户或者应用程序去使用
    3、python test.py执行的三个阶段是什么?在哪个阶段识别文件内的python语法?
    启动python3解释器
    python3解释器将文件内容D:p1.py从硬盘读入内存
    python3解释器解释执行文件代码 此阶段识别python语法
    4、简述python的内存管理
    引用计数一旦为0,就是垃圾,会被python的垃圾回收机制自动回收
    内存优化:python有常量池,一些常用简单类型直接使用此常量池
    5、基本数据类型的定义与使用
    数据类型指的是数值的不同种类,用来描述现实世界中的不同状态

    今日作业:
    1、整理当天所学内容,编写博客,明天早晨检查
    数据类型 用户交互 格式化输出 基本运算符
    2、python test.py执行的三个阶段是什么?在哪个阶段识别文件内的python语法?
    启动python3解释器
    python3解释器将文件从硬盘读入内存
    python3解释器解释执行文件代码 此阶段识别python语法
    3、将下述两个变量的值交换
    s1='alex'
    s2='SB'
    s1,s2=s2,s1 #交叉赋值
    4、判断下述结果
    msg1='alex say my name is alex,my age is 73,my sex is female'
    msg2='alex say my name is alex,my age is 73,my sex is female'
    msg1 is msg2 False
    msg1 == msg2 True

    5、什么是常量?在python中如何定义常量
    不变的量 在python中没有从语法意义上去强制性定义常量,一般用全大写字母
    6、有存放用户信息的列表如下,分别存放用户的名字、年龄、公司信息
    userinfo={
    'name':'egon',
    'age':18,
    'company_info':{
    'cname':'oldboy',
    'addr':{
    'country':'China',
    'city':'Shanghai',
    }
    }

    }
    要求取出该用户公司所在的城市
    print(userinfo['company_info']['addr']['city'])

    students=[
    {'name':'alex','age':38,'hobbies':['play','sleep']},
    {'name':'egon','age':18,'hobbies':['read','sleep']},
    {'name':'wupeiqi','age':58,'hobbies':['music','read','sleep']},
    ]
    取第二个学生的第二个爱好
    print(students[1]['hobbies'][1])

    要求取出三名学生的详细信息分别赋值给三个变量(用一行代码实现)
    alex,egon,wupeiqi=students #变量值的解压缩










     
















  • 相关阅读:
    003_当表中字段不能为空,但却没有赋值时?
    019_SSM——mybatis的#{id}可以根据是对象参数调用setId()的原码?
    002_com.wkcto自动添加错误
    018_SSM——Spring框架的byName与ByType实现自动注入的原码是什么呢?
    as3 文档类引用
    as3 连接mysql
    as2 针对加载进来的swf操作
    as3 arguments.callee与... (rest)
    as3 string split方法一些注意
    as3 Function 中的call与apply方法
  • 原文地址:https://www.cnblogs.com/xujinjin18/p/9101818.html
Copyright © 2011-2022 走看看