美文网首页python从入门到放弃
python-02-数字类型/变量/运算符

python-02-数字类型/变量/运算符

作者: 楠木cral | 来源:发表于2018-10-20 10:23 被阅读0次

    一、数字类型
    python和其他编程语言(C/java...)数字类型差不多,不过多一个复数类型,但是不常用
    不同的类型,在内存中存储时候所占的内存不一样
    1.python中的数字类型有四个:整型(int)、浮点型(float)、布尔(bool)、复数(complex)
    a.整型(int):包含python所有的整数,python3.x整型只有int类型这一种,但是python2.x除了int还有long
    100 123 -78 +782
    b.浮点型(float):包含python所有的小数
    注意:浮点型支持科学计数法
    12.89 -123.9098 +237.890

    print(12e2)      # 12*10^2    1200.0
    print(12e-3)     # 12*10^(-3)    0.012 
    

    c.布尔(bool): 布尔类型的值只有两个,分别是True(真)和False(假)
    注意:布尔值的首字母是大写的
    True对应的数值其实是1, False对应的数值是0

    print(False+1) 
    # 结果是1
    

    d.复数(complex)
    复数:有实部和虚部组成的数字 10+10j
    2.type(数值/变量): 获取括号中值的类型

    print(type(10j))
    print(type(100))
    print(type(True))
    print(type(2e2))
    

    结果为:
    <class 'complex'>
    <class 'int'>
    <class 'bool'>
    <class 'float'>
    3.类型名():将其他的类型的数据转换成当前类型

    print(int(12.5))
    print(bool(10))
    print(float(100))
    print(complex(100))
    # print(float(100+10j))   # 注意:复数不能转换成整型/浮点型
    

    结果为:
    12
    True
    100.0
    (100+0j)

    二、变量
    1.什么是变量
    声明变量,就是在内存中开辟空间存储数据。变量就是程序在内存中存储数据的容器
    2.怎么声明变量
    C/Java声明变量: 类型 变量名 = 初值;
    Python声明变量: 变量名 = 初值
    说明:
    a.变量名:程序员自己命名,要求是标识符,并且不能是关键字;
    所有的字母必须是小写的,如果变量名是由多个单词组成,多个单词之间用下划线隔开;
    见名知义(看见变量名,要知道这个变量大概存的是什么样的数据)
    b. = :赋值符号,功能是将=右边的值赋给左边的变量
    c.初值:有值的表达式(具体的字面量、其他已经声明过的变量)

    # 声明一个变量number,并且赋值为100
    number = 100 
    print(number)
    

    结果为100

    # True = 12.5   # SyntaxError: can't assign to keyword
    # 1abc = True   # SyntaxError: invalid syntax
    # ABC = 10j
    # 声明一个变量student_name,赋值为'小明'
    student_name = '小明'
    print(student_name)
    

    结果为:
    小明
    注意:虽然int、float、bool、str等不是关键字,但是在需要命名的时候最好不用他们来命名。否则会改变他们原来的功能

    int = 100
    print(int(80.9))
    

    结果:
    TypeError: 'int' object is not callable
    3.声明完一个变量可以给变量重新赋值
    重新赋值后,新的值会覆盖变量中原来的值

    student_name = '小花'
    print(student_name)
    
    # python中,同一个变量可以存储不同类型的值
    student_name = 100
    print(student_name)
    

    结果为:
    100
    4.同时声明多个变量
    变量名1=变量名2=变量名3 = 初值

    a = b = c = 123
    print(a,b,c)  # print同时打印多个数据,多个数据之间用逗号隔开
    

    结果为:
    123 123 123

    # 将变量student_name中的值,赋给new_name
    new_name = student_name
    
    # 注意:变量只有在赋完值后才能使用(只能声明后才能使用)
    print(new_name2)      # 报错:definedNameError: name 'new_name2' is not 
    

    三、运算符
    python中运算符:数学运算符、比较运算符、逻辑运算符、赋值运算符、位运算
    1.数学运算符: +, - , * , /, %, //, **
    a. +:求和,和数学中的+号功能一样

    print(100 + 10)
    print(-100 + 10)
    print(12.5 + 3.14)
    

    结果为:
    110
    -90
    15.64
    b. - :求差,和数学中的-号功能一样

    result = 99 - 23   # 将99-23的结果赋给变量result
    print(result)
    

    结果为:
    76
    c. * :求乘积,和数学中的×号功能一样

    print(1.23 * 3)
    print(-1.23 * 2)
    print(-1.23 * -2)
    

    结果:
    3.69
    -2.46
    2.46
    d. /(除):求商, 和数学中的÷号功能一样
    注意:和C语言中的/不一样

    print(5/2)  # 2.5
    print(12.5/5)
    

    结果:
    2.5
    2.5
    e. %:求余数
    注意:python中小数和整数都可以求余数

    print(5%2)
    print(6%2)
    print(5.0 % 0.2)
    

    结果:
    1
    0
    0.19999999999999973
    f. //(整除):求商,结果只取商的整数部分

    print(5 // 2)
    print(6.4 // 2)
    

    结果:
    2
    3.0
    g. **(幂运算): 求幂
    x ** y : 求x的y次方
    技巧:可以通过把y的值设置为1/2(0.5)来求一个数的开平方

    print(2**3)
    print(100**0.5)
    

    结果:
    8
    10.0
    2.比较运算符: >, <, ==, !=, >=, <=
    所有比较运算的结果是布尔值:True/False
    ==: 判断左右两边的值是否相等, =:将右边的值赋给左边的变量

    print(100 > 10)
    print(100 < 10)
    print(12.5 == 12.5)
    print(10 == 12.5)
    number = 10
    print(number == 100)  # False
    print(number)
    print(number != 100)  # True
    
    print(100 >= 100)
    print(10 < 11)      # True
    print(10 <= 10)   # True
    

    结果:
    True
    False
    True
    False
    False
    10
    True
    True
    True
    True
    3.逻辑运算符: and(与), or(或), not(非)
    逻辑运算符的结果是布尔值。运算对象也必须是布尔值
    a. 值1 and 值2:两个都为True,结果才是True。否则都是False
    and相当于生活中的并且

    print('==============================')
    print(True and True)   # True
    print(False and True)  # False
    print(True and False)  # False
    print(False and False) # False
    

    结果:

    True
    False
    False
    False

    练习:设置获得奖学金的条件:绩点在3.5以上,并且操评分高于90分

    grade = 3.8
    score = 95
    # 条件一:
    grade > 3.5
    # 条件二:
    score > 90
    # 两个条件同时满足
    print(grade>3.5 and score > 90)
    

    结果:
    True
    什么时候使用and: 要求多个条件同时满足的时候使用and连接

    b. 值1 or 值2:两个都我False的时候结果才是False,否则就是True
    print('=======================')
    print(False or False) # False
    print(True or False) # True
    print(True or True) # True

    结果:
    =======================
    False
    True
    True
    # 练习:是否穿毛衣出门:温度低于20度,或者风速高于5级
    

    temperature = 18
    wind_speed = 4

    条件一:

    condition1 = temperature < 20 # condition1 = True

    条件二:

    condition2 = wind_speed > 5 # condition2 = False
    print(condition1 or condition2)

    结果:
    True
    # 什么时候使用or: 要求多个条件中只要有一个条件满足
    
    3. not 值: 值取反(True -> False; False -> True)
    

    print(not True)
    print(not False)
    age = 18

    条件:年龄不大于18

    print(age <= 18)
    print(not age > 18)

    结果:
    False
    True
    True
    True
    # 否定某个条件的时候使用not
    4.python中and和or会有短路现象
    and的短路现象:值1 and 值2 --> 一旦确定值1的值是False,就不会再去执行判断值2
    or的短路现象:值1 or 值2 --> 一旦值1的是True,就不会再去执行判断值2
    

    def func1():
    print('没有发生短路')
    False and func1()
    True or func1()

    # 5.赋值运算符: =, +=, -=, *=, /=, %=, //=, **=
    # 赋值运算符的左边必须是变量。赋值的时候是先算赋值符号右边的结果,然后再将结果赋给左边的变量
    

    100 = 100 # SyntaxError: can't assign to literal

    result = 10 > 100
    print(result)

    结果:
    False
     a. =: 单纯的将=右边的值赋给左边
     num1 = 100
     b. +=, -=, *=, /=, %=, //=, **= 
     要求左边的变量本身必须是有值的
     变量1 += 值  ----> 变量1 = 变量1+值
    

    num2 = 100
    num2 += 10 # 相等于: num2 = num2 + 10
    print(num2)

    num3 = 4
    num3 *= 2 # 相当于: num3 = num3 * 2
    print(num3)

    结果:
    110
    8
    6.运算符的优先级:
     a.数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
     b.先计算优先级高的,如果优先级相等就从左往右一次运算。
     c.如果有括号,先算括号里面
     d.数学运算符中:** > *, /, % ,// > +, -
    

    print((100 > 200) - 50* 3)

    结果:
    -150
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    相关文章

      网友评论

        本文标题:python-02-数字类型/变量/运算符

        本文链接:https://www.haomeiwen.com/subject/axipzftx.html