此处大纲
二、逻辑值
逻辑(bool)类型
逻辑值仅包括真(Ture)/假(False)两个
作用:用来配合 if / while 等语句做条件判断
“与” and
1、“并且”
2、and 连接的两个真值需要同时为真,计算结果才为真,计算结果才为真
与(and) | True | False |
True | True | False |
False | False | False |
“或” or
1、“或者”
2、or 连接的两个真值只要有一个为真,计算结果就为真
或(or) | True | False |
True | True | True |
False | True | False |
“非” not
1、“否定”
2、not 连接的一个真值,非真为假,非假为真
非(not) | True | False |
False | True |
逻辑运算
- and 和 or 是双目运算,由两个逻辑类型真值进行运算
- not 是单目运算,作用于一个逻辑类型真值
- 优秀级
not 最高,and 次之, or 最低
各种类型对应的真值
- 整数、浮点数和复数类型
0 是“假”,所有非0的数值都是“真” - 字符串类型
空串(“”)是“假”,所有非空串都是“真” - 所有序列类型(包括字符串)
空序列是“假”,所有非空的序列都是“真” - 空值None
表示“无意义”或“不知道”,也是“假”
三、字符串
- 字符串就是把一个个文字的字符“串起来”的数据
- 文字字符包含有拉丁字母、数字、标点符号、特殊符号,以及各种语言文字字符
文本的表示
表示字符串数值
- 用双引号或者单引号都可以表示字符串,但必须成对
"a"
Out[1]: 'a'
'abc'
Out[2]: 'abc'
- 多行字符串用三个连续单引号表述
'''abc def
ghi jk
'''
Out[3]: 'abc def\nghi jk\n'
- 特殊字符用转义符号“\”表示
- 字符编号
第一个字符编号是0,第二个字符编号是1,……
最后一个字符编号是-1,倒数第二个字符编号是-2,……
用这种整数编号可以从字符中抽取任何一个字符
字符串与名字的区别
1、字符串是数据本身
2、 名字是数据的标签
3、 名字和字符串是“名”和“值”之间的关系
- 一个字符串数值可以关联多个名字
一个名字在同一时刻只能关联一个字符串数值 - 字符串数值只能是字符串类型
名字则可以关联任意类型的数值
height=8848
mt=everest="珠穆朗玛峰"
height
Out[7]: 8848
mt
Out[8]: '珠穆朗玛峰'
everest
Out[9]: '珠穆朗玛峰'
type(height) #查看数据类型
Out[10]: int
type(everest)
Out[11]: str
常见的字符串操作
1、获取字符串的长度
len函数
2、切片(slice)操作
s[start : end : step]
s='Hello World!'
s[3:8:2]
Out[15]: 'l o'
3、“加法”和“乘法”
+:将字符串进行连接,得到新的字符串
*:将字符串重复若干次,生成新的字符串
4、判断字符串内容是否相同(==)
a='hello'
a=='hello'
Out[17]: True
5、判断字符串中是否包含某个字符串(in)
a='hello'
'h'in a
Out[18]: True
'H'in a
Out[19]: False
5、删除空格
- str.strip: 去掉字符串前后的所有空格,内部的空格不受影响
- str.lstrip: 去掉字符串前部(左部)的所有空格
- str.rstrip: 去掉字符串后部(左部)的所有空格
6、判断字母数字 - str.isalpha:判断字符串是否全部由 字母 构成
- str.isdigit: 判断字符串是否全部由 数字 构成
- str.isalnum: 判断字符串是否 仅包含字母和数字,而不含 特殊字符
字符串的高级操作
split :分割
join :合并
upper/lower/swapcase: 大小写相关
ljust/center/rjust:排版左中右对齐
replace :替换子串
"You are sunshine.".split(" ")
Out[21]: ['You', 'are', 'sunshine.']
'-'.join(["One","for","Two"])
Out[22]: 'One-for-Two'
'abc'.upper()
Out[23]: 'ABC'
'aBC'.lower()
Out[24]: 'abc'
'Abc'.swapcase()
Out[25]: 'aBC'
'Hello World!'.center(20)
Out[26]: ' Hello World! '
'Tom smilled,Tom cried,Tom shouted'.replace('Tom','Jane')
Out[27]: 'Jane smilled,Jane cried,Jane shouted'
字符串是一种序列
1、序列(sequence)
能够按照整数顺序列的数据
2、序列的内部结构
- 可以通过从0开始的连续整数来索引单个对象;
- 可以执行切片,获取序列的一部分;
- 可以通过len函数来获取序列中包含多少元素;
- 可以用加法“+”来连接为更长的序列;
- 可以用乘法“*”来重复多次,成为更长的序列;
- 可以用“in”来判断某个元素是否在序列中存在。
四、变量和引用
给数据命名
1、命名语法
<名字>=<数据>
2、命名规则
- 字母和数字组合而成,下划线“_”算字母,字母区分大小写
- 不带特殊字符(如空格。标点、运算符等)
- 名字的第一个字符必须是字母,而不能是数字
<注:在python语言的名字规则中,汉字算是字母>
名字与变量
名字(name)
- 名字像一个标签,通过赋值来“贴”在某个数据数值上
- 名字和数值的关联,称为引用
- 关联数值后的名字,就拥有了数据的值(value)和类型(type)
- 一个数值可以和多个名字关联
变量(variable) - 与数值关联的名字也称作变量,表示名字的值和类型可以随时变化
- 变量可以随时指向任何一个数据对象,比如Ture,1.02,或者“Hello”
- 变量的类型随着指向数据对象类型改变而改变
赋值(assignment) - 名字与数值关联的过程,称为给变量赋值
- “==”(相等关系)是对数值的相等性进行判断
- “=”(赋值号)则是计算等号右边式子的值,赋值给等号左边的变量
赋值语句 - 通过赋值号将变量和表达式左右相连的语句
- 赋值语句the_sum=0,实际上是创建了名为the_sum的变量,然后指向数据对象“0”
灵活多变的赋值语句
最基本的赋值语句形式
<名字>=<数据>
合并赋值
a=b=c=1
按顺序依次赋值
a,b,c=7,8,9
简单赋值语句
price += 1
price *= 1.5
price /= 3+4
五、练习:数值之间的计算
• 数值基本运算:33和7
+,-,*,/,//,%,**
hex(),oct(),bin()• 类型有转换
1,0,‘abc’,None,1.2,False,str(),bool(),int(),float(),is None,==,!=• 字符串基本操作
+,*,len(),[],in,ord(),chr()
含中文的字符串• 字符串高级操作
s=‘abcdefg12345’
切片:获得defg12,获得fg12345,获得54321,获得aceg2t=‘Mike and Tom’
split拆分
upper/lower/swapcase 修改大小写
ljust/center/rjust 排版30位宽度左中右对齐
replace 将Mike 替换为Jerry