把整数输出成非十进制数的时候,需要使用函数:
bin(i) 二进制 oct(i) 八进制 hex(i) 十六进制
i 是十进制数字
int('0b11111110',2)
254
把整数输出成非十进制数的时候,需要使用函数:
bin(i) 二进制 oct(i) 八进制 hex(i) 十六进制
i 是十进制数字
int('0b11111110',2)
254
类代码编写:实例对象是具体的元素
类接口技术:super:超类,定义所有子类的需要的变量
Inheritor:完全继承,没有任何修改的子类
Replacer:继承超类后,修改一些变量的子类
Extender:在继承超类的基础上,自己添加了其他变量的子类
\s表示空格
improte re(分隔字符串) re.split(r'[;,\s【分隔符】]',【要分隔的字符串】)
检测字符串的开头或结尾 S.starswith(【匹配的元组】) S.endswith(【匹配的元组】)
通配符 * from fnmatch iport fnmatch, fnmatchcase fnmatchcase('log.txt'【要匹配的数据】,'*.txt'【匹配的字符串】)【分大小写】 fnmatch('log.txt','*.TXT')【不分大小写】
1、把非十进制的文本转化为整数:int(str,base)。举例如下:
int('0b110',2) #输出6.
2、repr模式:交互模式时的显示模式。
3、python中复数的表示方式:
(1)、用a+bj的方式:把现实里的i换成j或J.
(2)、函数格式:complex(a,b)
其中,a、b是实数。
4、身份运算符: is 和 is not
Python的类型与运算-列表方法
1、使用Fraction函数获取分数中的小数部分: from fractions import Fraction
0.1+Fraction(2,3)
#结果: 0.666666666666667
2、modf函数:对浮点数分成小数部分和整数部分。在math中。
3、sqrt函数:在math模块中,使用前先import math。
4、round函数:在python2中会直接四舍五入取整,在3中会往偶数的地方取整(例如round(2.5)结果为2,round(3.5)结果为4)。注意:由于精度不同,可能会出现不同的结果。
5、random:随机函数使用的模块(使用前先import random)。具体用法:
(1)、random.random():取0-1之间的随机小数
(2)、random.choice((1,2,3,4))或random.sample((2,3,4),1):取自定义数里的随机数。
(3)、random.shuffle(a):a为一数组,将其元素随机打乱顺序。
(4)、random.getrandbits(二进制a):随机取一个a个bit的整数。
(5)、格式化输出:format()函数。
object.attribute读取ob的属性attribute值
字符串方法:
大小写相关:
“string”.capitalize( ) 第一个字母大写,其余都变成小写
“string”.title( ) 每一个词的头字母大写,其余都小写
"string".upper( ) 全改为大写
"string".lower( )全改成小写
"string".swapcase( ) 大小写转换
排版相关:
S.center.(width,['char']) 原来的字符扩到指定长度,再用char填充其余空处,默认空格。类似的有S.ljust( ) / S.rjust( )
S.expandtabs( tabsize ) 更改tabs转换为空格的数量,默认为8
S.strip( [chars] ) 删除两边的指定字符(默认为空格和换行符)类似的有S.lstrip( [chars] ) / S.rstrip( [chars] )
查找相关;
S.startswith( prefix[ , start[ ,end ] ] ) / S.endswith( suffix [ ,start[ ,end] ] ) 是否 以特定字符串开头/结尾的,返回真假。例:'hello world'.startswith('hello')
S.count( sub [ , start[,end] ] ) 相应字符串在文本里的个数。例:‘hello world’.count('l')
S.find( sub [ ,start[,end] ] ) / S.rfind(sub [,end] ) 查询第一个与sub匹配的字符串位置,没找到就返回-1。例:‘helloworld'.find('l')
S.index 与find差不多,但没找到的话,返回错误
S.replace(old,new[,count]) 查找old,替换成new,count为替换相应的个数,默认全替换。例:'hello world'.replace('h','H')
格式判断:
返回的值都是真或假
S.isalpha( )是否为字母
S.isdigit( ) 是否为数字
S.isalnum( ) 是否为数字和字母
S.islower( ) 是否有字母且全小写
S.isupper( )
S.isspace( ) 是否只有空格和换行符号
S.istitle( ) 是否每个单词的第一个字母为大写
下面的只有py3开始支持
S.isdecimal( ) 是不是数字
S.isnumeric 是不是数字
S.isidentifier( ) 判断字符能否成为标识符
S.isprintable( ) 字符是否全部能打印
字符的分隔:
S.split( [sep [ ,maxsplit] ] ) /
S.rsplit( [ sep[,maxsplit] ] ) 从左或右以sep分隔,最多分隔max次,默认无限次。
例:'helloworldhello'.split(' ',1)
S.splitlines( [keepends]) 以\n 或者\r 或者 \r\n 分隔
例:'hello\nworld'.splitlines( )
S.partition(sep) / S.rpartition(sep) 从左或右找第一个sep分隔,sep左边的,sep ,sep 右边的
'http;//baidu.com'.partition('://')
其他:
S.join( )--->'-'.join('abc')--->'a-b-c'
S.maketrans( x [,y[,z] ] ) / S.translate(map) 两者在py2和3中完全不同
例:map1={97:'A'}
'a'.translate(map1)--->
S.format 字符串格式化方法
Python的类型与运算-文件(一)
• 文件的简介
• 文件的访问
• 文件的使用
• 文件的读写
• 文件与其它类型
• 文件中会使用到的其它类型
文件对象在Python里是可以作为OS(操作系统)上的文件的链接。
文件对象的使用方式与之前的字符串、列表等对象不同,它是对文件的输入、输出进行控制。
在Python里会用open函数(方法)来进行文件的控制。
在Python里使用open函数(方法)可以访问文件。
基本格式是:open(<file_address>[, access_mode])
这里的文件地址是文本形式,在Windows里,由于文件地址是使用反斜杠(\),
所以,可以使用r来对反斜杠不进行转译。
• 迭代器是最好的读行工具 - 比如: 使用for循环
• 内容是字符串,不是对象 - 文件读取完之后,内容是以字符串的形式读取的。
• close是通常选项 - 当你使用完文件之后,使用close()方法来关闭文件关联。
• 文件是缓冲的而且是可查找的 - flush或close()方法可以直接存储缓存里的内容,
seek方法可以转到指定位置。
writelines是把列表里的元素一个一个输入进去。当然,元素里的字符串最后没有换行,最终结果也不是换行的。
Python的优点:1.语法简洁 2.高可读性,开发效率高 3.可移植性 4.支持自行开发或第三方模块 5.可调用c,c++库,可与Java组建
二进制数表示为0b或者0B开头;八进制数表示为0o或者0O开头;十六进制数表示为:0x或者0X开头
bin(x):十进制转二进制
oct(x):十进制转八进制
hex(x):
try/except
捕捉由Python或你引起的异常并恢复
try/finally
无论异常是否发生,执行清理行为
raise
手动在代码中触发异常
assert
有条件地在程序代码中触发异常
with/as
实现环境管理
运算符应用:只能用于整数的运算符:位运算符:&,|,^.~,<<,>>
结果可能不是预期的运算符:逻辑运算符:and,or,not (2 and 3,2 or 3)
身份运算符:and,or,not(float(Fraction(4,5))is 0.8)False
比较运算符连续性:x<y>z False 相当于x<y and y>z
round(x):四舍五入
ceil(x):取最小的大于该值的最大整数
floor(x):取最大的大于该值的最小整数
Python的类型与运算-文件(二)
之前看到的w模式,当文件是已有文件,就会删除里面的所有内容后再写入的。当我们需要在最后添加,而不是删除原有内容时,可以使用a模式。
r+模式,只能打开已有文件,打开时保留原有文件,对文件可读,可写,也可更改原有内容。打开时指针在文件最前面。
w+模式,打开时没有相应文件,会创建;有相应文件,会删除里面所有内容后打开。之后的操作与r+完全相同。
a+模式,可以打开原有文件,也可创建新的文件,打开时指针为文件的最后位置。指针可以放到任何位置来读内容,但写入时,指针默认会移动到最后,然后写入。
任务1:Python使用入门
一、特点
二、使用场景
三、环境搭建
四、运行程序
五、Python解释器
解释器:一种让其他程序运行的程序。是代码与计算机硬件之间的软件逻辑层。shell就是我们常见的结识器
Python可以认为是一款编程语言,我们安装的是一个名为Python的解释器
六、程序执行
注意:交互模式下
七、可执行脚本
八、基础语法
Python使用入门
1.Python简介
(1)版本介绍:2.X,3.X。
3.X的特点是规范化了代码,但不向下兼容。
2.7可以向下支持之前的版本
(2)Python的用途,优缺点,使用场景
特点:软件质量高、具有简洁的语法,无须编译,开发效率高、可移植性好、标准库支持一系列应用级的编程任务。
缺点:速度慢
使用场景:系统编程,用户图形接口,Internet脚本,数据库编程等。
2.环境搭建
(1)下载
(2)安装
Windows 和 MacOS安装方式是可视化界面。
Unix/Linux是使用源码方式安装。
(3)环境变量设置
3.运行程序
• Python解释器简介
• 程序执行
• 交互模式与编写代码
• 可执行脚本
• 基础语法
解释器是一种让其他程序执行起来的程序。
Python会把源码编译成所谓字节码的形式。
.pyc就是编译过的.py源代码。
Python虚拟机(PVM)
标识符:标识符有字母、数字、下划线组成,但不能以数字开头。
引号:在Python里引号可以使用单引号(')双引号(")。用法一样。
三引号( " " ")可以使用段落。
Python注释:可以使用#来进行注释
Python的类型与运算-文件(三)
• 读取特定编码文本数据
• 打印输出至文件
• 文件不存在时写入
• 读写压缩文件
• 获取文件夹中的文件列表
Python在使用open读取数据的时候,是使用系统默认的编码。
在Windows平台下,进入DOS窗口,输入:chcp可以得到操作系统的代码页信息,你可以从控制面板的语言选项中查看代码页对应的详细的字符集信息。
变量没有类型,对象有类型
分数 Fraction
无穷大 inf
非数字 nan
Python的类型与运算—数字
1.数字类型
整数:
2.X中分为一般整数和长整数
一般整数是64bit的。
3.X中只有一种整数。
在Python里整数可以输入或输出成二进制,八进制或者十六进制数。
二进制数表示方式为0b或者0B开头。
八进制数表述方式为0o或者0O开头。
十六进制数表述方式为0x或者0X开头。
浮点数:
在Python里浮点数是用64bit来存储的。精度大约能达到17位。
复数:
在Python里复数的现实方式跟现实稍微有点区别:
现实:3+5i - 在这里3是实数部分,5i为虚数部分
Python:3+5j - 现实里的i换成“j”或者“J”来表示。
在Python里还有一种表示方式是函数格式:complex(3,5)
2.运算符
Python的类型与运算-文件(四)
因为w方式对以存在的文件会清楚后写入,但有的时候我们不想覆盖原有的
文件,这个时候我们可以使用如下方式:
>>> if not os.path.exists('somefile'):
... with open('somefile', 'wt') as f:
... f.write('Hello\n')
... else:
... print('File already exists!')
...
>>> if not os.path.exists('somefile'):
... with open('somefile', 'wt') as f:
... f.write('Hello\n')
... else:
... print('File already exists!')
...
File already exists!
这里我们也有别的方法可以用来判断是否文件存在,不存在时写入(此方法
紧在Python3.x可以使用):
>>> with open('somefile2','xt') as f:
... f.write('Hello\n')
...
6 >>> with open('somefile2','xt') as f:
... f.write('Hello\n')
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
FileExistsError: [Errno 17] File exists: 'somefile2'
当我们需要判断是文件,还是目录的时候,可以引用os.path模块。