此处大纲





二、逻辑值

逻辑(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

逻辑运算

  1. and 和 or 是双目运算,由两个逻辑类型真值进行运算
  2. not 是单目运算,作用于一个逻辑类型真值
  3. 优秀级
    not 最高,and 次之, or 最低

各种类型对应的真值

  1. 整数、浮点数和复数类型
    0 是“假”,所有非0的数值都是“真”
  2. 字符串类型
    空串(“”)是“假”,所有非空串都是“真”
  3. 所有序列类型(包括字符串)
    空序列是“假”,所有非空的序列都是“真”
  4. 空值None
    表示“无意义”或“不知道”,也是“假”

三、字符串

  1. 字符串就是把一个个文字的字符“串起来”的数据
  • 文字字符包含有拉丁字母、数字、标点符号、特殊符号,以及各种语言文字字符

文本的表示

表示字符串数值

  • 用双引号或者单引号都可以表示字符串,但必须成对
"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