对象
Python中,一切皆对象。每个对象由:标识,类型,值组成。
1.标识用于唯一标识对象,通常对应于对象再计算机内存中的地址。使用内置函数Id(obj)
对象的本质就是:一个内存块,拥有特定的值,支持特定类型的相关操作。
对象
Python中,一切皆对象。每个对象由:标识,类型,值组成。
1.标识用于唯一标识对象,通常对应于对象再计算机内存中的地址。使用内置函数Id(obj)
对象的本质就是:一个内存块,拥有特定的值,支持特定类型的相关操作。
Python程序的构成
1.python程序由模块组成。一个模块对应Python源文件,一般后缀名为:.py
2模块又语句组成。运行Python程序是,按照模块中语句的顺序依次执行。
3.语句是Python程序的构造单元,用于创建对象,变量赋值,调用函数,控制语句等
Python文件的创建和执行
”ctr+s“好习惯
代码的组织和缩进
tab制表符就是4个空格
使用注释#
使用行连接符\
守
按照老师的要求做
破
突破老师的教诲
离
不断思考和反复练习 最后形成自己的风格
SymPy 符号运算包 函数运算
1.O表示多项式的阶
2.o (n)
字符串常用方法汇总
字符串查找
去除首尾信息
可以通过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)
浮点数_自动转化_强制转化_增强赋值运算符
浮点数
float,a*b^10,比如3.14,表示成314e-2
类型转换和四舍五入
1.类似于int(),float()
2.round(value)可以返回四舍五入的值
注:不会改变原有值,而是产生新的值
增强值赋值运算符
整数进制
Python中,除10进制,还有其他三种进制
0b或0B,二进制
0o或0O,八进制
0x或0X,十六进制
使用int()实现类型转换
1.浮点数直接舍去小数部分,int(9.9)=9
2.inf(True)=1,int(False)=0
3.字符串符合整数格式(浮点数格式不行)则直接转成对应整数
自动转型
整数和浮点数混合运算时,表达式结果自动转型成浮点数
整数可以有多大?
Python3中,int可以存储任意大小整数,long被取消
最基本内置属性类型
1.整型
整数,1,2,3
2.浮点型
小数型,3.14
3.布尔型
表示真假,仅包含:True、False
4.字符串型
由字符组成的序列。“abc”、“百战程序员”
除数为0,会产生异常
使用divmod()函数同时得到商和余数
divmod(13,3) (4,1)
标识符
基本用法
标识符:用于变量、函数、类、模块等的名称。标识符有如下特定规则:
1.区分大小写
2.第一个字符必须是字母、下划线。其后的字符是:子母、数字、下划线
3.不能使用关键字。比如:if、or、while等
4.以双下划线开头和结尾的名称通常有特殊含义,尽量避免这种写法。
Python标识符命名规则