IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 第二天-python基础 -> 正文阅读

[Python知识库]第二天-python基础

链式赋值

链式赋值用于同一个对象被赋给多个变量
x=y=123 相当于x=123;y=123

系列解包赋值

系列数据赋值给对应相同个数的变量(个数必须保持一致)
a,b,c=4,5,6 相当于:a=4;b=5;c=6
使用系列解包赋值实现变量交换

a,b=1,2
a,b=b,a
print(a,b)

常量

python不支持常量,即没有语法规则限制改变一个常量的值。我们只能约定常量的命名规则,以及在程序的逻辑上不对常量的值做出修改

MAX_SPEED=120
PRINT(MAX_SPEED)
#实际上可以修改

内置函数类型

每个对象都有类型,python中最基本的数据类型:
1.整型:整数,2345,10,50
2.浮点型:小数
3.布尔型:表示真假
4.字符串

数字

python支持整数和浮点数

运算符说明示例结果
加法3+25
?减法30-525
*乘法3*618
/浮点数除法8/24.0
//整数除法7//23
%模(取余)7%43
**2**38

除数为0,会产生异常
使用divmod()函数同时得到商和余数
divmod(13,3)
(4,1)
divmod是一个函数,以后会详细介绍,返回的是一个元组

整数

python中,除10进制,还有其他三种进制

  • 0b或0B,二进制
  • 0o或0O,八进制
  • 0x或0X,十六进制
    这三种进制可以非常方便的进行位运算操作

使用int()实现类型转换:

1.浮点数直接舍去小数部分。如:int(9.9)的结果是9
2.布尔值true转为1,false转为0
3.字符串符合整数格式(浮点数格式不行)则直接转成对应整数,否则报错
自动转型:整数和浮点数混合运算时,表达式结果自动转型成浮点数

浮点数float

浮点数用科学计数法表示,比如3.14表示成314e-2

类型转换和四舍五入

1.类似于int(),我们也可以使用float()将其他类型转化成浮点数
2.整数和浮点数混合运算时,表达式结果自动转型成浮点数
3.round(value)可以返回四舍五入的值
注:但不会改变原有值,而是产生新的值

增强型赋值运算符

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

运算符例子等价
+=a+=2a=a+2
-=a-=2a=a-2
*=a*=2a=a*2
/=a/=2a=a/2
//=a//=2a=a//2
**=a**=2a=a**2
%=a%=2a=a%2

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

时间的表示

计算机中的时间的表示是从”1970年1月1日00:00:00“开始,以毫秒进行计算,我们也把这个时刻称为unix时间点
这样,我们就把时间全部用数字来表示了
python中可以通过time.time()获得当前时刻,返回的值是以秒为单位,带微秒(1/1000毫秒)精度的浮点值
【操作】定义多点坐标-绘出折线-并计算起始点和终点距离

import turtle
import math

#定义多个点的坐标
x1,y1=100,100
x2,y2=100,-100
x3,y3=-100,-100
x4,y4=-100,100

#绘制折线
turtle.penup()
turtle.goto(x1,y1)
turtle.pendown()

turtle.goto(x2,y2)
turtle.goto(x3,y3)
turtle.goto(x4,y4)

#计算起点和终点的距离
distance=math.sqrt(((x4-x1)**2+(y4-y1)**2))
turtle.write(distance)

在这里插入图片描述

布尔值

True、False

比较运算符

所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量true和false等价

逻辑运算符

运算符格式说明
orx or yx为true,则不计算y,直接返回true;x为false,则返回y
andx and yx为true,则返回y
notnot xx为true,返回false;x为false,返回true

同一运算符

同一运算符用于比较两个对象的存储单元,实际比较的是对象的地址

运算符描述
isis是判断两个标识符是不是引用同一个对象
is notis not是判断两个标识符是不是引用不同对象

is 与==区别:

is用于判断两个变量引用对象是否为同一个,即比较对象的地址

==用于判断引用变量引用对象的值是否相等

整数缓存问题
python仅仅对比较小的整数进行缓存,(范围为【-5,256】)缓存起来,而非所有整数对象。需要注意的是,这仅仅是在命令行中执行,而在pycharm或者保存为文件执行,结果时不一样的,这是因为解释器做了一部分优化(范围是【-5,任意正整数】)

总结
1.is比较两个对象的id值是否相等,是否指向同一个内存地址
2.==比较的是两个对象的内容是否相等,值是否相等
3.小整数对象在全局解释器范围内被放入缓存供重复使用
4.is运算符比=效率高,在变量和none进行比较时,应该选择is

字符串

字符串基本特点
字符串的本质是:字符序列。python的字符串是不可变的,我们无法对原字符串做任何修改。但可以将字符串的一部分复制到新创建的字符串,达到“看起来修改”的效果

python不支持单字符类型,单字符也是作为一个字符串使用的

字符串的编码

python3支持unicode,可以表示世界上任何书面语言的字符。
使用内置函数ord()可以把字符转换成对应的unicode码
使用内置函数chr()可以把十进制数字转换成对应的字符

