列表排序
修改原列表,不建新列表的排序
建新列表的排序
我们也可以通过内置函数sorted()进行排序,这个方法返回新列表,不对原列表做修改。
reversed()返回迭代器
列表排序
修改原列表,不建新列表的排序
建新列表的排序
我们也可以通过内置函数sorted()进行排序,这个方法返回新列表,不对原列表做修改。
reversed()返回迭代器
列表的创建
基本语法【】创建
>>> a = [10,20,30,'abc','xdf']
>>> a = [] #创建一个空的列表对象
list()创建
使用list()可以将任何可迭代的数据转化成列表
>>> a = list() #创建一个空的列表对象
>>> a = list(range(10))
>>> a
[0,1,2,3,4,5,6,7,8,9]
>>> a = list("abc,def")
range()创建整数列表
range()可帮助我们非常方便的创建证书列表,这在开发中极其有用。
语法格式为: range([start,] end [,step])
字符串,str,【】提取字符,replace()替换,内存分析
str()实现数字转型字符串
str()可以帮助我们将其他数据类型转换为字符串。
使用【】提取字符
字符串的本质就是字符序列,我们可以通过在字符串后面添加【】,在【】里面指定偏移量,可以提取该位置的单个字符。
正向搜索:
最左侧第一个字符,偏移量是0,第二个偏移量是1,以此类推。知道len(str)-1为止
反向搜索:
最右侧第一个字符,偏移量是-1,倒数第二个偏移量是-2,以此类推,知道-len(str)为止
replace()实现字符串替换
字符串是”不可替换的“,我们通过【】可以获取字符串指定位置的字符,但是我们不能改变字符串。
删除变量和垃圾回收机制
可以通过del语句删除不在使用的变量。
如果对象没有变量引用,就会被垃圾回收器回收,清空内存空间
Python下载安装和配置
1.进入官网:www.python.org/downloads/
2.下载
3.安装
4.环境变量问题
勾选:''Add Python to environment variable"。这样就会将Python添加到环境变量Path中,我们可以在Windows的命令行模式下运行Python解释器。
win+r打开输入cmd
输入Python进入交互模式
标识符
基本用法
标识符:用于变量,函数,类,模块等的名称。
1.区分大小写。如:sxt和SXT是不同的
2.第一个字符必须是字母,下划线。其后的字符是:字母,数字,下划线
3.不能使用关键字。比如:if,or,while等
4.以双下划线开头和结尾的名称通常有特殊含义,尽量避免这种写法。比如:__init__是类的构造函数。
对象
Python中,一切皆对象。每个对象由:标识,类型,值组成。
1.标识用于唯一标识对象,通常对应于对象再计算机内存中的地址。使用内置函数Id(obj)
对象的本质就是:一个内存块,拥有特定的值,支持特定类型的相关操作。
Python程序的构成
1.python程序由模块组成。一个模块对应Python源文件,一般后缀名为:.py
2模块又语句组成。运行Python程序是,按照模块中语句的顺序依次执行。
3.语句是Python程序的构造单元,用于创建对象,变量赋值,调用函数,控制语句等
Python文件的创建和执行
”ctr+s“好习惯
代码的组织和缩进
tab制表符就是4个空格
使用注释#
使用行连接符\
守
按照老师的要求做
破
突破老师的教诲
离
不断思考和反复练习 最后形成自己的风格
字符串常用方法汇总
字符串查找
去除首尾信息
可以通过strip()去除字符串首尾制定信息,Istrip()去除字符串左边指定信息,rstrip()去除字符串右方指定信息
' abc '.strip(),即abc
'**abc**.rstrip('*'),即**abc
大小写转换
字符串驻留机制_字符串比较
字符串驻留
仅保存一份相同且不可变字符串的方法,不同的值被存放在字符串驻留池中。对于符合标识符规则的字符串(仅包含下划线(_)、字符和数字)会启用字符串驻留机制。
a='adc_3', b='adc_3', a is b, True
c='dd#', d='dd#', c is d, False
str1='aa', str2='bb', str1+str2='aabb'
字符串比较
is/not is ,比较对象id
==/!==,比较对象value
成员操作符
in/not in 关键字,判断某个字符(子字符串)是否存在于字符串中
split()分割和join()合并
split可以基于指定分隔符将字符串分隔成多个子字符串(存储到列表中),如果不指定分隔符,则默认使用空白字符(换行符/空格/制表符)
a=‘to be or not to be’
a.split(),即['to','be','or','not','to','be']
a.split(be),即['to','not to be']
join()用于将一系列子字符串连接起来
a=['a','bc','def']
''.join(a) 即abcdef
字符串切片slice操作
[起始偏移量start:终止偏移量end:步长step](包头不包尾)(步长单位默认为1)
切片操作,起始偏移量和终止偏移量不在范围内不会报错
str()_[]提取字符_replace()实现字符串替换
str()实现数字转型字符串
str()可以将其他数据类型转换为字符串
str(5.2)即‘5.2’str(True)即‘True’
使用[]提取字符
replace()实现字符串替换
字符串不可改变,可创建新的字符串对象
a=abcde
a=a.replace('c','高')即ab高de
转义字符_字符串拼接_字符串复制
转义字符
字符串拼接
1.如果使用+将多个字符串拼接起来,例如:'aa'+'bb'==>'aabb'
(1)如果+两边都是字符串,则拼接
(2)如果+两边都是数字,则加法运算
(3)如果+两边类型不同,则抛出异常
2.可以把多个字面字符串直接放在一起实现操作,例如‘aa’ ‘bb’==>'aabb'
字符串复制
使用*实现字符串复制,‘ab’*3即‘ababab’
不换行打印
可以通过参数end=“任意字符串”,实现末尾添加任何内容:
print('a',end='**')
print('b') 输出结果:a**b
从控制台读取字符串
我们可以使用input()从控制台读取键盘输入内容
myname=input('请输入名字!')
字符串
字符串基本特点
字符串的本质是:字符序列。Python字符串不可改变,无法修改,可以创新新的字符串
Python不支持单字符类型,单字符可以作为一个字符串使用
字符串编码
Python直接支持Unicode,默认16位Unicode编码
使用内置函数ord()可以把字符串转换成对应的Unicode码;
使用内含子函数chr()可以把十进制数字转换成对应的字符
引号创建字符串
可以通过单引号或者双引号创建字符串
连续三个单引号或者双引号,可创建多行字符串
空字符串和len()函数
Python允许空字符串存在,不包含任何字符且长度为0
同一运算符
用于比较两个对象的存储单元,实际比较的是对象的地址
is与==区别,
is 用于判断两个变量引用对象是否为同一个,即比较对象地址( is not 判断两个标识符是否引用不同对象)
==用于判断引用变量对象的值是否相等,默认调用对象的_eq_()方法
整数缓存问题
Python仅仅对比较小的整数对象进行缓存(范围为[-5,256])缓存下来,而非所有整数。在Pycharm或者保存为文件执行,结果又不一样,范围是[-5,任意正整数]
布尔值_比较运算符_逻辑运算符_短路问题
布尔值
a=True,b=3,a+b=4
比较运算符
定义多点坐标_汇出折线_并计算起始点和终点距离
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)
#计算起始点和重点距离
distance=math.sqrt((x1-x4)**2+(y1-y4)**2)
turtle.write(distance)