python基础2-数据及字符串知识学习

本文详细介绍了Python的基础数据类型,包括赋值操作、数字类型(整数、浮点数、布尔值)以及字符串的使用,如编码、创建、拼接、替换和切片操作。此外,还讲解了字符串的常用方法,如查找、去除首尾信息和格式化等。
摘要由CSDN通过智能技术生成

一、赋值操作

1.链式赋值

链式赋值用于同一个对象赋值给多个变量

2.系列解包赋值

系列数据赋值给对应相同个数的变量(个数保持一致)

a,b,c = 1,2,3
a,b,c =c,a,b
print(a,b,c)
>>>3 1 2

补充:常量

python不支持常量,我们只能约定常量的命名规则,以及在程序的逻辑上不对常量的值作出修改。

二、最基本内置数据类型介绍

变量没有类型,但对象有类型
python中最基本的数据类型有:整型、浮点型(小数或科学计数法)、布尔类型(True和Flase)、字符串类型

1.数字

基本运算符
在这里插入图片描述

1)divmod()函数

使用divmod()函数同时获得商和余数,返回一个元祖

print(divmod(13,5))
>>>(2, 3)
2)整数

python中整数有四种进制,分别是
二进制—>0b或0B
八进制—>0o或0O
十进制
十六进制—>0x或0X
使用int()实现类型转换
1.浮点数—>整数:正浮点数向下取整,负浮点数向上取整
2.布尔值True转为1,Flase转为0
3.字符串符合整数格式(浮点数格式不行)则直接转成对应整数;否则会报错
自动转型
整数和浮点数混合运算时,表达式结果自动转型成浮点数

3)浮点数

使用float()函数将其他类型转换成浮点型
round(value)函数可以返回四舍五入的值
注:不会改变原有值,而是产生一个新的值

print(round(3.5))
>>>4
4)时间的表示

unix时间点:1970年1月1日00:00:00
time.time()获得当前时刻,精确到微秒

5)例子

定义多点坐标_绘出折线段_计算两点间距离

import turtle
import math

#定义多点坐标
x1,y1 = 100,0
x2,y2 = 0,-100
x3,y3 = -100,0

#绘制折线图
turtle.penup()
turtle.goto(x1,y1)
turtle.pendown()
turtle.goto(x2,y2)
turtle.goto(x3,y3)

#计算两点距离
distance = math.sqrt((x3-x1)**2+(y3-y1)**2)
turtle.write(distance)
turtle.done()

结果如图:
在这里插入图片描述

6)增强型赋值运算符

在这里插入图片描述

7)布尔值

True和Flase,可以和数字相加

8)比较运算符

在这里插入图片描述

9)逻辑运算符

在这里插入图片描述
在这里插入图片描述

10)同一运算符

在这里插入图片描述is 与 ==的区别
1.is比较对象地址(id)是否相等
2.==比较引用对象的值是否相等,默认调用__eq__()方法
is 比 == 运算效率高的原因
is 的计算很快,因为它不重载,少了函数调用开销而直接比较两个整数id;
而a == b则相当于a.eq(b)重载了对应的方法
is常用的地方-和None值进行比较

a is None or a is not None
11)整体缓存问题

在命令行执行程序时,会将[-5,256]内的整数对象缓存起来
在pycharm中或保存为文件执行程序时,将[-5,任意整数]进行缓存

a = 100000
b = 100000
print(a is b)
>>>True

2.字符串

1).字符串编码

python支持Unicode(16位),可以表示世界上任何书面语言的字符
内置函数ord()可以将字符转换成对应的Uniconde编码
内置函数chr()可以把十进制数字转换成对应的字符
在这里插入图片描述

2).引号创建字符串

可以使用成对的单引号或双引号创建字符串
使用两种引号,可以创建本身就包含引号的字符串而不用使用转义字符
连续使用三个单引号或三个双引号,来创建多行字符串—多行注释

3).空字符串和len()函数

len()函数用于计算字符串含有多少字符

4).转义字符

+特殊字符
在这里插入图片描述

5).原始字符串

针对打印含有转义字符的字符串
格式:在变量赋值时,在前面加个r

>>> good=r'C:\now\no\nose\note'
>>> good
'C:\\now\\no\\nose\\note'
>>> print(good)
C:\now\no\nose\note

注意:字符串末尾不可以加\,如果加了,python会认为字符串还没有结束,就会报错
需:用“\”对自身进行转义

a = r"c:\n\baidu.com""\\"
print(a)
>>>c:\n\baidu.com\
6).字符串拼接与复制

1.可以使用+将多个字符串拼接起来
2.join()函数用于将一系列子字符串连接起来
要点:两者要达到相同效果,多次使用字符串拼接符+,每次都会生成新的字符串对象;使用join()函数,仅新建一次对象
复制:使用*实现字符串的复制
测试两者之间效率

import time
time1 = time.time()
a = ""
for i in range(1000000):
    a += "sxt"

time2 = time.time()
print("运算时间为:"+str(time2 - time1))
>>>运算时间为:0.41286420822143555
import time
time1 = time.time()
a = []
for i in range(100000):
    a.append("sxt")

b = "".join(a)
time2 = time.time()

print("运行时间:"+str(time2 - time1))
>>>运行时间:0.007945775985717773
7).print()和input()和str()

调用print(),默认会自动打印一个换行符
不换行打印:可以通过参数end=“任意字符串”,任意字符串包括转义字符,实现末尾添加任何内容
input()读取输入内容
str()将数字转换成字符串

8).使用[]提取字符

在这里插入图片描述
在这里插入图片描述

9).replace()实现字符串替换

字符串是不可变类型
使用replace(“old”,“new”)替换某些字符时,通过创建新的字符串来实现
在这里插入图片描述

10).切片操作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

a = "to be or not to be"
a = a[::-1]
print(a)
11).split()函数分割

split()可以基于指定分隔符将字符串分割成多个子字符串(存储到列表中)
不指定分割符,则默认使用空白字符(换行符/空格/制表符)

12).字符串驻留机制和字符串比较

python支持字符串驻留机制,对于符合标识符规则的字符串(仅包含下划线、字母和数字),会启动字符串驻留机制。
字符串驻留机制:仅保留一份相同且不可变字符串的方法

a = "asd_il_12"
b = "asd_il_12"
print(a is b)
>>>True

在这里插入图片描述

3.字符串常用方法汇总

1)常用查找方法

在这里插入图片描述

2)去除首尾信息

在这里插入图片描述

3)大小写转换

在这里插入图片描述

4)字符串排版

在这里插入图片描述

5)判断字符串内容

在这里插入图片描述

6)字符串format格式化

通过{索引}/{参数名},直接映射参数值,,来实现字符串的格式化
同时有位置参数和关键字参数时,位置参数要在关键字参数之前
关键词参数要在format()里写出参数名
在这里插入图片描述

7)填充与对齐

在这里插入图片描述

8)数字格式化

在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值