Python知识回顾(2)

Day 2
本节主要讲解的是Python的赋值语句,最基本的变量类型与运算符。

文章目录

    • 1.几个 Python的赋值语句
      • 1.1 链式赋值
      • 1.2 系列解包赋值
      • 1.3 常量
    • 2. 最基本内置数据类型和运算符
      • 2.1 数字和基本运算符
      • 2.2 类型转换和四舍五入
      • 2.3 逻辑运算符与同一运算符的联系与区别
      • 2.4 基本运算符
      • 2.5 复合赋值运算符
      • 2.6 运算符优先级问题
    • 3. 字符串
      • 3.1 引号创建字符串
      • 3.2 转义字符
      • 3.3 从控制台读取字符串
      • 3.4 字符串切片

1.几个 Python的赋值语句

1.1 链式赋值

链式赋值用于同一个对象赋值给多个变量。
x=y=123 相当于:x=123; y=123

1.2 系列解包赋值

系列数据赋值给对应相同个数的变量(个数必须保持一致)
> > > >>> >>> a,b,c=4,5,6 相当于:a=4;b=5;c=6

1.3 常量

与JAVA不同,Python 不支持常量,即没有语法规则限制改变一个常量的值。我们只能约定常量的命名规则,以及在程序的逻辑上不对常量的值作出修改。

2. 最基本内置数据类型和运算符

每个对象都有类型,python 中最基本的内置数据类型:

  1. 整型
    整数,2345,10,50
  2. 浮点型
    小数,3.14 或者科学计数法 314e-2
  3. 布尔型
    表示真假,仅包含:True、False
  4. 字符串型
    由字符组成的序列。 “abc”,”sxqt”,谭松韵”,”松果gogogo”

2.1 数字和基本运算符

Python 支持整数(如:50,520)和浮点数(如:3.14,10.0, 1.23e2),我们可以对数字做如下运算:
Python知识回顾(2)_第1张图片
除此之外,我们还可以通过函数对数字进行处理:

>>> abs(-1)
1
>>> divmod(13,3)
(4, 1)

其中abs()函数目的为返回绝对值,divmod()返回的是一个元组,同时得到商和余数。

2.2 类型转换和四舍五入

下面罗列一些较为基本的类型转换和四舍五入:

  1. 浮点数直接舍去小数部分。如:int(9.9)结果是:9。
    注:字符串符合整数格式(浮点数格式不行)则直接转成对应整数,否则报错。
  2. 布尔值 True 转为 1,False 转为 0。 如:int(True)结果是 1
  3. 类似于 int(),我们也可以使用 float()将其他类型转化成浮点数。
  4. 整数和浮点数混合运算时,表达式结果自动转型成浮点数。比如:2+8.0 的结果是 10.0
  5. round(value)可以返回四舍五入的值
    注:但不会改变原有值,而是产生新的值
>>> abs(-1)
1
>>> divmod(13,3)
(4, 1)
>>> int(21.22567)
21
>>> int(True)
1
>>> float(5)
5.0
>>> 3+5.5
8.5
>>> round(3.1415926)
3
>>> 

2.3 逻辑运算符与同一运算符的联系与区别

逻辑运算符通常用于布尔型(逻辑)值。这种情况下,它们返回一个布尔值。
Python知识回顾(2)_第2张图片
同一运算符用于比较两个对象的存储单元,实际比较的是对象的地址。
Python知识回顾(2)_第3张图片

is 与 == 区别:
is 用于判断两个变量引用对象是否为同一个,既比较对象的地址。
== 用于判断引用变量引用对象的值是否相等,默认调用对象的 eq()方法。

>>> a = 1000
>>> b = 1000
>>> a == b
True
>>> a is b
False
>>> id(a)
46764560
>>> id(b)
46765216
>>> c = 10
>>> d = 10
>>> c is d
True
>>> id(c)
1388831648
>>> id(d)
1388831648

2.4 基本运算符

我们在前面讲解了“+”、“-”、“*”、“/”、“//”、“%”等运算符,这里我们继续
讲解一些其他运算符,并进行学习和测试。
Python知识回顾(2)_第4张图片

2.5 复合赋值运算符

复合赋值可以让程序更加精炼,提高效率。
Python知识回顾(2)_第5张图片
注:与 C 和 JAVA 不一样,Python 不支持自增(++)和自减(–),如想实现可用(+=)来实现。

>>> a=6
>>> a+=a
>>> a
12

2.6 运算符优先级问题

实际使用中,记住如下简单的规则即可,复杂的表达式一定要使用小括号组织。

  1. 乘除优先加减
  2. 位运算和算术运算>比较运算符>赋值运算符>逻辑运算符
    具体如下图所示:
    Python知识回顾(2)_第6张图片

3. 字符串

Python3 直接支持 Unicode,可以表示世界上任何书面语言的字符。Python3 的字符
默认就是 16 位 Unicode 编码,ASCII 码是 Unicode 编码的子集。
使用内置函数 ord()可以把字符转换成对应的 Unicode 码;

3.1 引号创建字符串

我们可以通过单引号或双引号创建字符串。例如:a=’abc’; b=”sxt”
使用两种引号的好处是可以创建本身就包含引号的字符串,而不用使用转义字符。例如:

>>> a = "I'm a teacher!" 
>>>> print(a)
I'm a teacher!
>>> b = 'my_name is "TOM"'
>>> print(b)
my_name is "TOM"

连续三个单引号或三个双引号,可以帮助我们创建多行字符串。例如:

>>> resume = ''' name="kaikai" company="sxt" age=18 lover="Tom"''' 
>>> print(resume)
name="kaikai" company="sxt" age=18
lover="Tom"

注意:会有的教程将三引号作为pycharm的注释来用,虽然也可以,但有时注释格式不正确会出错。这点博主 放在以后再说。

3.2 转义字符

我们可以使用“+特殊字符”,实现某些难以用字符表示的效果。比如:换行等。常见的
转义字符有这些:
Python知识回顾(2)_第7张图片

3.3 从控制台读取字符串

>>> myname = input("请输入名字:")
请输入名字:谭松韵
>>> myname
谭松韵

3.4 字符串切片

切片 slice 操作可以让我们快速的提取子字符串。标准格式为:
[起始偏移量 start:终止偏移量 end:步长 step]
典型操作(三个量为正数的情况)如下:
Python知识回顾(2)_第8张图片
其他操作(三个量为负数)的情况:
Python知识回顾(2)_第9张图片
切片操作时,起始偏移量和终止偏移量不在[0,字符串长度-1]这个范围,也不会报错。起始
偏移量小于 0 则会当做 0,终止偏移量大于“长度-1”会被当成-1。例如:

>>> "abcdefg"[3:50]
'defg

你可能感兴趣的:(字符串,运算符,数据类型,python)