Python基础知识-pycharm版-02

链式赋值

当多个变量是同一个值时,可以同时赋值。

a=b=123
#等价于
a=123
b=123

系列解包赋值

注意一一对应,个数必须相同。

a,b,c=1,2,3
#等价于
a=1
b=2
c=3

该方法也可以实现变量间的值互换

a,b=1,2
a,b=b,a

这样输出结果就由原a=1,b=2变为a=2,b=1
在这里插入图片描述

常量

python实际上不支持常量定义,我们只是通过默认的命名规则提示自己这是常量。使用大写来表示常量

CONSTANT_VALUE=1#大写就相当于常量,实际上它依旧可以被更改

基本的内置数据类型

整型整数。例:2345,10,…
浮点型小数。例:3.14或使用科学计数法314e-2
布尔型真假,只包含Ture与False两种。
字符串型有字符串组成的序列。例:“关注”,“temmie”

数字能进行的运算

包含整数与浮点数,

运算符说明例子结果
+加法1+23
-减法2-11
*乘法2*24
/浮点数除法4/22.0注意结果是浮点数
//整数除法7//23小数部分直接舍去,不是四舍五入
%模(取余)7%43
**2**38

注意:除法的时候不允许0作除数。
如果想同时得到商和余数可以使用 divmod() 函数
在这里插入图片描述

增强型运算符

运算符例子等价
+=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

比较运算符

运算符描述例子a,b=15,30
==等于,比较对象的值是否相等(a == b) 返回 False
!=不等于, 比较两个对象的值是否不相等(a != b) 返回 true
>大于 ,返回 x 是否大于 y(a > b) 返回 False
<小于,返回 x 是否小于 y(a < b) 返回 true
>=大于等于,返回 x 是否大于等于 y(a >= b) 返回 False
<=小于等于, 返回 x 是否小于等于 y(a <= b) 返回 true

逻辑运算符

运算符格式
or逻辑或 x or y
and逻辑与 x and y
not逻辑非 not x

什么true还是false,不如直接01表示看的直接,但这样有缺点

xyor返回值and返回值
0000
0110
1010
1111
xnot的返回值
01
10

在这里插入图片描述
注意表中所说的不计算,直接返回。这意味着你后面的数无论是什么,哪怕是会报错的内容,它都不会去管。
30/0会报错:不能将0作为除数
在这里插入图片描述
但是使用or时,如果前面已经为true,会略过后面不报错
在这里插入图片描述

同一运算符

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

==是比较的两个变量的值,而is是比较地址。
pycharm上试验没做出来效果,可能优化器又有变动了。
在这里插入图片描述
又尝试了几种方法
在这里插入图片描述
在这里插入图片描述

整数

python中包含十进制、二进制(0b 0B)01表示、八进制(0o 0O)0-7表示和十六进制(0x 0X)0-f表示
例:15

进制表示
十进制15
二进制1111
八进制17
十六进制f

在这里插入图片描述

浮点数

float,可以使用正常表示方法3.14或科学计数法314e-2

布尔值

True真,False假本质上依旧是数字,可以与数相加。

字符串

字符串在定义好后无法改变。使用的是unicode编码,16位。
可以使用ord()把字符转化为unicode码;使用chr()把十进制数字转化为对应的字符
在这里插入图片描述

创建字符串

使用’或"
若果字符串中包含’,可以把外面的写成"。
使用三个单引号’’‘创建多行字符串。
空字符串:’’,使用length可以查询该字符长度为0。

可变字符串

需要使用io模块

import io
a='temmie!!'
print(a)
s=io.StringIO(a)
print(s)
b=s.getvalue()#获得字符
print(b)
s.seek(1)#指针移动到第二个字符
s.write('t')#在该位置写一个字符
c=s.getvalue()
print(c)

在这里插入图片描述

转义字符
转义字符描述
(在行尾时)续行符
\反斜杠符号
单引号
"双引号
\b退格(Backspace)
\n换行
\t横向制表符
\r回车
字符串拼接

使用 + 要求两侧必须都是字符串,或者直接空格也可以。拼接后是生成新的对象。
在这里插入图片描述

字符串复制

在字符串后写*次数
在这里插入图片描述

不换行打印

默认print的结尾是换行符,所以每次打印都在新的一行,也可以用end来指定最后的内容
在这里插入图片描述

控制台读取字符串

input(内容)从控制台读取字符串,括号内的内容是显示在控制台提示你输入的,接下来程序会等你输入并回车后继续。
在这里插入图片描述

提取字符

使用[]提取字符
从左向右的索引为0到n-1,也可以从右向左-1-到-n
在这里插入图片描述

字符替换

replace()实现替换,但要注意,这个替换是生成了新的对象,原对象没有变。
在这里插入图片描述

字符串切片

截取字符串

操作和说明示例结果
[:] 提取整个字符串“abcdef”[:]“abcdef”
[start:]从 start 索引开始到结尾“abcdef”[2:]“cdef”
[:end]从头开始直到 end-1“abcdef”[:2]“ab”
[start :end]从 start 到 end-1“abcdef”[2:4] “cd”
[start: end:step]从 start 提取到end-1,步长是 step“abcdef”[1:5:2]“bd”
实例说明结果
“abcdefghijklmnopqrstuvwxyz”[-3:]倒数三个“xyz”
“abcdefghijklmnopqrstuvwxyz”[-8:-3]倒数第八个到倒数第三个(包头不包尾)‘stuvw’
“abcdefghijklmnopqrstuvwxyz”[::-1]步长为负,从右到左反向提取‘zyxwvutsrqponmlkjihgfedcba’

如果终止偏移量范围比实际的大,则取到最后就结束,不会报错。