引号创建字符串

我们可以通过单引号或者双引号创建字符串
使用两种引号的好处是可以创建本身就包含引号的字符串,而不是使用转义字符
连续三个单引号或者三个双引号,可以帮助我们创建多行字符串

空字符串和len()函数

python允许空字符串的存在,不包含任何字符
len()用于计算字符串含多少字符

转义字符

我们可以使用“+特殊字符”,实现某些难以用字符表示的效果。比如换行等。常见的转义字符有这些:

字符串拼接

1.可以使用+将多个字符串拼接起来。例如‘aa’+‘bb’==‘aabb’
2.可以将多个字符串直接放到一起实现拼接,中间有空格就可以

字符串复制

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

不换行打印

我们前面调用print时,会自动打印一个换行符。有时我们不想换行,不想自动添加换行符。我们可以自己通过参数end=“任意字符串",实现末尾添加任何内容

从控制台读取字符串

我们可以使用input()从控制台读取键盘输入的内容
str()实现数字转型字符串
str()可以帮助我们将其他数据类型转换为字符串
当我们调用print()函数时,解释器自动调用了str()将非字符串的对象转化成了字符串
使用【】提取字符
字符串的本质就是字符序列。我们可以通过在字符串后面添加[],在[]里面指定偏移量,可以提取该位置的单个字符。
正向搜索:最左侧第一个字符,偏移量是0,第二个偏移量是1,以此类推,知道len(s)-1为止
反向搜索:最右侧第一个字符,偏移量是-1,倒数第二个偏移量是-2,以此类推,知道-len(s)为止

replace()实现字符串替换
a.replace(‘c’,‘b’)
字符串切片slice操作
切片slice操作可以让我们快速的提取字符串,标准格式为“
[起始偏移量start:终止偏移量end;步长step]
在这里插入图片描述
切片操作时,起始偏移量不在[0,字符串长度-1]这个范围,也不会报错。起始偏移量小于0则会当作0,终止偏移量大于长度-1会被当成-1.

split()分割和join()合并
split()可以基于分隔符将字符串分割成多个子字符串(存储到列表中)。如果不指定分隔符,则默认使用空白字符(换行符/空格/制表符)。
join()的作用和split()作用刚好相反,用于将一些列子字符串连接起来
拼接字符串要点:
使用字符串拼接符+,会生成新的字符串对象,因此不推荐使用+来拼接字符串。推荐使用join函数,因为join函数在拼接字符串之前会计算所有字符串的长度,然后逐一拷贝,仅新建一次对象。

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

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

>>> a='abc_33'
>>> b='abc_33'
>>> a is b
True
>>> id(a)
2309604940784
>>> id(b)
2309604940784
>>> c='dd#'
>>> d='dd#'
>>> c is d
False
>>> c ==d
True

字符串比较和同一性

可以直接用==对字符串进行比较

成员操作符

in/not in判断某个字符(字符串)是否存在于字符串中

字符串常用方法汇总

常用查找方法

a=’’’ 我是高淇,今年18岁了,我在北京尚学堂科技上班。我的儿子叫高洛希,他6岁了。我是一个编程教育的普及者,希望能影响6000万学习编程的中国人。我儿子现在也开始学习编程,希望他18岁的时候可以超过我’’’

方法和使用示例说明结果
len(a)字符串长度96
a.startwith(“我是高淇)以指定字符串开头true
a.endwith”过我“以指定字符串结尾true
a.find(”高“)第一次出现指定字符串的位置2
a.rfind(”高“)最后一次出现指定字符串的位置29
a.count(’编程‘)指定字符串出现了几次3
a.isalnum()所有字符全是字母或数字false

去除首位信息

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

大小写转换

a=‘gaoqi love programming,love SXT’
在这里插入图片描述

格式排版

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

>>> a='SCT'
>>> a.center(10,"#")
'###SCT####'
>>> a.center(10)
'   SCT    '
`>>> a.ljust(10,"*")
'SCT*******'

其他方法

1.islnum() 是否为字母或数字
2.isalpha()检测字符串是否全是字母(包括汉字)
3.isdigit()检测字符串是否全是数字
4.isspace() 检测是否为空白
5.isupper()是否为大写字母
6.islower()是否为小写字母

字符串的格式化

format()基本用法

>>> a="名字是:{0},年龄是:{1}"
>>> a.format("高淇",18)
'名字是:高淇,年龄是:18'
>>> 

我们可以通过{索引}/{参数名},直接映射参数值,实现对字符串的格式化,非常方便

填充与对齐

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

>>> "{:*>8}".format("245")
'*****245'
>>> "我是{0},我喜欢数字{1:*^8}".format("高淇","666")
'我是高淇,我喜欢数字**666***'
>>> 

数字格式化

浮点数通过f,整数通过d进行需要的格式化
在这里插入图片描述

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-11 12:18:43  更:2021-08-11 12:23:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 6:45:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码