menu Ga1@xy's Wor1d
python学习笔记(4.19更)
359 浏览 | 2020-03-26 | 阅读时间: 约 2 分钟 | 分类: python | 标签: python
请注意,本文编写于 544 天前,最后修改于 519 天前,其中某些信息可能已经过时。

16进制转2进制

> bin(0x5)[2:]
'101'

> bin(0x5)[2:].zfill(4)
'0101'

倒序输出

> bin(0x5)[2:].zfill(4)
'0101'

> bin(0x5)[2:].zfill(4)[::-1]
'1010'

eval() 函数

###eval()函数用来执行一个字符串表达式,并返回表达式的值
> x=7
> eval('x*3')
21

> a='abc'
> for i in range(len(a)):
    print eval('0x'+a[i])
    
10
11
12

gmpy2 求整数解

# gmpy2.iroot(a,b) a开b次方,返回一个xy元组,y=1的话结果是整数
> import gmpy2
> x=18
> y=9
> i=0
> while 1:
    if(gmpy2.iroot(x+i*y,2)[1]==1):
        print gmpy2.iroot(x+i*y,2)
        break
    i=i+1
    
(mpz(6), True)

libnum库

  • 数字型(不论是十六进制还是十进制)与字符串之间的转换:
> import libnum
> s='flag{2333}'
> print libnum.s2n(s)
483680648326664261153661

> n=483680648326664261153661
> print libnum.n2s(n)
flag{2333}
  • 二进制与字符串之间的转换:
> import libnum
> b='0100110001111001011100100110100101100011'
> print libnum.b2s(b)
Lyric

> s='Lyric'
> print libnum.s2b(s)
0100110001111001011100100110100101100011

binascii模块

  • binascii可用来进行进制和字符串之间的转换
> import binascii
> s='abcde'
> h=binascii.b2a_hex(s)   # 字符串转16进制 '6162636465'
> h=binascii.hexlify(s)   # 作用同上

> s=binascii.a2b_hex(h)   # 16进制转字符串 'abcde'
> s=binascii.unhexlify(h) # 作用同上

python文件读写

  • readline方法 :每次读取一行内容,返回一个字符串对象
> f=open('233.txt')
> while 1:
    a=f.readline()
    if a:
        print a
    else:
        break
233

233

233

​ 由于文档中换行,在读取是会读取换行符'\n',所以显示出来会有一行空行,每隔一行显示内容

  • readlines方法 : 一次性读取整个文件,并将每行内容返回列表中一个元素
> f=open('233.txt')
> a=f.readlines()
> print a
['233\n', '233\n', '233\n']

​ 由于文档中换行,所以会读取换行符'\n',下述去掉换行符的方法

  • strip() 函数:可以去掉每行结束的'\n'
> f=open('233.txt')
> while 1:
    a=f.readline().strip()
    if a:
        print a
    else:
        break
233
233
233
for line in file.readlines():
    line=line.strip('\n')

声明:s为字符串,rm为要删除的字符序列

    ① s.strip(rm)    删除s字符串中开头、结尾处,位于 rm删除序列的字符
    ② s.lstrip(rm)    删除s字符串中开头处,位于 rm删除序列的字符
    ③ s.rstrip(rm)   删除s字符串中结尾处,位于 rm删除序列的字符

注意:当rm为空时,默认删除空白符(包括'n', 'r', 't', ' ')

  • write() 方法:
f=open('132','w')
f.write('123')
f.write('\n')    # 换行写入文件
f.close()

index()方法

  • 描述:用于检测字符串中子字符串位置,若能找到则返回下标,找不到则返回错误信息
  • 语法str.index(str, beg=0, end=len(string))

    • str:指定检索的字符串
    • beg:开始索引位置,默认为0
    • end:结束索引位置,默认为字符串长度
  • 实例
> str1 = "this is string example....wow!!!"
> str2 = "exam"
> print str1.index(str2)
15
> print str1.index(str2, 10)
15
> print str1.index(str2, 40)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: substring not found

字典返回值

> dict = {1:'a', 2:'b'}
> print list(dict.keys()) # key 列表
[1,2]
> print list(dict.values()).index('a') # 对应的序号下标
0
> print list(dict.keys())[list(dict.values()).index('a')] # 对应的列表值
1

全部评论

info 评论功能已经关闭了呐!