python笔记

python

转义字符与原字符

转义字符

就是反斜杠+想要实现的转义功能首字母

  • 当字符串中包含反斜杠、单引号和双引号等有特殊用途的字符时,必须使用反斜杠对这些字符进行转义(转换一个含义)

    反斜杠:\\
    单引号:\'
    双引号:\"
    
  • 当字符串中包含换行、回车、水平制表符或退格等无法直接表示的特殊字符时,也可以使用转义字符

    换行:\n
    回车:\r
    水平制表符:\t   --一个制表符占4个字符
    退格:\b
    

原字符

就是不希望字符串里的转义字符起作用,在字符串前写上r或者R

标识符和保留字

保留字

有一些单词被赋予了特定的意义,给对象命名时不能使用

import keyword;
print(keyword.kwlist);   --查看保留字

标识符

变量、函数、类、模块和其他对象的起的名字就叫标识符

规则:

  • 字母、数字、下划线
  • 不能以数字开头
  • 不能是保留字
  • 严格区分大小写

变量

变量时内存中一个带标签的盒子

  • 变量由三部分组成:
  1. 表示:表示对象所存储的内存地址,使用内置函数id(obj)来获取
  2. 类型:是对象的数据类型,使用内置函数type(obj)获取
  3. 值:对象所存储的具体数据,使用print(obj)可以将值输出
  • 当多次赋值后,变量名会指向新的空间

标准数据类型

Number(数字)

整数类型int

可以表示正数、负数和零

整数的不同进制表示方式:

  • 十进制》》默认
  • 二进制》》以0b开头
  • 八进制》》以0o开头
  • 十六进制》》以0x开头
浮点数类型float

由整数部分和小数部分组成

浮点数存储不精确型:

  • 使用浮点数进行计算时,可能会出现小数位不确定的情况

  • 解决方法:

    导入模块decimal

    from decimal import Decimal
    print(Decimal('1.1')+Decimal('2.2'));
    
布尔类型bool

用来表示真或假的值

  • 布尔值可以转化为整数:true–》1,false–》0
print(True+1)  #2
print(False+1)  #1

String(字符串)

字符串类型str

字符串又被称为不可变的字符序列

可以用单引号、双引号、三引号来定义

单引号、双引号定义的字符串必须在一行

三引号定义的字符串可以分布在连续的多行

List(列表)

变量可以存储一个元素,而列表是一个大容器,可以存储n个元素,程序可以方便的对这些数据进行整体操作

列表相当于其它语言的数组

列表的特点:

  1. 列表元素按照顺序有序排序
  2. 索引映射唯一个数据,索引从左0开始递增,从右-1开始递减
  3. 列表可以存储重复数据
  4. 任意数据类型混存
  5. 根据需要动态分配和回收内存
列表的创建与删除
创建

列表需要使用中括号[],元素之间使用英文逗号隔开

列表的创建方式:

  • 使用中括号

    lst1=['hello','world']
    
  • 调用内置函数list()

    lst2=list(['hello','world'])
    
列表的查询操作
获取列表中指定元素的索引

index()方法

  • 查列表中存在N个相同元素,只返回相同元素中的第一个元素的索引

    print(lst1.index('hello'))  #只返回第一个元素索引
    
  • 如果查询的元素在列表中不存在,则会抛出ValueError

  • 还可以在指定的start和stop之间进行查找,查找范围包括start,不包括stop

    print(lst1.index('hello',1,4))
    

index()

获取列表中的单个元素
  1. 正向索引从0到N-1
  2. 逆向索引从-N到-1
  3. 指定索引不存在,IndexError
获取列表中的多个元素

在这里插入图片描述

列表元素的增、删、改操作
列表元素的排序
列表推导式

Tuple(元组)

Dictionary(字典)

数据类型转换

将不同的数据类型的数据拼接在一起,就需要数据类型转换

函数名作用注意事项
str()将其他数据类型转换成字符串也可以用引号转换
int()将其他数据类型转换成整数文字类和小数类字符串,无法转换成整数;浮点数转换成整数,抹零取整
float()将其他数据类型转换成浮点数文字类无法转成整数;整数转成浮点数,末尾为.0

注释

在这里插入图片描述

运算符

