2021-05-06

python第二天

1.链式赋值:把同一个对象赋值给多个变量

a=b=3  ==  a=3;b=3

2.系列解包赋值:系列数据赋值给对应相同个数的变量

a,b = 4,5    ==       a=4;b=5

可以用于变量赋值的交换

3.常量

python不支持常量,只可以通过逻辑不对常量进行编辑

4.基本的内置数据类型

整型(1,2,3);浮点型(1.22   2.3);布尔型(True,False);字符串(“abc”,"123")

5.基本运算符

加2+3=5

减3-1=2

乘2*5=10

浮点除6/2=3.0

整数除7//2=3

模(取余)6%4=2

幂2**3=8

使用divmod()函数可以同时得到商和余数

>>>divmod()

(4,1)

6. Python中包括二进制0B或0b,八进制0O或0o,十进制,十六进制0X或0x

7.使用int()函数实现类型转换

>>>int(9.9)

9

>>>int(True)

1

>>>int(False)

 

0

>>>int("345")

345

8.自动转型 整数和浮点数运算时。整数自动变为浮点数

9.round(value)可以返回四舍五入的值,但不会改变原有值

10.时间的表示:可以通过time.time()获得当前时刻,返回的值以秒为单位,带微秒(1/1000毫秒)精度的浮点数  1970年1月1日00:00:00开始计时

11 定义多点坐标,给出折线,并计算起始点和终点距离

程序如下:

import turtle
#定义多个点的坐标
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)

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

运行结果如下:

12 比较运算符

== 比较对象的值是否相等

!=  比较两个对象的值是否不相等

> 返回x是否大于y

< 返回x是否小于y

> =返回x是否大于等于y

< =返回x是否小于等于y

13 逻辑运算符

与and 或or  非not

14 同一运算符

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

is 判断两个标识符是不是引用同一个对象

is not 判断两个标识符是不是引用不同对象

(python会对在【-5,256】之间的整数进行缓存,即这些比较小的数字对象会进行缓存)

(is 比==效率高)

15 字符串

字符串的本质是:字符序列,python的字符串是不可变的。无法对原字符串做任何修改,但是可以达到“看起来修改”的效果

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

支持Unicode,可以表示世界上任何书面语言的字符

内置ord()函数可以将字符转换为相应的Unicode码

>>>ord('A')

65

内置chr()函数可以将十进制数字转换为对应的字符

>>>(66)

B

可以通过单引号或双引号来创建字符串

连续三个单引号或双引号,可以创建多行字符串

允许空字符串存在,不包含任何字符,长度为0                                                    【len()用于计算字符串包含有多少字符】

转义字符    \+特殊字符

\在行尾时     续行符  

\\   反斜杠符号

\‘   单引号

\“   双引号

\b  退格

\n   换行

\t   横向制表符

\r   回车

字符串拼接 :      'aa'+'bb'==>'aabb'                     'aa' 'bb'==>'aabb'

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

>>>a='zx'*3

>>>a

'zxzxzx'

不换行打印:通过参数end = “任意字符串”,实现末尾添加任何内容

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

str()实现把其他数据类型转型字符串

str(5.20)==>'5.20'

str(3.14e2)==>'314.0'

str(True)==>’True‘

使用[]提取字符

a='asd3fv'

a[0]==>'a'

a[-1]==>'v'

replace()实现字符串替换

>>>a='asd3fv'

>>>

'asd3fv'

>>>a.replace('v','s')

'asd3fs'

>>>a

'asd3fv'

>>>a=a.replace('v','s')

'asd3fs'

>>>a

'asd3fs'

字符串切片slice操作

起始偏移量start:终止偏移量end:步长step

>>>a='asd3fv'

>>>a[1:5]          #包头不包尾,默认步长为1

'sd3f'

>>>a='asd3fv'

>>>a[1:5:2]          #步长为2,即隔一个取一个

's3'

>>>a='asd3fv'

>>>a[-2:]     #倒数两个

'fv'   

>>>a='asd3fv'

>>>a[::-1]     #步长为负,从右向左反向提取

'vf3dsa'   

split()分割和join()合并

split()将字符串分割成多个子字符串,默认使用空白字符(换行符、空格、制表符)

>>>a='to be or not to be'

>>>a.split()

['to' ,'be','or','not','to','be']

>>>a.split('be')

['to' ,'or not to','']

join()用于将一系列子字符串连接起来

>>>a=['to' ,'be','or']

>>>'*'.join(a)

'to*be*or'

>>>''.join(a)

'tobeor'

操作:测试拼接符+和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):
    li.append("sxt")
a = "".join(li)
time04=time.time()

print("运算时间:"+str(time04-time03))
 运算结果如图:

字符串驻留 仅保存一份相同且不可变字符串的方法,不同的值被存放在字符串驻留池中。(符合表示符规则的字符串【仅包含下划线、字母和数字】)

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

字符串常用方法:

常用查找方法:

a='to be or not to be'

len(a)    字符串的长度

a.startswith("to")       ==>  True        以指定字符串开头

a.endswith("be")        ==> True        以指定字符串结尾

a.find("o")                ==> 1              第一次出现指定字符串的位置

a.rfind("b")               ==>-2             最后一次出现指定字符串的位置

a.count("to")            ==>2               指定字符串出现了几次

a.isalnum()                                      所有字符是否全是字母或数字

去掉首尾信息:

使用strip()去除字符串首尾指定信息,Istrip()去除字符串左边指定信息,rstrip()去除字符串右边指定信息

大小写转换

a.capitalize()               产生新的字符串,第一个单词首字母大写

a.title()                         产生新的字符串,每个单词都首字母大写

a.upper()                     产生新的字符串,所有字符全转换为大写

a.lower()                      产生新的字符串,所有字符全转换为小写

a.swapcase()              产生新的字符串,所有字符都进行大小写转换

格式排版

center()  居中       ljust()左对齐          rjust()右对齐

其他方法

isalpha()          是否只由字母组成(含汉字)

isdight()          是否只由数字组成

isspace()         是否为空白符

isupper()         是否为大写字母

islower()          是否为小写字母

字符串格式化

函数str.format()

>>>a="名字是:{0},年龄是:{1}"

>>>a.format("哈哈",3)

"名字是:哈哈,年龄是:3"

填充与对齐

^、<、>分别是居中、左对齐、右对齐,后面带宽度

:号后面带填充的字符,只能是一个字符,不指定的话默认用空格填充

数字格式化

浮点数通过f,整数通过d进行需要的格式化

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值