字符串分割

split()基于指定的分割符对字符串进行分割。如不填写则默认按换行符、空格、制表符分割。
在这里插入图片描述

字符合并

join()函数,不写就是正常拼接,写的话就会在拼接位置加入字符。使用这个函数比+性能更高。
注意!的个数。
在这里插入图片描述

字符串比较

字符串驻留机制如果字符串符合python的标识符命名规则,则会驻留,如果给a与b同时赋值则两个用is比较是相等,如果不符合则不会驻留,两个的is比较为False。不过这个内容再pycharm中似乎不起作用。
在这里插入图片描述
字符串的比较使用 == 、 != 来进行字符串比较。使用 in 、 not in来判断字符串是否在指定字符串内
在这里插入图片描述

字符串常用的一些语法
a='我是temmie1024'
ans1=len(a)#字符串的长度
ans2=a.startswith('我是')#是否以 我是 开头
ans3=a.endswith('24')#是否以 24 结尾
ans4=a.find('m')#查找第一个 m 的位置
ans5=a.rfind('m')#查找最后一个 m 的位置
ans6=a.count("m")#查找 m 出现的次数
ans7=a.isalnum()#a 是否全部为字符或数字
print(ans1,ans2,ans3,ans4,ans5,ans6,ans7)

在这里插入图片描述

ans1="*s*x*t*".strip("*")##去除首尾*
ans2="*s*x*t*".lstrip("*")#去除首*
ans3="*s*x*t*".rstrip("*")#去除尾*
ans4=" sx t ".strip()#去除首尾空格,中间不算
print(ans1,ans2,ans3,ans4)

在这里插入图片描述

a='temmie eimmet'
ans1=a.capitalize()#产生新的字符串,首字母大写
ans2=a.title()#产生新的字符串,每个单词都首字母大写
ans3=a.upper()#产生新的字符串,所有字符全转成大写
ans4=ans3.lower()#产生新的字符串,所有字符全转成小写
ans5=ans1.swapcase()#产生新的字符串,所有字符全转成小写
print(ans1,'\n',ans2,'\n',ans3,'\n',ans4,'\n',ans5)

在这里插入图片描述

a="SXT"
a1=a.center(10,"*")#居中,使用*填充,总长度10
a2=a.center(10)#居中,使用空格填充,总长度10
a3=a.ljust(10,"*")#左对齐,使用型号填充,总长度10
print(a,'\n',a1,'\n',a2,'\n',a3)

在这里插入图片描述

a='temmie'
ans1=a.isalnum()#是否为字母或数字
ans2=a.isalpha()#检测字符串是否只由字母组成(含汉字)。
ans3=a.isdigit()#检测字符串是否只由数字组成。
ans4=a.isspace()#检测是否为空白符
ans5=a.isupper()#是否为大写字母
ans6=a.islower()#是否为小写字母
print(ans1,'\n',ans2,'\n',ans3,'\n',ans4,'\n',ans5,'\n',ans6)

在这里插入图片描述

字符串格式化

推荐使用.format()函数实现,{}作为占位符,是要填进去的内容
在这里插入图片描述
可以重复匹配
在这里插入图片描述
{}中可以写索引名,这样顺序就不需要一一对应了。
在这里插入图片描述

填充与对齐

:进行填充,数字表示总长度;使用^进行居中;<进行左对齐;>进行右对齐,如果不写符号用空格补齐。

a='名字是{name:!<9},是{type:!^4},但它真的是{type:?>6}吗?'
print(a.format(name='temmie',type='狗'))

在这里插入图片描述

数字格式化

浮点数通过f,整数通过d进行格式化。2f相当于浮点数保留两位小数

数字格式输出描述
3.1415926{:.2f}3.14保留小数点后两位
3.1415926{:+.2f}3.14带符号保留小数点后两位
2.71828{:.0f}3不带小数
5{:0>2d}05数字补零 (填充左边, 宽度为 2)
5{:x<4d}5xxx数字补 x (填充右边, 宽度为 4)
10{:x<4d}10xx数字补 x (填充右边, 宽度为 4)
1000000{:,}1,000,000以逗号分隔的数字格式
0.25{:.2%}25.00%百分比格式
1000000000{:.2e}1.00E+09指数记法
13{:10d}(前面有八个空格)13右对齐 (默认, 宽度为 10)
13{:<10d}13(后面有八个空格)左对齐(宽度为 10)
13{:^10d}左边有四个空格)13(右边有四个空格)中间对齐(宽度为 10)

类型转换

int()

1.可使浮点数舍去小数部分变为整数
2.可将布尔值(True)转化为1,(False)转化为0
3.字符串符合整数格式(不能包含中英文字符,小数)则转化为对应的整数,其他会报错。
在这里插入图片描述
自动转型
整数与浮点数混合运算,自动转换为浮点数
在这里插入图片描述
四舍五入
使用round()函数进行四舍五入
在这里插入图片描述

float()

用法与int类似
在这里插入图片描述

str()

实现数字转成字符串
在这里插入图片描述

获取时间

time.time()
获取的值是相对于1970年1月1日秒数。

练习

绘制一个方形并计算初始点与起始点的距离

import turtle
import math
x1,x2,x3,x4,y1,y2,y3,y4=50,50,-50,-50,50,-50,-50,50
turtle.width(10)
turtle.penup()
turtle.goto(x1,y1)
turtle.pendown()
turtle.goto(x2,y2)
turtle.goto(x3,y3)
turtle.goto(x4,y4)
turtle.goto(x1,y1)
distance=math.sqrt((x1-x4)**2+(y1-y4)**2)
print(distance)

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

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值