zoukankan      html  css  js  c++  java
  • python基础 变量与运算符

    变量与运算符

    变量

    定义一个变量

    a = [1,2,3,4,5,6]
    print(a) # [1,2,3,4,5,6]
    

    变量命名要求:

    1. 首字母不能是数字
    2. 只能包含字符数字下划线
    3. 不能是关键字

    type 不是关键字,可以做变量名,但是不建议使用。

    变量名区分大小写。

    关于列表

    a = 1
    b = a
    a = 3
    print(b) # 1
    
    a = [1,2,3,4,5]
    b = a
    a[0] = '1'
    print(a) # ['1',2,3,4,5]
    print(b) # ['1',2,3,4,5]
    

    int, str, tuple 是值类型(不可改变)

    list, set, dict 是引用类型(可变)

    a = 'Hello'
    a = a + ' Python'
    print(a) # Hello Python
    

    id(): 显示内存地址

    b = 'hello'
    id(b) # 49675488
    b = b + ' python'
    id(b) # 49748392
    # 内存地址改变
    

    字符串不可改变

    'python'[0] # p
    'python'[0] = 'a' # 报错, 不可改变
    

    关于 type

    type = 1 # 此时,type 代表 1
    type(1) # 报错
    

    关于tuple list

    list

    a = [1,2,3]
    id(a)
    a[0] = [6]
    id(a) # 地址不变
    
    b = [1,2,3]
    b.append(4)
    print(b) # [1,2,3,4]
    

    tuple

    a = (1,2,3)
    a[0] = '6' # 报错
    
    c = (1,2,3)
    c.append(4) # 报错
    

    元组中列表的内容可以修改

    a = (1,2,[3,4])
    a[2][0] = 6
    print(a) # (1,2,[6,4])
    

    运算符

    +, -, *, /, //, %,

    3 // 2 # 1,结果为整数
    
    3**2 # 3 的平方
    3**3 # 3 的三次方
    
    // 赋值
    =
    +=
    -+
    //=
    **/
    

    Bool

    ==
    >
    >=
    <
    <=
    !=
    

    布尔值相加

    b = 1
    b += True # 2
    

    list, tuple 也可以比较

    [1,2,3] < [1,3,2] # True
    (1,2,3) < (1,3,2) # True
    

    逻辑运算符

    and: 两个都为真才为真

    or: 有一个为真即为真

    not: not False: 真,返回相反的 bool 值

    True and True # True
    False or False # True
    not False # True
    

    相关运算

    1 and 2     # 2, 都为真,返回第二个
    '' and 'b'  # '', 有一个为假,返回为假的元素
    0 and ''    # 0, 都为假返回第一个元素
    'a' or 'b'  # 'a', 都为真,返回第一个元素师
    0 or 1      # 1, 有一个为真,返回为真的元素
    1 or 0      # 1, 有一个为真,返回为真的元素
    not 'a'     # False
    

    空的字符串,列表,set,dict 为 False.

    成员运算符

    in. not in

    返回 bool 值

    a = 1
    a in [1,2,3] # True
    a not in [2,3,4] # True
    

    列表,集合,元组都可以

    字典

    a = 'b'
    c = {
        'b':1
    }
    a in c # True
    # a 包含在 c 的键中,返回 True
    

    身份运算符

    is, not is

    返回结果为 bool 值

    is 不是比较值相等,is 比较的是两个变量的身份是否相等(内存地址)

    not is 身份是否不等

    a = 1
    b = 1.0
    a == b # True
    a is b # False
    
    a = 1
    b = 1
    a is b # True
    
    a = {1,2,3}
    b = {1,3,2}
    a == b # True
    a is b # False
    # 集合是无序的,顺序不影响
    # a b 地址不同
    
    a = (1,2,3)
    b = (1,3,2)
    a == b # False
    a is b # False
    # 元素属于序列,是有序的
    
    a = [1,2,3]
    b = [1,2,3]
    a == b # True
    a is b # False
    
    a = [1,2]
    b = [2,1]
    a == b # False
    a is b # False
    

    判断字符串类型:isinstance()

    a = 1
    isinstance(a,int) # True
    isinstance(a,(int,str)) # True
    # 第二个参数只能为元组,[],{} 会报错
    

    位运算符

    & # 按位与
    | # 按位或
    ^ # 按位异或
    ~ # 
    …………
    

    &

    # 二进制对应位置都为 1 为 1 否则为 0
    2: 1 0
    3: 1 1
    &: 1 0
    

    |

    # 二进制对应位置只要有一个为 1 就为 1 都为0 则为 0
    2: 1 0
    3: 1 1
    |: 1 1
    
    大家好,我是冬冬杨~
  • 相关阅读:
    Nginx得知——Hello World模
    Web静态和动态项目委托代理基于面向方面编程AOP
    PIC16SCM设置不同IO功耗端口状态的影响
    $.ajax通路RESTful Web Service一个错误:Unsupported Media Type
    什么是Entitlement
    加解密
    Types of Security Vulnerabilities
    fork后子进程从哪里开始执行
    进程间通信(IPC)介绍
    Using URL Schemes to Communicate with Apps
  • 原文地址:https://www.cnblogs.com/dongyangblog/p/9860627.html
Copyright © 2011-2022 走看看