2020.09.13昨日总结-编程的基础知识

目录

 

一.赋值(接上节课内容)

1.上节课内容

2.本节课内容

二.运算符

1.数字和基本运算符

2.增强型赋值运算符

3.时间的表示

4.比较运算符

5.逻辑运算符

6.同一运算符

三.数据类型:常量、整型、浮点型、布尔型、字符串

1. 常量

2.整数

3.浮点数(一般使用科学计数法在内存中存储)

4.布尔值 

5.字符串


一.赋值(接上节课内容)

1.上节课内容

1.变量名 = 表达式,在运行过程中,先对表达式进行解析获取其地址再将该地址给变量

注意:如果变量不赋值(不初始化)直接使用则会报错

2.当对象不被变量进行引用时,可以使用del将其删除,该对象会被垃圾站回收,清空内存。

2.本节课内容

  1. 链式赋值:此处记住此种格式即可a=b=??

      2.系列解包赋:值要注意对应和前后数字个数一致的问题

二.运算符

1.数字和基本运算符

Python 支持整数(如:50,520)和浮点数(如:3.14,10.0, 1.23e2),我们可以对数字做如下 运算。

使用 divmod()函数同时得到商和余数,divmod()是一个函数,我们以后会详细介绍。他返回的是一个元组(后续将会学习)。

2.增强型赋值运算符

运算符+、-、*,/、//、**和%和赋值符=结合可以构成“增强型赋值运算符”。 a = a + 1 等价于: a +=1

注:“+=”中间不能加空格!

3.时间的表示

计算机中时间的表示是从“1970 年 1 月 1 日 00:00:00”开始,以毫秒(1/1000 秒) 进行计算。我们也把 1970 年这个时刻成为“unix 时间点”。

4.比较运算符

5.逻辑运算符

6.同一运算符

三.数据类型:常量、整型、浮点型、布尔型、字符串

 1. 常量

python中不设定常量不可变的概念,我们只能从逻辑上限制常量不可变

2.整数

(1)注意:此处需要会进行十进制、二进制、八进制、十六进制的转换(愚蠢的我十六进制abcdef少算一个e,愚蠢!)

(2)使用int实现类型转换,此处要注意代码的格式

eg:(A). 浮点数直接舍去小数部分。如:int(9.9)结果是:9

(B). 布尔值 True 转为 1,False 转为 0。 如:int(True)结果是 1。注意:True/False一定要首字母大写,否则会出错

(C). 字符串符合整数格式(浮点数格式不行)则直接转成对应整数,否则报错。

(3)浮点型+整型=自动转换成浮点型

(4)Python3 中可以做超大数的计算,而不会造成“整数溢出”,这也是 Python 特别适 合科学运算的特点。

(5)整数缓存问题

此问题分成两种情况,A.首先python会在命令行中对比较小的整数对象进行缓存(范围为[-5, 256]);B.在保存文件中执行时解析器会对其进行优化对范围是[-5,任意正整数]的整数进行缓存。

注:1.is比较对象地址是否相同(判断对象本质上是否相同)

2.==比较对象的值是否相同

 

3.浮点数(一般使用科学计数法在内存中存储)

类型转换和四舍五入

(1). 类似于 int(),我们也可以使用 float()将其他类型转化成浮点数。

(2). 整数和浮点数混合运算时,表达式结果自动转型成浮点数。比如:2+8.0 的结果是 10.0

(3). round(value)可以返回四舍五入的值 注:但不会改变原有值,而是产生新的值

4.布尔值

python2中将True和False直接定义为1和0,python3使用True和False表示,但是本质上还是1和0。

5.字符串

(1)字符串的特点

     (A)字符串本身不可以进行修改

     (B)python中不设定单个字符,一个字符也算字符串

(2)字符串的编码

Python中使用Unicode进行编码使用ord()可以将字符转换成unicode码,使用chr()可以将数字转换成unicode码

(3)字符串的创建

