zoukankan      html  css  js  c++  java
  • Python基础(二)--基本数据类型、格式化输出、基本运算符

    一、基本数据类型

    1、数字类型

    #int整型
    定义:age=10 #age=int(10)
    用于标识:年龄,等级,身份证号,qq号,个数
    
    #float浮点型
    定义:salary=3.1 #salary=float(3.1)
    用于标识:工资,身高,体重
    #int(整型)
    在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
    在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
    #long(长整型)
    跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
    注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
    注意:在Python3里不再有long类型了,全都是int
    >>> a= 2**64
    >>> type(a)  #type()是查看数据类型的方法
    <type 'long'>
    >>> b = 2**60
    >>> type(b)
    <type 'int'>
    
    #complex复数型
    >>> x=1-2j
    >>> x.imag
    -2.0
    >>> x.real
    1.0
    其他数据类型(补充)

    2、字符串类型

    #在python中,加了引号的字符就是字符串类型,python并没有字符类型。
    定义:name='egon' #name=str('egon') 
    用于标识:描述性的内容,如姓名,性别,国籍,种族
    # 1.单引号和双引号一般没什么区别,只有在单双引号配合使用的时候才要区分
    # 2.多行字符串必须用多引号
    单引号、双引号、多引号的区别
    # 字符串但只能进行"相加"和"相乘"运算
    >>> name='Pie'
    >>> age='18'
    >>> name+age     #相加其实就是简单拼接
    'Pie18'
    >>> name*5         # 相乘就是重复打印
    'PiePiePiePiePie'
    字符串拼接

    3、列表

    #在[]内用逗号分隔,可以存放n个任意类型的值
    定义:students=['pie','jqh','zd',]    
    # students=list(['pie','jqh','zd',] ) 
    用于标识:存储多个值的情况,比如一个人有多个爱好

    4、字典

    存放一个人的信息:姓名,性别,年龄,很明显是多个值,既然是存多个值,我们完全可以基于刚刚学习的列表去存放,如下
    >>> info=['pie','male',18]
    定义列表的目的不单单是为了存,还要考虑取值,如果我想取出这个人的年龄,可以用
    >>> info[2]
    18
    但这是基于我们已经知道在第3个位置存放的是年龄的前提下,我们才知道索引2对应的是年龄
    即:       #name, sex, age
    info=['pie','male',18] 而这完全只是一种假设,并没有真正意义上规定第三个位置存放的是年龄,于是我们需要寻求一种,即可以存放多个任意类型的值,又可以硬性规定值的映射关系的类型,
    
    比如key=value,这就用到了字典。
    字典的产生
    #在{}内用逗号分隔,可以存放多个key:value的值,value可以是任意类型,而key一定要是不可变类型
    定义:info={'name':'pie','age':18,'sex':18} #info=dict({'name':'pie','age':18,'sex':18})
    用于标识:存储多个值的情况,每个值都有唯一一个对应的key,可以更为方便高效地取值
    students=[
        {'name':'pie','age':38,'hobbies':['play','sleep']},
        {'name':'jqh','age':18,'hobbies':['read','sleep']},
        {'name':'zd','age':58,'hobbies':['music','read','sleep']},
    ]
    print(students[1]['hobbies'][1]) #取第二个学生的第二个爱好

     5、布尔类型

    布尔值,一个True一个False
    #计算机俗称电脑,即我们编写程序让计算机运行时,应该是让计算机无限接近人脑,或者说人脑能干什么,计算机就应该能干什么,人脑的主要作用是数据运行与逻辑运算,
    此处的布尔类型就模拟人的逻辑运行,即判断一个条件成立时,用True标识,不成立则用False标识
    >>> a=3
    >>> b=5
    >>> 
    >>> a > b #不成立就是False,即假
    False
    >>> 
    >>> a < b #成立就是True, 即真
    True
    
    接下来就可以根据条件结果来干不同的事情了:
    if a > b 
       print(a is bigger than b )
    
    else 
       print(a is smaller than b )
    上面是伪代码,但意味着, 计算机已经可以像人脑一样根据判断结果不同,来执行不同的动作。

       布尔类型的重点

    #所有数据类型都自带布尔值
    1、None,0,空(空字符串,空列表,空字典等)三种情况下布尔值为False
    2、其余均为真 

    重点

    #1.可变类型:在id不变的情况下,value可以变,则称为可变类型,如列表,字典
    
    #2. 不可变类型:value一旦改变,id也改变,则称为不可变类型(id变,意味着创建了新的内存空间) 

    二、格式化输出

    将用户指定的值放到指定的位置,就不能用字符串拼接来实现,因为字符串拼接都是拼接都末尾

    ==>利用占位符:%d、%s

    # %s字符串占位符:可以接收字符串,也可接收数字
    print('My name is %s,my age is %s' %('tom',18))
    
    # %d数字占位符:只能接收数字
    print('My name is %s,my age is %d' %('tom',18))
    print('My name is %s,my age is %d' %('tom','18'))  #报错

     

    三、基本运算符

    1、算数运算

     以下假设变量:a=10,b=20

    print(10/3)         # 3.3333333333333335
    print(10//3)        # 3
    print(10%3)       # 1
    print(3**3)        # 27

    2、比较运算

    a=10,b=20

     

    3、赋值运算

     a=10,b=20

    4、逻辑运算

    注意:优先级 :not > or > and

    #三者的优先级从高到低分别是:notorand
    >>> 3>4 and 4>3 or 1==3 and 'x' == 'x' or 3 >3
    False
    #最好使用括号来区别优先级,其实意义与上面的一样
    >>> (3>4 and 4>3) or ((1==3 and 'x' == 'x') or 3 >3)
    False

    身份运算

    #is比较的是id
    #而==比较的是值



     

  • 相关阅读:
    codeforces round#600
    第三章:数据操作
    1143 Lowest Common Ancestor (30 分)
    游标
    1151 LCA in a Binary Tree (30 分)
    jQuery之setInterval()定时器
    C程序第四次作业
    C程序第三次作业
    C程序第二次作业
    C程序第一次作业
  • 原文地址:https://www.cnblogs.com/zhangbingsheng/p/9361839.html
Copyright © 2011-2022 走看看