3 变量和字符串
变量名可以包括字母、数字、下划线,但变量名不能以数字开头。
字母可以是大写或小写,但大小写是不同的。
等号(=)是赋值的意思,左边是名字,右边是值,不可写反
你在创建一个字符串,就要在字符两边加上引号,可以是单引号或者双引号
字符串与字符串相加 —— 字符串的“拼接”
的转义符号(\)对字符串中的引号进行转义:
>>>‘Let\’s go!’
但如果对于一个字符串中有很多个反斜杠:
>>>str = ‘C:\Program Files\Intel\WiFi\Help’
原始字符串的使用非常简单,只需要在字符串前边加一个英文字母r即可:
>>>str = r‘C:\now’
转义字符\
三重引号字符串转义字符
‘’‘ ‘’‘
4
random模块
这个random模块里边有一个函数叫做:randint(),Ta会返回一个随机的整数
while 后边的条件永远为真(True),在 Python 看来,只有以下内容会被看作假(注意冒号括号里边啥都没有,连空格都不要有!):False None 0 “” ‘’ () [] {}
其他一切都被解释为真
Python3 中,一行可以书写多个语句
语句之间用分号;
隔开即可:
>>> print('I like it');print('very much!')
Python3 中,一个语句可以分成多行书写
一行过长的语句可以使用反斜杠或者括号分解成几行:
>>> 1 > 2 and \
... 2 < 3
False
>>> ( 1 > 2 and \
... 2 < 3 )
False
短路逻辑(short-circuit logic)
逻辑操作符有个有趣的特性:在不需要求值的时候不进行操作。这么说可能比较“高深”,举个例子,表达式 x and y,需要 x 和 y 两个变量同时为真(True)的时候,结果才为真。因此,如果当 x 变量得知是假(False)的时候,表达式就会立刻返回 False,而不用去管 y 变量的值。
这种行为被称为短路逻辑(short-circuit logic)或者惰性求值(lazy evaluation),这种行为同样也应用与 or 操作符,这个后边的课程小甲鱼会讲到,不急。
实际上,Python 的做法是如果 x 为假,表达式会返回 x 的值(0),否则它就会返回 y 的值(例子参考楼上那题)。
5 Python的数据类型
Python数值类型
整型 整数int
浮点型 浮点数
e记法 1.2e4=12000
布尔类型 true = 1 false = 0
类型转换
- 将字符串、浮点数转换为整型 int() 括号内只能是数字,如果是文字字母等会报错
>>> a = '15' #表示数字的字符串转化为整型
>>> b = int(a)
>>> b
15
>>> c = 2.88 #浮点数转化为整型,是直接把小数点后截断,不是四舍五入
>>> d = int(c)
>>> d
2
- 将字符串、整数转换为浮点数 float()
>>> a = '123' #字符串转换为浮点数
>>> b = float(a)
>>> b
123.0
>>> a = 123 #整数转换为浮点数
>>> b = float(a)
>>> b
123.0
- 转换为字符串 str()
>>> a = 5.21
>>> b = str(a)
>>> b
'5.21'
>>> a = 5.20
>>> b = str(a)
>>> b
'5.2'
>>> c = str(6e5)
>>> c
'600000.0'
>>> d = str(7e20)
>>> d
'7e+20'
>>> e = str(8e-10)
>>> e
'8e-10'
>>> str = 'abc' #str 最好不要将其赋值,后续用到会报错
>>> str
'abc'
>>> f = str(1.2e15)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object is not callable
获得关于类型的信息
type() 函数
>>> a = '123'
>>> type(a)
<class 'str'>
>>> type(3.4)
<class 'float'>
>>> type(2e10)
<class 'float'>
>>> type(True)
<class 'bool'>
>>> type(False)
<class 'bool'>
isinstance()函数:看类型是否匹配
>>> a = 'abc'
>>> isinstance(a, str)
True
>>> isinstance(a, int)
False
>>> isinstance(123, int)
True
>>> isinstance(123.45, float)
True
>>> isinstance(123.45, bool)
False
小数取整会采用比较暴力的截断方式,即向下取整。(注:5.5 向上取整为 6,向下取整为 5)
但那是对于正数来说……对于负数则刚好相反 —— 是向上取整
Python3 可以给变量命名中文名,Pyhton3 源码文件默认使用utf-8编码
>>> 小樱 = '你好'
>>> print(小樱)
你好
input() 的返回值始终是字符串,所以 type(temp) 永远是 <class ‘str’>
s 为字符串
s.isalnum() 所有字符都是数字或者字母,为真返回 True,否则返回 False。
s.isalpha() 所有字符都是字母,为真返回 True,否则返回 False。
s.isdigit() 所有字符都是数字,为真返回 True,否则返回 False。
s.islower() 所有字符都是小写,为真返回 True,否则返回 False。
s.isupper() 所有字符都是大写,为真返回 True,否则返回 False。
s.istitle() 所有单词都是首字母大写,为真返回 True,否则返回 False。
s.isspace() 所有字符都是空白字符,为真返回 True,否则返回 False。
例如:
>>> s = 'I LOVE IT'
>>> s.isupper()
>>> True
006 Python常用操作符
算术操作符
加 ➕
>>> a = 5
>>> a = a + 3
>>> a
8
>>> a += 3
>>> a
8
减 ➖
>>> b = 3
>>> b -= 1
>>> b
2
乘 * 除 ➗
>>> a = b = c = d = 10
>>> a += 1
>>> b -= 3
>>> c *= 10
>>> d /= 8
>>> a
11
>>> b
7
>>> c
100
>>> d
1.25
地板除法float //
整数除以整数,取比3小的最大整数
python3 精确除法
>>> 10 // 8
1
>>> 3.0 // 2
1.0
取余数 %
>>> 5 % 2
1
>>> 11 % 2
1
幂运算 **
>>> 3 ** 2
9
>>> 3 ** 5
243
优先级问题
>>> -3 * 2 + 5 / -2 - 4
-12.5
>>>( (-3 )* 2)) + (5 / (-2)) - 4 #太繁琐了不用加括号
-12.5
比较操作符 优先级高于 逻辑操作符
>>> 3 < 4 and 4 < 5
True
>>> (3 < 4) and (4 < 5) # 先比较再逻辑,加括号更规范
True
一元操作符/单目操作符 :-负号
and 二元操作符/双目操作符
幂操作符比左侧的一元操作符优先级高,比右侧的一元操作符优先级低
>>> -3 ** 2 #幂操作符比左侧的一元操作符优先级高,比右侧的一元操作符优先级低
-9
>>> -(3 ** 2)
-9
>>> 3 ** -2 #幂操作符,比右侧的一元操作符优先级低
0.1111111111111111
>>> 3 ** (-2)
0.1111111111111111
比较操作符
< <= > >= == !=
逻辑操作符
and not or
and
左右同时为True,结果为True
左右任意为False,结果为False
or
左边或者右边为True,结果为True
两边同时为False,结果为False
not 一元操作符,取相反的布尔类型值
>>> not True
False
>>> not False
True
>>> not 0
True
>>> not 4
False
>>> 3 < 4 < 5
True
>>> (3 < 4) and (4 < 5) # 先比较再逻辑,加括号更规范
True