通过引号创建字符串:(A)通过''创建字符串。(B)通过""船舰字符串。 (C)通过'''创建整段的字符串

(4)字符串的相关应用和函数

  • 空字符串和len()函数

Python 允许空字符串的存在,不包含任何字符且长度为 0。len()函数会测量字符串包含多少个字节。

  • 转义字符

一般常用\n换行和\连接字符

  • 字符串拼接

有两种方法:

(1)使用“+”

(A) 如果+两边都是字符串,则拼接。 (B) 如果+两边都是数字,则加法运算。 (C) 如果+两边类型不同,则抛出异常。

(2)使用join函数

 

  • 字符串复制

使用*可以实现字符串复制。

  • 不换行打印

可以自己通过参数 end = “任意字符串”。实现末尾添加任何内容

此处要注意代码的格式。eg:print("abc",end="dad")[愚蠢的我又出错了,注意逗号和等号都要写好!]

  • 从控制台读取字符串

使用 input()从控制台读取键盘输入的内容。

  • str()实现数字转型字符串

str()可以帮助我们将其他数据类型转换为字符串。当我们调用 print()函数时,解释器自动调用了 str()将非字符串的对象转成了字符串。我们 在面向对象章节中详细讲解这部分内容。

  • 使用[ ]提取字符

字符串的本质就是字符序列,我们可以通过在字符串后面添加[],在[]里面指定偏移量, 可以提取该位置的单个字符。

       (1)正向搜索:最左侧第一个字符,偏移量是 0,第二个偏移量是 1,以此类推。直到 len(str)-1 为止。

       (2)反向搜索:最右侧第一个字符,偏移量是-1,倒数第二个是-2,一次类推指导-len(str)为止。

如果超出字符串的长度则会自动报错

  • replace()实现字符串替换

字符串不能进行改变,但是可以用[[]来获取某位数字,并使用replace()函数来选择替代其中字符。

注意:要使用字符串对该函数方法进行调用str.replace("","")。愚蠢的我在此处又出错了!

整个过程中,实际上我们是创建了新的字符串对象,并指向了变量 a,而不是修改了以前的 字符串。

  • 字符串切片 slice 操作

切片 slice 操作可以让我们快速的提取子字符串。标准格式为: [起始偏移量 start:终止偏移量 end:步长 step]

切片操作时,起始偏移量和终止偏移量不在[0,字符串长度-1]这个范围,也不会报错。起始 偏移量小于 0 则会当做 0,终止偏移量大于“长度-1”会被当成-1。

注意:此处虽然是使用slice方法但是并没有调用slice方法,直接通过str[ : : ]即可实现。愚蠢的我又出错了

  • split()分割和 join()合并

(1)split()可以以特定的字符将字符串分开

注:此处的split()为函数,一定要记得引用和写括号。愚蠢的我又错了!

(2)join()函数

join函数用于将一系列字符连接成一个字符串,此处是使用连接字符调用join()函数,join函数的参数为需要连接的字符串

注意:此处调用函数的格式比较新颖,且连接字符也是字符,需要使用引号。愚蠢的我在这里出错了!

join()函数和“+”均可以将字符串进行连接,但是+的效率较低,需要重建对象,join()函数效率较高,一般使用join函数。

eg:用time函数测试+拼接符和 join()不同的效率

import time
time01=time.time()
a=""
for i in range(1000000):
    a+="sxt"
time02=time.time()
print("运行时间:"+str(time02-time01))


time03=time.time()
li=[]#注意此处的元组需要等号进行定义
for i in range(1000000):
    a="".join(li)
time04=time.time()
print("运行时间:"+str(time04-time03))

  • 字符串驻留机制和字符串比较

仅保存一份相同且不可变字符串的方法,不同的值被存放在字符串驻留池中。 Python 支持字符串驻留机制,对于符合标识符规则的字符串(仅包含下划线(_)、字母 和数字)会启用字符串驻留机制驻留机制。

注:此处有空格也算不符合标识符规则

  • 常用查找方法总结

(1)成员操作符:in /not in 关键字,判断某个字符(子字符串)是否存在于字符串中

(2)常用查找方法

len()

a.startswith('')

a.endswith('')

a.rfind('')

a.count("")

a.isalnum() #全部都是数字或字母

注:starts和ends。此处出错。

(3)去除首尾信息

我们可以通过 strip()去除字符串首尾指定信息。通过 lstrip()去除字符串左边指定信息, rstrip()去除字符串右边指定信息。

注:此处要注意中英文格式不同的问题

(4)大小写转换

a.capitalize()

a.title()

a.upper()

a.lower()

a.swapcase()

(5)格式排版

center(,)、ljust(,)、rjust(,)这三个函数用于对字符串实现排版。

(6)其他方法

1. isalnum() 是否为字母或数字

2. isalpha() 检测字符串是否只由字母组成(含汉字)。

3. isdigit() 检测字符串是否只由数字组成。

4. isspace() 检测是否为空白符

5. isupper() 是否为大写字母

6. islower() 是否为小写字母

  • 字符串的格式化

Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。 基本语法是通过 {} 和 : 来代替以前的 % 。 format 函数可以接受不限个参数,位置可以不按顺序

注意:此处{ }内的数字必须从0开始,否则会报错。

  • 填充与对齐

填充常跟对齐一起使用 ^、分别是居中、左对齐、右对齐,后面带宽度 :号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充

注:这个总是记不住{:填充数字><^(左右对齐),位数}

  • 数字格式化

  • 可变字符串

原地修改字符串,不需要更改字符串地址。可以使用 io.StringIO ()对象或 array 模块。

注意:io.StringIO()最后的io需要大写

A.seek()可以将指针指向指定的位数

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值