带着小伙伴从零一起学python (三)运算符,字符串索引,切片

布尔运算:
运算符:
  not,  and,   or

布尔 非 操作 not
语法:

  not x 
作用:

  将 x进行布尔取反,如bool(x) 为True,则返回False, 否则为True

示例:
    money = 103
    if not money >= 100
       pay = money
    else:
       pay = money - 20

    print(pay)

布尔 与操作 and
语法:

  x and y

作用:
  当x的布尔值为True时,返回y,否则返回x

例:
    >>> True and True
    True
    >>> True and False
    False
    >>> False and True
    False
    >>> False and False
    False

布尔 或 操作 or
语法:

   x or y
作用:
   当x为True时,返回x,否则返回y
例:
  >>> True or True
       True
    >>> False or True
       True
    >>> True or False
       True
    >>> False or False
        False

正负号运算符:
  +(正号)  -(负号)

一元运算符
语法:

  +  表达式
  -  表达式
示例:
  a = 5
  b = -a  # b = -5
  c = +a  # c = 5
  c = (2-3j)
  c2 = -c  # (-2+3j)

位运算符
    bit(位)
    byte(字节,含有8个位)  2**8

运算符:
  &   位与
  |   位或
  ^   位异或
  <<  左移
  >>  右移
  ~   按位求反

位与:
  语法:
    表达式x &  表达式y
作用:
  按位操作,两个对应的位为1,则结果为1,否则结果为0

例:

   10 & 12  # 返回8

bin(x) 函数, 将 x转换为二进制字符串
   (bin 为 binary 的前三个字符)

位或
语法:

  表达式x | 表达式y
作用:

  按位操作,两个对应的位,只要有一个为1,则结果为1,否则结果为0

10 | 12 # 结果为14

位异或  ^
语法:

  表达式x ^ 表达式y
作用:
  按位操作,两个对应的位不同,结果为1,否则结果为0 

左移运算 <<
语法:
  表达式x << 整数表达式y
作用:

  将 x的二进制值按位向左移动y位,低位补0

示例:
  0b1010 << 1  # 20

  0b1010 << 2  # 40

右移运算: >>
语法:
  表达式x >> 整数表达式y
作用:

  将x的二进制值, 按位向右移动y位,低位溢出丢弃

示例:
  0b1010 >> 1  # 5 0b101
  0b1010 >> 2  # 2 0b10
  0b1010 >> 3  # 1 0b1
  0b1010 >> 4  # 0 0b0

接位求反  ~  
语法:
  ~ 表达式
示例:
  ~ 0  = -1 (补码形式表示)

  ~-1  =  0

字符串 str
作用:

  用来记录文本信息

字符串表示方法:
  在非注释中凡是用引号括起来的部分都是字符串
  '    单引号
  "    双引号
  '''  三单引号
  """  三双引号

单引号和双引号区别:
  单引号内可以包含双引号(双引号不算结束符)
  反之相同

三引号的字符串:
  三引号字符串的换行会自动转换为换行符 \n
  三引号内可以包含单引号和双引号

用转义序列代表特殊字符
 字符串中 \ 后跟一些字符代表特殊含义

反斜杠字符表
  \'  代表单个单引号
  \"  代表单个双引号
  \n  代表换行
  \\  一个反斜杠
  \a  响铃
  \r  返回光标至行首
  \t  水平制表符
  \v  垂直制表符
  \f  换页
  \b  倒退
  \0  空字符,字符值为零
  \0oo   八进制表示的字符
  \xXX   十六进制示的字符
  \uXXXX    Unicode 16 的十六进制的字符
  \UXXXXXXXX   Unicode32的十六进制字符

ASCII编码:
  $ man ascii<回车>

len(x) 函数,求字符个数:
  len(s)

raw 字符串(原始字符串)
格式:
  r"字符串内容"

作用:
  让转义字符 \ 无效

字符串的运算:
   +  +=  *  +=
+ 加号运算用于拼接字符串

+= 用原字符串与右侧字符串拼接后生成新的字符串

* 运算符生成重复的字符串

*= 生成重复的字符串,同时改变原变量的绑定关系

字符串的比较运算
  <  <=  >  >=  ==  !=
例:
 "ABC" == '''ABC'''  # 相等 
 "ABC" > "ABB"    # True
 "ABC" > "123"   # True
 'ADC' < 'ABD'   # False
 "AB"  < "AB0"   # True
 "ABCD" == "DCBA"  # False
 'abc' == 'ABC'   # False

in  /  not in 运算符:
作用:
  in 用于序列,字典,集合中,用于判断某个值是否存在于对象(通常是容器类对象)中
  not in 与 in的返回值相反
语法格式:

  值 in 字符串

Python 运算符优先级:
(自上而下,由高到低)
**           指数
~, +, -      按位反转,一元正号,一元负号
*, /, //, %  乘....
+, -         加法减法
>>, <<       右移,左移
&            位与
^            位异或
|            位或
< <= > >= == !=, is, is not, in, not in 比较等..
not          布尔非(取非)
and
or
if - else    表件表达式

索引 index
  python字符串是不可以改变的序列
语法:
  字符串[整数值]
说明:
  python 序列都可以用索引(index)来访问序列中的内容
  序列的正向索引是从0开始的,第二个索引为1, 最后一个为len(s)-1
  序列的反向索引是从-1开始的,-1代表最后一个,-2代表倒数第二个,以此类推,第一个是-len(s)
例:
  s = "ABCDE"
  print(s[2])  # C
  print(s[-2])  # D
  print(s[-5])  # A
  print(s[0])   # A
  print(s)      # ABCDE
  print(s[8])

切片 slice

  从字符串序列中取出相应元素,重新组成一个字符串序列

语法:
  字符串[(开始索引):(结束索引)(:(步长))]

注:()括起的部分代表可省略

说明:
  1. 开始索引是切片切下的位置,0代表第一个元素,1代表第二个,.... -1 代表最后一个
  2. 结束索引是切片的终止点(但不包含终止点)
  3. 步长是切片每次获取完当前元素后移动的方向和偏移量
    3.1 没有步长,相当于取值完成后向右移动一个位置(默认为1)
    3.2 当步长为正数时, 取正向切片
     步长默认为1,开始索引默认为0, 结束索引默认为len(s)
     步长代表下一次的索引取值的增长值
    3.3 当步长为负整数时,取反向切片

      反向切片时。默认的起始位置为最后一个元素,终止位置是第一个元素的前一个位置

示例:
  s = "ABCDE"
  a = s[:]   # a --> "ABCDE"
  a = s[2:]  # a --> "CDE"
  a = s[:2]  # "AB"
  a = s[2:4] # "CD"
  a = s[1:1] # '' 空
  a = s[4:2] # '' 空
  a = s[0:5:] # 'ABCDE'
  a = s[0:5:1] # 'ABCDE'
  a = s[0:5:2] # 'ACE'
  a = s[::-1]  # 'EDCBA'
  a = s[-1:-100:-2]  # 'ECA'


















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值