前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 学习笔记(4.19更)

Python 学习笔记(4.19更)

作者头像
回天
发布2023-04-25 09:35:49
2900
发布2023-04-25 09:35:49
举报
文章被收录于专栏:Ga1@xy's W0r1d
16进制转2进制
代码语言:javascript
复制
> bin(0x5)[2:]
'101'

> bin(0x5)[2:].zfill(4)
'0101'
倒序输出
代码语言:javascript
复制
> bin(0x5)[2:].zfill(4)
'0101'

> bin(0x5)[2:].zfill(4)[::-1]
'1010'
eval() 函数
代码语言:javascript
复制
###eval()函数用来执行一个字符串表达式,并返回表达式的值
> x=7
> eval('x*3')
21

> a='abc'
> for i in range(len(a)):
    print eval('0x'+a[i])
    
10
11
12
gmpy2 求整数解
代码语言:javascript
复制
# 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库
  • 数字型(不论是十六进制还是十进制)与字符串之间的转换:
代码语言:javascript
复制
> import libnum
> s='flag{2333}'
> print libnum.s2n(s)
483680648326664261153661

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

> s='Lyric'
> print libnum.s2b(s)
0100110001111001011100100110100101100011
binascii模块
  • binascii可用来进行进制和字符串之间的转换
代码语言:javascript
复制
> 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方法 :每次读取一行内容,返回一个字符串对象
代码语言:javascript
复制
> f=open('233.txt')
> while 1:
    a=f.readline()
    if a:
        print a
    else:
        break
233

233

233

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

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

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

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

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

代码语言:javascript
复制
    ① s.strip(rm)    删除s字符串中开头、结尾处,位于 rm删除序列的字符
    ② s.lstrip(rm)    删除s字符串中开头处,位于 rm删除序列的字符
    ③ s.rstrip(rm)   删除s字符串中结尾处,位于 rm删除序列的字符

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

  • write() 方法:
代码语言:javascript
复制
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:结束索引位置,默认为字符串长度
  • 实例
代码语言:javascript
复制
> 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

字典返回值

代码语言:javascript
复制
> 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
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-03-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 16进制转2进制
  • 倒序输出
  • eval() 函数
  • gmpy2 求整数解
  • libnum库
  • binascii模块
  • python文件读写
  • index()方法
  • 字典返回值
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档