python基础语法(二)

一、变量的定义

对于重复使用,并且经常需要修改的数据,可以定义为变量,来提高编程效率。

定义变量的语法为: 变量名 = 变量值。(这里的 = 作用是赋值。)

定义变量后可以使用变量名来访问变量值。

不使用变量打印三次 "今天天气真好",如果需要变成打印 "今天天气不好" 需要修改三行代码
print("今天天气真好")
print("今天天气真好")



定义一个变量表示这个字符串。如果需要修改内容,只需要修改变量对应的值即可
weather = "今天天气真好"
print(weather)   # 变量名不需要加引号
print(weather)

  • 变量即是可以变化的量,可以随时进行修改。
  • 程序就是用来处理数据的,而变量就是用来存储数据的。

给变量赋值的原理
先在堆中申请内存(申请多大看被赋值的数据需要多大内存)
将数据保存区域中
让变量 和 保存数据的内存进行关联(让变量保存数据对应的内存地址)

id 函数 - 获取变量中关联的数据在内存中的地址


二、 运算符

一、算数运算符

a = 10 b = 20
加 + : 两个对象相加 a + b 输出结果30
减 - :得到负数或是一个数减去另一个数 a - b 输出结果 -10
乘 * :两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200
除 / : b / a 输出结果 2
取整除 // : 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0
取余 % : 返回除法的余数 b % a 输出结果 0
幂运算 ** : a**b 为10的20次方

二、赋值运算符

  • 基本赋值运算符
    把 = 号右边的结果 赋给 左边的变量,如 num = 1 + 2 ,结果num的值为3 。 num = b = 4 打印num 为4 。
  • 复合赋值运算符
    += 加法赋值运算符 b += a 等效于 b = b + a
    -= 减法赋值运算符 b -= a 等效于 b = b - a
    *= 乘法赋值运算符 b *= a 等效于 b = b * a
    /= 除法赋值运算符 b /= a 等效于 b = b / a
    //= 取整除赋值运算符 b //= a 等效于 b = b // a
    %= 取模赋值运算符 b %= a 等效于 b = b % a
    ** = 幂赋值运算符 b **= a 等效于 b = b ** a
  • 注意:赋值运算符是从右往左运算,将等号右边的值赋值给等号左边,所以,等号的左边一定不能是常量或者表达式。

三、比较运算符

以下假设变量a为10,变量b为20
== 等于 :- 比较对象是否相等 (a == b) 返回 False.
!= 不等于: - 比较两个对象是否不相等 (a != b) 返回 true.
大于> : - 返回x是否大于y (a > b) 返回 False。
< 小于 : - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。 (a < b) 返回 true。
大于等于>= : - 返回x是否大于等于y。 (a >= b) 返回 False。
<= 小于等于 : - 返回x是否小于等于y。 (a <= b) 返回 true。

  • 数字和字符串做==运算结果是false,做!=运算结果是True , 除了 == 和 != 以外的逻辑运算时,会直接报错

四、逻辑运算符

  • and : x and y 只要有一个运算数是False,结果就是False;
    只有所有的运算数都为True时,结果才是True
    做取值运算时,取第一个为False的值,如果所有的值都为True,取最后一个值。
True and True and True-->结果为True
1 and 0 and 2-->结果是0;1 and 2 and 3-->结果是3
  • or : x or y 只要有一个运算数是True,结果就是True;
    只有所有的运算数都为False时,结果才是False
    做取值运算时,取第一个为True的值,如果所有的值都为False,取最后一个值。
False or False or False-->结果为False
1 or 0 or 2-->结果是1;0 or None or () or '' or {} -->结果是{}
  • not not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。
not(a and b) 返回 False

五、位运算符(了解就可以了)

  • 按位运算符是把数字看作是二进制来进行计算的。

& 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0

| 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。
^按位异或运算符:当两对应的二进位相异时,结果为1

~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。

<< 左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。

右移>>动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数

a = 0011 1100  # 60的二进制
b = 0000 1101  # 13的二进制
-----------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a  = 1100 0011

运算符优先级

  • 当多种运算符做混合运算时,就会涉及到先运算哪个,后运算哪个问题。
    ** 指数 (最高优先级) ,过了就是* / % // 乘,除,取模和取整除,加 ,减 。直到not>and>or 。
    
    b = True or True and False    # 结果是不一样的 
    c = True or (True and False)
    
    
强烈建议使用小括号来手动的控制运算符的优先级!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值