1.链式赋值:用于同一个对象赋值给多个变量。
a=b=123
print(a) #123
print(b) #123
2.系列解包赋值:系列数据赋值给对应相同个数的变量,个数必须保持一致。
a,b,c=1,2,3
print(a) #1
print(b) #2
print(c) #3
a,b,c=1,2,3
a,b=b,a
print(a) #2
print(b) #1
3.常量:Python不支持常量(意为实际上可以改,逻辑上不要改。)
4.最基本内置数据类型介绍
(1)整型
(2)浮点型:小数
(3)布尔型:True、False
(4)字符串型:"abc"、"sxt"
(5)特殊一点的运算符:
/:浮点数除法
//:整数除法
%:取余
**:幂
使用divmod()函数同时得到商和余数
5.整数:0b二进制,0o八进制,0x十六进制
print(int(3.99)) #3
print(int(True)) #1
print(int(False)) #0
用int()实现类型转换:
a=3+3.5
print(a) #6.5
6.浮点数:小数float
类型转换和四舍五入:float()
round(value)可以返回四舍五入的值:不会改变原有的值,但是会产生新的值。
增强型赋值运算符:
+=:a+=2等价于a=a+2
类似的有:-=、*=、/=
7.时间的表示
import time
a=int(time.time())
print(a)
totleminite=a//60
print(totleminite)
totlehour=tl=totleminite//60
print(totlehour)
totleday=totlehour//24
print(totleday)
totleyear=totleday//365
print(totleyear) #51
8.例题:绘制多段折现将已知点连接,求出首尾两个点的距离。
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((x1-x4)**2+(y1-y4)**2)
turtle.write(distance)
9.布尔值:True(1),False(0)
比较运算符:
==等于 !=不等于
逻辑运算符:
or(或)、and(与)、not
10.同一运算符:用于比较两个对象的储存单元,实际比较的是对象的地址。
is:判断两个变量引用对象是否为同一个,即比较对象的地址。
==:用于判断引用变量引用对象的值是否相等。
11.转义字符:使用"\+特殊字符",实现某些难以用字符表示的效果。如换行等。
续行符:\
a='aaa\
bbb'
print(a) #aaabbb
字符串拼接:+两边都是字符串 或者直接放到一起实现拼接
a='aaa'+'bbb'
print(a) #aaabbb
b='aaa''bbb''ccc'
print(b) #aaabbbccc
字符串复制
a='aaa'*3
print(a) #aaaaaaaaa
不换行打印
print("aaa")
print("bbb")
print("ccc")
'''
aaa
bbb
ccc
'''
print("aaa",end="*") #以星号结尾并且不换行
print("bbb",end="\t")
print("ccc") #aaa*bbb cccc
从控制台读取字符串:使用input()从控制台读取键盘输入的内容。
myname=input("请输入名字:")
12.(1)str()实现数字转型字符串
print(str(1)) #1
print(str(34.5)) #34.5
(2)使用[]提取字符
字符串的本质就是字符序列,可以通过在字符串后面添加[]里面指定偏移量,可以提取该 位置的单个字符。正顺序从0,1顺序标号,负顺序从-1,-2倒数标号。
a="abcdefdhigklmnopqrstuvwxyz"
print(a[1]) #b
print(a[-1]) #z
(3)replace()实现字符串“改变”
字符串不可改变,调用replace()生成新字符串,原字符串并没有变化。
a="abcdefdhigklmnopqrstuvwxyz"
print(a.replace('c','付')) #ab付defdhigklmnopqrstuvwxyz
print(a) #abcdefdhigklmnopqrstuvwxyz 原字符串的值不更改
a=a.replace('c','付') #a指向新的字符串
print(a) #ab付defdhigklmnopqrstuvwxyz a的值被更改
13.(1)字符串切片slice操作:截取字符串
标准格式为:[起始偏移量:终止偏移量:步长]包头不包尾
a='abcdefghijklmnopqrstuvwxyz'
print(a[:]) #整个输出
print(a[1:5]) #bcde
print(a[1:5:2]) #bd
print(a[-2::]) #yz步长不说默认是正序1
print(a[-10:-1:]) #qrstuvwxy 采用负数进行切片,根据步长的正负排列起始坐标的顺序
print(a[-1:-10:-1]) #zyxwvutsr
例1语句倒叙输出
a='to be or not to be'
print(a[::-1])
例2输出字符串中所有x
a='xstxstxstxstxstxst'
print(a[::3])
14.split()分割和join()合并
split()可以基于指定分隔符将字符串分隔为多个子字符串,如果不指定分隔符,则默认使用空白字符。
a="to be or not to be"
print(a.split()) #['to', 'be', 'or', 'not', 'to', 'be']
print(a.split("be")) #['to ', ' or not to ', '']
b="I\nlove\nu"
print(b.split("\n")) #['I', 'love', 'u']
join()用于将一系列子字符串拼接。比使用字符串相加的形式更好,字符串相加需要新生成变量。(注意使用格式)
a=["this","is","not","love"]
print("*".join(a)) #this*is*not*love
15.字符串驻留机制和字符串比较
字符串驻留:仅保存一份相同且不可变字符串的方法,不同的值被存放在字符串驻留池中。
字符串比较
a="abc_d11"
b="abc_d11"
print(a is b) # True is比较的是对象(内存)
print(a==b) #True 内容是否一样
print("a" in a) #是否含有 True
16.字符串常用方法汇总
(1)常用查找方法
a='''鸟儿在疾风中
迅速转向
少年去捡拾
一枚分币
葡萄藤因幻想
而延伸的触丝
海浪因退缩
而耸起的背脊'''
print(len(a)) #77
print(a.startswith('鸟儿')) #True
print(a.endswith('背脊')) #True
print(a.find('而')) #50第一次出现而的位置
print(a.rfind('而')) #71最后一次出现而的位置
print(a.count('而')) #2而一共出现了几次
print("sacd12324".isalnum()) #True是否为数字和字母组成的字符串
print(a[78::])
17.字符串的格式化
format():通过{索引}/{参数名}直接映射参数值,实现对字符串的格式化。
a="名字是:{0},年龄是:{1}"
print(a.format('Dream',20)) #名字是:Dream,年龄是:20
b='名字是{name},年龄是{age}'
print(b.format(name='April',age=18)) #名字是April,年龄是18
使用{0}这种要按照顺序,使用名称不用注意顺序。
数字格式化
a="名字是:{0},收入是:{1:.2f}"
print(a.format('datou',15000.324325))