美文网首页
day3--总结

day3--总结

作者: 熙包包 | 来源:发表于2018-11-07 20:47 被阅读0次

    一.变量

    变量就是在程序中用来保存数据的容器

    1.声明变量(定义变量) - 假的声明
    语法:
    变量名 = 值

    说明:
    变量名 - 要求:标识符,不能是关键字
    规范:a.遵守PEP8命名规范(名字的所有字母都小写,如果由多个单词组成,单词之间用_隔开)

    b.见名知义(看到名字就知道变量中存的是什么数据)

    = - 赋值符号,将=右边的值赋给左边的变量

    值 - 可以是任何有结果的表达式,例如:190, 变量, 10+20, 调用函数表达式

    age = 18
    name = '小明'
    number = 2910
    

    使用变量的时候,就是在使用变量中保存的值
    print(age)

    变量必须先声明(赋值)再使用
    print(age1) # NameError: name 'age1' is not defined

    同时声明多个变量,并且赋一样的值。(同时给多个变量赋值)

    num1 = num2 = num3 = 10
    print(num1, num2, num3)
    

    同时声明多个变量,并且赋不通的值。 (注意:变量的个数和值的个数要保持一致)

    x, y, z = 10, 20, 12.4
    print(x, y, z)
    

    2.声明变量和给变量赋值的本质

    结论:python所有的变量,存的都是数据在内存中的地址。内存地址的大小一样
    用一个变量给另外一个变量赋值,实质是将变量中的地址赋给另外一个变量.
    使用变量的时候,是使用的变量中地址对应的值

    3.变量的三要素:值、地址和类型

    值:变量中存的地址对应的值
    地址:变量中存储的地址 (id)
    类型:变量中存的地址对应的值的类型

    二,运算符

    python中的运算符:数学运算符,比较运算符,逻辑运算符,赋值运算符,位运算符

    +: 加法运算,
    -:减法运算,
    *:乘法运算,
    /:除法运算,
    %:取余(求余数),
    //:整除,
    *:幂运算
    +,-,
    ,/和数学中的+,-,x,÷ 对应的功能一模一样

    a.% - 取余

    应用1:获取一个整数的最低的一位或者几位的值num%(10^n)

    应用2:判断一个是是否能够被另外一个数整除 num1 % num2

    获取一个数的个数

    num = 36523
    print(num % 10)  # 3
    print(num % 100) # 23
    print(num //1000 % 10)
    

    b. // - 除法运算,求商,获取商的整数部分

    print(5//2)   # 2
    print(3.9 // 3)  # 1.0
    
    num = 289
    print(num//100)  # 取num的百位上的值
    

    c. ** - 幂运算

    x ** y - 求x的y次方

    print(2**10)  # 2的10次方
    print(9**0.5) # 9开平方
    print(8**(1/3))  # 8开3次方
    
    

    2.比较运算符:>, <, ==, !=, >=, <=

    所有的比较运算符的运算结果都是布尔值

    值1 > 值2 : 值1是否大于值2

    print(100 > 10)  # True
    print(10 > 100)  # False
    print(10 > 10)   # False
    
    3.逻辑运算符: and, or, not

    逻辑运算符的运算对象是布尔值,运算符结果也是布尔值
    a. and(逻辑与运算):
    值1 and 值2:如果值1和值2的都为True,结果才是True;只要有一个False结果就是False
    True and True -> True
    True and False -> False
    False and True -> False
    False and False -> False

    逻辑与运算相当于生活中的'并且';当需要多个条件同时满足,就使用and将多个条件连接在一起

    例子:
    要求成绩大于90并且表现分大于95,才能获得奖学金
    grade = 90 # 成绩
    score = 98 # 分数
    print('是否获取奖学金:', grade > 90 and score > 95)

    c.not(逻辑非运算)

    not 值:如果值是True,结果就是False;如果值是False,结果就是True
    not True -> False
    not False -> True

    示列:

    not用来对某个条件进行否定
    age = 17
    是否能够进入网吧的条件: 年龄不小于18
    print('是否能进入网吧:', not age < 18)
    print('是否能进入网吧:', age >= 18)

    三.赋值运算和位运算

    1.赋值运算符:=,+=, -=, *=, /=, %=, //=, **=

    所有赋值符的左边必须是变量; 组合的赋值运算符的左边的变量必须已经赋值;
    所有赋值运算符最终的会进行赋值操作

    a. = - 直接将右边的结果赋给左边的变量
    b. +=, -=, *=, /=, %=, //=, **=

    变量 += 值 --> 相当于 变量 = 变量 + 值
    变量 -= 值 --> 相当于 变量 = 变量 - 值
    变量 *= 值 --> 相当于 变量 = 变量 * 值

    num1 = 1
    num1 += 10   # num1 = num1+10 = 1+10
    print(num1)
    
    num1 *= 2    # num1 = num1*2 = 11*2
    print(num1)
    
    num1 %= 2
    print(num1)
    

    3.运算符的优先级

    数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
    优先级高的先算。如果有括号,先算括号里面的

    数学运算符中: ** > *, /, %, // > +, -

    >num = 10 + 20 > 25 and True < 2
     num = 30 > 25 and True < 2
     num = True and True
     num = True
    print(num)
     
    num = 10 + (20 > 25 and True < 2)
     num = 10 + (False and True < 2)
     num = 10 + False
     num = 10
    print(num)
    
    num = 10 + 2 * 3 ** 2
    print(num)
    
    4.位运算:&(按位与),|(按位或),^(按位异或), ~(按位取反),<<(左移), >>(右移)

    位运算是针对二进制中每一位进行的相关操作

    a. 数字1 & 数字2 -> 二进制的每一位进行与运算,运算的时候如果都为1结果就是1,否则就是0

    1 & 1 - 1
    1 & 0 - 0
    0 & 1 - 0
    0 & 0 - 0

    与的特点:一位上的数如果和1与,就会保留这一位上的数。如果和0与,就会将这一位置0
    11010 & 00111 = 00010

    与运算的应用:判断一个数的奇偶性(最优解答)
    将数字和1与,如果结果是0,就说明这个数是偶数;如果结果是1,说明这个数是奇数

    b.数字1 | 数字2 - 如果有一位是1结果就是1,两个都为0结果才是0

    1 | 1 - 1
    1 | 0 - 1
    0 | 1 - 1
    0 | 0 - 0

    c.按位取反

    ~ 数字 - 将每一位取反(0变成1,1变成0)

    ~1 = 0
    ~0 = 1

    ~2
    010 -> 101(补) = 100(反) = 111

    d.按位异或

    数字1 ^ 数字2 - 每一位如果相同就为0,不同为1
    1 ^ 1 - 0
    1 ^ 0 - 1
    0 ^ 1 - 1
    0 ^ 0 - 0

    e.左移

    数字1 << n(位数) - 左移指定的位数就是在二进制的后面加指定个数个0
    相当于:数字1 * (2**n)

    f.右移

    数字1 >> n(位数) 将数字的二进制位向右移动指定的位数(将低位删除指定的位数)
    相当于: 数字1 // (2**n)
    20
    010100 >> 2 = 0101 = 5
    0101 >> 1 = 010 = 2
    010 >> 1 = 01 = 1
    01 >> 1 = 0 = 0

    四.认识字符串

    1.什么是字符串(str)

    字符串是python中一种常用的有序但是不可变的容器类的数据类型,可以同时存储多个字符。属于序列

    字面量:使用单引号或者双引号将任意字符括起来,就是字符串常量
    'hjh是否就是23as+-', "是89===——238jsNM是"

    字符:指的就是字符串中的每一个单元。注意,python中只有字符的概念没有字符类型

    2.字符串中的内容
    a.普通字符:包含数字字符、字母、普通符号:+,-(),%#@等、中文、韩文、日语等
    b.转义字符:通过反斜杠将一些字符转换成有特殊功能或者特殊意义的字符

    \n - 换行
    \t - 制表符
    ' - 表示一个单引号
    " - 表示一个双引号
    \ - 表示一个\

    注意:一个转义字符代表一个字符

    c.阻止转义: 在字符串的最前面加r/R,可以阻止转义字符转义

    print('\tabc\n123')
    print('abc\'123')
    print("ab\"c'123")
    print('abc\\n123')
    
    print(r'abc\n12\\3')
    print(r'\b')
    

    相关文章

      网友评论

          本文标题:day3--总结

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