第一天学python的笔记
print()函数
- 在控制台上面直接打印东西
- print()函数可以输出数字、字符串、表达式
- 可以将文件输出到显示器和文件当中
- 输出到文件中
fp = open('D:/text.txt', 'a+')//打开创建这个文件 print('helloworld', file=fp) fp.close
- 可以选择换行也可以不换行
- 不换行输出
print('hello', 'world', 'Python')
标识符和保留字
- 变量规则
- 字母数字下划线
- 不能数字开头
- 不能是保留字
- 严格区分大小写
数据类型
常见数据类型
- 整数类型 int
- 浮点数类型 float
- 布尔类型 bool->True False
- True是1,False是0.
- 布尔类型(bool)的数可以转换成整数(int)
- print(True+1) # 2
- print(False+1) # 1
- 字符串类型 str
- 字符串又被称为不可变字符序列
- 可以使用’单引号’,“双引号”,“”“三引号”""来定义
- 单引号和双引号定义的字符串必须在一行
- 三引号定义的字符串可以分布在连续的多行
type()函数可以输出变量类型
name='玛丽'
print('类型', type(name))
数据类型转换
- int()
- float()
- str()
input函数
- 接收来自用户的输入
- 输入值的类型是str
- 使用=对输入值进行存储
present = input('我是提示语,提示您输入')
运算符
- 算数运算符
- 标准算数运算符
- 加减乘除和整除(//)
- python中整除指的就是如果得到的结果有小数就将小数给去除掉
- 一正一负的整除都是向下取整
- 取余运算符
- 幂运算符(**)
- 标准算数运算符
- 赋值运算符
- 执行顺序是右->左
- 支持链式赋值 a=b=c=20
- 支持+=、-=、*=等
- 支持系列解包赋值a,b,c=2,3,4
- 比较运算符
- is,is not
- 对象的id的比较,比较标识是否相等
- 布尔运算符
- and并
- or或
- not取反
- in # 是否在里面
- not in
s = 'hello world'
print('w' in s) # True
print('k' in s) # False
- 位运算符
- 位与&
- 位或|
- 左移<<
- 右移>>
对象的布尔值
python一切皆对象,所有对象都有一个布尔值
- 获取对象的布尔值
- 使用内置函数bool
- 以下对象的布尔值为False
- False
- 数值0
- None
- 空字符串
- 空列表
- 空元组
- 空字典
- 空集合
- 其他对象的布尔值是True
分支结构
选择结构
- 单分支
if 条件表达式 :
条件执行体
- 双分支
if 条件表达式 :
条件执行体1
else:
条件执行体2
- 多分支
if 条件表达式1 :
条件执行体1
elif 条件表达式2 :
条件执行体2
elif 条件表达式N :
条件执行体N
[else:]
条件执行体N+1
- 嵌套多分支
if 条件表达式1 :
if 内层条件表达式 :
内层条件执行体1
else:
内层条件执行体2
else:
条件执行体
条件表达式
条件表达式是if…else的简写
语法结构:
- x if 判断条件 else y
运算规则: - 如果判断条件是True,表达质返回x,否则返回y
pass语句
pass语句什么都不做,只是一个占位符,用在语法上需要语句的地方
先搭建语法结构,还没想好代码怎么写的时候使用
- if语句的条件执行体
- for-in语句的循环体
- 定义函数时的函数体
内置函数range()
range()函数
- 用于生成一个整数序列
- 创建range对象的三种方式
- range(stop) # 创建一个[0,stop)之间的整数序列,步长为1
- range(start,stop) # 创建一个[start,stop)之间的整数序列,步长为1
- range(start,stop,step) # 创建一个[start,stop)之间的整数序列,步长为step
- 返回值是一个迭代器对象
- range类型的优点,不管range对象表示的整数序列有多长,所有range对象占用的内存空间都是相同的,因为仅仅需要存储start,stop,step,只有当用到range对象时,才会去计算序列中的相关元素。
- in与not in判断整数序列中是否存在(不存在)指定的整数
循环结构
while 条件表达式
条件执行体(循环体)
# while是判断N+1词,条件为True执行N次
for 自定义的变量 in 可迭代对象:
循环体
for item in 'Python'
print(item)
# 一个字母一行逐个输出
for i in range(10)
print(item)
# 0123456789 一行一个
for _ in range(10)
print('人生苦短,我用python')
# 如果循环体中用不到自定义变量,可以将自定义变量设置成_
流程控制语句
- break语句,用于结束循环结构,通常和分支结构if一起使用
- continue语句,用于结束当前循环,进入下一次循环与分支结构中的if一起使用
else语句
与else语句搭配使用的三种情况
if ...:
...
else:
...
# if条件不成立时执行else
while ...:
...
else:
...
for ...:
...
else:
...
# 两个循环结构都是没有碰到break时执行else
列表
列表的创建需要使用中括号[],元素之间使用英文逗号进行分割
- 例如:lst = [‘大圣’, ‘猴子’, 98]
列表的创建方式
- 使用中括号
- 调用内置函数list()
这个列表就相当于其他语言的数组,python中还有元组,和列表一样,只是不允许修改。
- 列表元素按顺序有序排序
- 索引映射唯一一个数据
- 列表可以重读存储数据
- 任意数据类型混合存储
- 根据需要动态分配和回收内存
列表的查询操作
index()
- 如果查询列表中有N个相同元素,只返回相同元素中的第一个元素的多音
- 如果查询的元素在列表中不存在,则会抛出ValueError
- 还可以在指定的start和stop之间进行查找
获取列表中的单个元素
- 正向索引从0到N-1
- 逆向索引从-N到-1
- 指定多音不存在,抛出IndexError
获取列表中的多个元素(切片操作)
- 语法格式
- 列表名[start:stop:step]
切片操作
- 结果是原列表片段的拷贝,一个新的列表对象
- 范围是[start,stop)
- step默认是1,简写是[start:stop]
- step是正数
- [:stop:step],切片的第一个元素默认是列表的第一个元素
- [start::step],切片的最后一个元素默认是列表的最后一个元素
- 从start开始往后计算切片
- step是负数
- [:stop:step],切片的第一个元素默认是列表的最后一个元素
- [start::step],切片的最后一个元素默认是列表的第一个元素
- 从start开始往前计算切片
id()可以查看对象的id
列表元素的查询与遍历
使用in和not in判断指定元素是否在列表中存在
- 元素 in 列表名
- 元素 not in 列表名
列表元素的遍历 - for 迭代变量 in 列表名 : \n 操作
列表元素的增加操作
- append()
- 在列表的末尾添加一个元素 添加元素前后列表的id不变
- extend()
- 在列表的末尾至少添加一个元素
- insert()
- 在列表的任意位置添加一个元素
- 切片
- 在列表的唯一位置至少添加一个元素
lst1 = [1, 2, 'hello']
lst2 = [3, 4]
lst1.append(lst2)
print(lst1) # [1, 2, 'hello', [3, 4]]
lst1.extend(lst2) # [1, 2, 'hello', [3, 4], 3, 4]
print(lst1)
lst1.insert(1, 900)
print(lst1) # [1, 900, 2, 'hello', [3, 4], 3, 4]
lst3 = ['a', 'b', 'c']
lst1[1:] = lst3
print(lst1) # [1, 'a', 'b', 'c']
列表元素的删除操作
- remove()
- 一次删除一个元素
- 重复元素只删除第一个
- 元素不存在抛出ValueError
- pop()
- 删除一个指定索引位置上的元素
- 指定索引不存在抛出IndexError
- 不指定索引,删除列表中最后一个元素
- 切片
- 一次至少删除一个元素
- clear()
- 清空列表
- del
- 删除列表