第三章 序列
列表
列表大小可变。根据需要随时增加或缩小
第三章 序列
列表
列表大小可变。根据需要随时增加或缩小
基本运算符
移位
左移相当于乘以2,4,8,16....
右移相当于除以2,4,6,16.....、
加法操作
乘法操作
复合赋值运算符
python不支持自增和自减
可变字符串
io.StringIO
>>> import io
>>> s = "hello,sxt"
>>> sio = io.StringIO(s)
>>> sio
<_io.StringIO object at 0x00000262E80F8B88>
>>> sio.getvalue()
'hello,sxt'
>>> sio.seek(7)
7
>>> sio.write("g")
1
>>> sio.getvalue()
'hello,sgt'
>>>
常用查找方法
去除首尾信息
大小写转换
格式排版
其他方法
驻留机制,即用之前的对象,不再建立新的对象。
split()分割和join()合并
字符串切片slice操作
切片slice操作可以让我们快速的提取子字符串,标准格式为:
[起始偏移量start:终止偏移量end:步长step]
str()实现数字转型字符串
使用【】提取字符
索引就是偏移量
replace()字符串替换
创建新的字符串对象,以前的不可变
字符串拼接
拼接会形成新的对象
空格也能拼接
字符串复制
使用*完成字符串复制
不换行打印
end="任意字符串"
从控制台读取字符串
我们可以使用input()从控制台读取键盘输入的内容
>>>myname = input("请输入名字:")
请输入名字:gaoqi
>>>myname
'gaoqi'
字符串
不支持单字符,单字符也是作为字符串使用
编码
Unicode可表示所有文字(包括汉字),2^16种
ord(),把字符转换成对应的Unicode
chr() ,把十进制转换成对应字符
ASCII(不能表示汉子) ,2^8种
引号创建字符串
创建单行字符串
连续三个单引号或是三个双引号,可以帮助我们创建多行字符。
len()函数
同一运算符
is 地址
== 值
整数缓存问题
(-5,256)
布尔值
python2没有布尔值,直接用0表示False,用数字1表示True.
Python3中,把True和False定义成了关键字,但他们的本质还是1和0,甚至可以和数字相加。
计算机中时间的表示是从1970年1月1日00:00:00开始,以毫秒进行计算。我们也把1970年这个时刻称为“nix时间点”。
time.time(),返回的值是以秒为单位,带微秒(1/1000毫秒)精度的浮点值。
round(value)可以返回四舍五入的值,
注:但不会改变原有值,而是产生新的值
+=中间不能加空格
Python中,除10进制外,还有其他三种进制:
0b或0B,二进制 0 1
0o或0O,八进制 0 1 2 3 4 5 6 7
0x或0X,十六进制 0,1,2,3,4,5,6,7,8,9,a,b,c,d,,e,f
整数可以有多大?
Python2中,int是32位,可以存储-2^31--2^31-1之间的数值。
long类型是64位,可以存储-2^63---2^63-1之间的数值。
Python3中,int可以存储任意大小的整数,long被取消。我们甚至可以存储下面的值:
>>>googol = 10**100
Python中可以做超大数的计算,而不会造成“整数溢出”,这也是Python特别适合科学运算的特点。
与c语言不同的基本运算符:
/:浮点数除法 比如7/2=3.5
//:整数除法比如 7//2=3
**:幂 比如2**3=8
0不能做除数
divmod()函数同时得到商和余数
例如:
<<<divmod(13,3)
(4,1)
divmod()是一个函数,返回的是一个元祖。
链式赋值
x=y=123,相当于x=123;y=123
系列解包赋值
a,b,c=4,,5,6相当于:a = 4;b = 5;c = 6
常量
Python不支持常量,所以只能规定常量的命名规则,以及程序的逻辑上不对常量的值做出修改。标
>>>MAX_SPEED = 120
>>>print(MAX_SPEED)
120
>>>MAX_SPEED = 140 #实际是可以改的。只能逻辑不做修改。
>>>print(MAX_SPEED)
140
1.变量在使用前必须被初始化。
2.通过del语句删除不在使用的变量
3.如果对象没有被变量引用,就会被垃圾回收机制回收,清除内存空间!
Python(1989年,龟叔发明),是一种解释型,面向对象的语言!
特点:
1.可读性强
2.简洁
与其他语言相比,完成同样功能只用一半的代码!提高一倍的生产效率!
Python是由c语言开发,但是不再有c语言中指针等复杂数据类型,Python的简洁性让开发难度和代码难度幅度大幅度降低,开发任务大大简化!
让程序员有更多时间关注业务本身,而不是大量时间关注语法!
3.面向对象
4.免费和开源
5.可移植性和跨平台
6.丰富的库(丰富的标准库,多种多样的扩展库)
7.可扩展性. (可嵌入到c和c++语言。胶水式语言)
应用范围
1.科学计算
2.人工智能
3.WEB服务端和打星网站后端。
YouTube,gmail等应用基于python开发。
4.GUI开发(图形用户界面开发)
5.游戏开发
6.移动设备
7.嵌入式设备
8.系统运维
9.大数据
10.云计算
什么时候不应该用Python
1.Python是解释型执行,性能较低。
因此,一些影响性能的功能可以使用C/C++/JAVA/GO(GO是一种新语言,写起来像Python,性能像C)去开发。
现在建议主要学习Python3,Python2预计2020退出历史舞台。
Python解释器
Python程序的执行依赖于Python解释器。常用的Python解释器有:
1.CPython
使用c语言实现的解释器,最常用的解释器。通常说的解释器指的就是它。(效率最快)
2.JPython
3.IronPython
4.PyPy
标识符
用于变量,函数,类,模块等的名称。有如下的规则:
1.区分大小写。
2.第一个字母必须是字母或者下划线。其后的字符是:字母,数字,下划线
3.不能使用关键字
4.以双下划线开头和结尾的名称通常有特殊含义,尽量避免这种写法。比如:_init_是类的构造函数。
help()
kewoeds
Python标识符命名规则
模块和包名,函数名 :全小写字母,多个单词直接就下划线隔开。
类名:首字母大写,采用驼峰原则。多个单词时,每个单词第一个字母大写,其余部分小写。比如:MyPhone,MyClass
常量名:全大写字母,多个单词下划线隔开。比如:MAX_SPEED