Day 2
本节主要讲解的是Python的赋值语句,最基本的变量类型与运算符。
链式赋值用于同一个对象赋值给多个变量。
x=y=123 相当于:x=123; y=123
系列数据赋值给对应相同个数的变量(个数必须保持一致)
> > > >>> >>> a,b,c=4,5,6 相当于:a=4;b=5;c=6
与JAVA不同,Python 不支持常量,即没有语法规则限制改变一个常量的值。我们只能约定常量的命名规则,以及在程序的逻辑上不对常量的值作出修改。
每个对象都有类型,python 中最基本的内置数据类型:
Python 支持整数(如:50,520)和浮点数(如:3.14,10.0, 1.23e2),我们可以对数字做如下运算:
除此之外,我们还可以通过函数对数字进行处理:
>>> abs(-1)
1
>>> divmod(13,3)
(4, 1)
其中abs()函数目的为返回绝对值,divmod()返回的是一个元组,同时得到商和余数。
下面罗列一些较为基本的类型转换和四舍五入:
>>> 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
>>>
逻辑运算符通常用于布尔型(逻辑)值。这种情况下,它们返回一个布尔值。
同一运算符用于比较两个对象的存储单元,实际比较的是对象的地址。
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
我们在前面讲解了“+”、“-”、“*”、“/”、“//”、“%”等运算符,这里我们继续
讲解一些其他运算符,并进行学习和测试。
复合赋值可以让程序更加精炼,提高效率。
注:与 C 和 JAVA 不一样,Python 不支持自增(++)和自减(–),如想实现可用(+=)来实现。
>>> a=6
>>> a+=a
>>> a
12
实际使用中,记住如下简单的规则即可,复杂的表达式一定要使用小括号组织。
Python3 直接支持 Unicode,可以表示世界上任何书面语言的字符。Python3 的字符
默认就是 16 位 Unicode 编码,ASCII 码是 Unicode 编码的子集。
使用内置函数 ord()可以把字符转换成对应的 Unicode 码;
我们可以通过单引号或双引号创建字符串。例如: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的注释来用,虽然也可以,但有时注释格式不正确会出错。这点博主 放在以后再说。
我们可以使用“+特殊字符”,实现某些难以用字符表示的效果。比如:换行等。常见的
转义字符有这些:
>>> myname = input("请输入名字:")
请输入名字:谭松韵
>>> myname
谭松韵
切片 slice 操作可以让我们快速的提取子字符串。标准格式为:
[起始偏移量 start:终止偏移量 end:步长 step]
典型操作(三个量为正数的情况)如下:
其他操作(三个量为负数)的情况:
切片操作时,起始偏移量和终止偏移量不在[0,字符串长度-1]这个范围,也不会报错。起始
偏移量小于 0 则会当做 0,终止偏移量大于“长度-1”会被当成-1。例如:
>>> "abcdefg"[3:50]
'defg