算数运算符

  • 标准算数运算符

    • 加、减、乘、除、整除(//)
  • 取余运算符

    • %
  • 幂运算符

    • **

      print(2**2);  --表示2的2次方
      

在这里插入图片描述

赋值运算符

执行顺序:右–>左

  • 支持链式赋值
a=b=c=20
  • 支持参数赋值
+=、-=、*=、/=、//=、%=
  • 支持系列解包赋值
a,b,c=20,30,40
交换两个变量的值不用中间变量
a,b=b,a;

比较运算符

对变量或表达式的结果进行大小、真假等比较

  • >,<,>=,<=,!=
    
  • ==    #对象value的比较
    
  • is,is not    #对象的id的比较
    

布尔运算符

  • and

  • or

  • not

  • in

    在…中

    a='helloworld'
    print('w' in a);   #True
    
  • not in

在这里插入图片描述

位运算符

将数据转成二进制进行计算

  • 位与&

    对应数位都是1,结果数位才是1,否则是0

  • 位或|

    对应数位都是0,结果数位才是0,否则位1

  • 左移位运算符<<

    高位溢出舍弃,低位补0

  • 右移位运算符>>

    低位溢出舍弃,高位补0

运算符的优先级

在这里插入图片描述

程序的组织结构

对象的布尔值

python一切皆对象,所有对象都有一个布尔值

获取对象的布尔值:使用内置函数bool();

一下对象的布尔值为false:

  • False
  • 数值0
  • None
  • 空字符串
  • 空列表
  • 空元组
  • 空字典
  • 空集合

顺序结构

程序从上到西安顺序地执行代码

选择结构

程序根据选择判断条件的布尔值选择性地执行部分代码

单分支结构

语法格式:

if 条件表达式:
	条件执行体
双分支结构

语法格式:

if 条件表达式:
	条件执行体1
else:
	条件执行体2
多分支结构

语法格式:

if 条件表达式:
	条件执行体1
elif 条件表达式2:
	条件执行体2
elif 条件表达式n:
	条件执行体n
[else:]
	条件执行体n+1
嵌套if

语法格式:

if 条件表达式1:
	if 内层条件表达式:
		内层条件执行体1
	else:
		内层条件执行体2
else:
	条件执行体
条件表达式

条件表达式是if…else的简写

语法结构:

x if 判断条件 else y

运算规则:如果判断条件的布尔值为True,条件表达式的返回值为x,否则条件表达式的返回值为y

pass语句

语句什么都不做,只是一个占位符,用在语法上需要语句的地方

什么时候用:先搭建语法结构,还没想好代码怎么写的时候

哪些语句一起使用:

  • if语句的条件执行体
  • for-in语句的循环体
  • 定义函数时的函数体

循环结构

反复做同一件事情的情况,为循环

循环的分类

  • while
  • for-in
while循环
  • 语法结构

    while 条件表达式:
    	循环体
    
for-in循环
  • in表达从(字符串、序列等)中依次取值,与称为遍历

  • for-in遍历的对象必须是可迭代对象

  • 语法结构

    for 自定义的变量 in 可迭代对象:
    	循环体
    ---------------------------	
    for i in 'python':
    	print(i)
    #依次打印p/y/t/h/o/n
    
  • 循环体内不需要访问自定义变量,可以将自定义变量替代为下划线

    for _ in range(5):
    	print('1') 
    #输出函数里面的内容循环5次
    
嵌套循环

循环结构中又嵌套了另外的完整循环结构,内层循环作为外层循环的循环体,外层循环执行一次,内层循环全部执行

九九乘法表

for i in range(1,10):
    for j in range(1,i+1): #根据i确定结束值,不包含i,+1
        print(str(j)+'×'+str(i)+'='+str(i*j),end='\t') #end='\t' 不换行输出
    print() #换行
二重循环中的break和continue

二重循环中的break和continue用于控制本层循环

流程控制语句

break语句

用于结束循环结构,通常与分支结构if一起使用

continue语句

用于结束当前循环,进入下一次循环,通常与分支结构if一起使用

else语句

与else语句配合使用的三种情况:

  1. if...:
    	...
    else:
    	...
    #if条件表达式不成立时执行else
    
  2. while...:
    	...
    else:
    	...
    
  3. for...:
    	...
    else:
    	...
    

    没有碰到break时执行else

内置函数

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判断整数序列中是否存在指定的整数
输出函数print()
  • print()函数可以输出:

    • 输出类容可以是数字
    • 输出内容可以是字符串
    • 可以是含有运算符的表达式
  • print()函数可以将内容输出的目的地:

    • 显示器
    • 文件

    注意:指定盼复必须存在;使用file=fp;a+:如果文件不存在就创建,存在就在后面追加

    fp=open('E:/text.txt','a+')
    print('helloworld',file=fp)
    fp.close();
    
  • print()函数的输出形式:

    • 换行
    • 不换行
输入函数input()

接受来自用户的输入,输入值的类型为str

变量名=input();

创建一个[start,stop)之间的整数序列,步长为step |

  • 返回值是一个迭代器对象

  • range()类型的优点:

不管range对象表示的整数序列有多长,所有range对象占用的内存空间都是相同的,因为仅仅需要存储start,stop,和step,只有当用到range对象时,才会去计算序列中的相关元素

  • in与not in判断整数序列中是否存在指定的整数
输出函数print()
  • print()函数可以输出:

    • 输出类容可以是数字
    • 输出内容可以是字符串
    • 可以是含有运算符的表达式
  • print()函数可以将内容输出的目的地:

    • 显示器
    • 文件

    注意:指定盼复必须存在;使用file=fp;a+:如果文件不存在就创建,存在就在后面追加

    fp=open('E:/text.txt','a+')
    print('helloworld',file=fp)
    fp.close();
    
  • print()函数的输出形式:

    • 换行
    • 不换行
输入函数input()

接受来自用户的输入,输入值的类型为str

变量名=input();
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值