python学习笔记

偏函数(一)

print(int('12345'))  # 将字符串按十进制转换为整数
print('转换为八进制:', int('1234', base = 8))
print('转换为十六进制:', int('1234', 16))

# 将1010按二进制转换为整数
print(int('1010', base = 2))
print(int('101010', base = 2))
print(int('10101100', base = 2))
# 定义函数
def new_int(s):
    return int(s, base = 2)
print(new_int('1010'))

from functools import partial
new_int = partial(int, base = 2)
print(new_int('1010'))


12345
转换为八进制: 668
转换为十六进制: 4660
10
42
172
10
10
'''
. 匹配任意一个字符(除了\n)
[] 匹配列表中的字符
\w 匹配字母 数字 下划线 即a-z  A-Z 0-9
\W 匹配不是字母数字下划线
\s 匹配空白字符,即空格(\n \t)
\S 匹配不是空白的字符
\d 匹配数字 即0-9
\D 匹配非数字的字符
'''

import re
print('----------.的使用----------')
s = 'a'
s = 'A'
s = '8'
s = '_'
pattern = '.'
o = re.match(pattern, s)
print(o)
print('----------\d的使用----------')
s = '0'
s = '6'
s = '8'
s = '_'
pattern = '.'
o = re.match(pattern, s)
print(o)
# match方法的使用
import re
s = 'hello python'
pattern = 'hello'
o = re.match(pattern, s)
print(o)
print(dir(o))
print(o.group())
print(o.span())
print(o.start())

print('flags参数的使用')
s = 'hello python'
pattern = 'Hello'
o = re.match(pattern, s, flags = re.I)
print(o)
print(o.group())

 

# 重复数量符号
'''
* : 0次或多次
? : 0次或1次
+ : 至少1次
{m} :  重复m次
{m, n} : 重复m到n次
{m} : 至少重复m次
'''
import re
print('-------*的使用---------')
pattern = '\d*'
s = '123qwe'
s = '1qwe'
s = '123456qwe'
s = 'qwe'
o = re.match(pattern, s)
print(o)
print('-------+的使用---------')
pattern = '\d+'
s = '123qwe'
s = '1qwe'
s = '123456qwe'
s = 'qwe'
o = re.match(pattern, s)
print(o)
print('--------{m}-------')
pattern = '\d{2}'
s = '123qwe'
o = re.match(pattern, s)
print(o)
print('--------{m, n}-------')
pattern = '\d{2, 5}'
s = '123345qwe'
o = re.match(pattern, s)
print(o)
print('--------{m,}-------')
pattern = '\d{2,}'
s = '123qwe'
o = re.match(pattern, s)
print(o)


-------*的使用---------
<re.Match object; span=(0, 0), match=''>
-------+的使用---------
None
--------{m}-------
<re.Match object; span=(0, 2), match='12'>
--------{m, n}-------
None
--------{m,}-------
<re.Match object; span=(0, 3), match='123'>
# 重复数量限定符的使用
import re
# 匹配出一个字符串首字母为大写字符,后边都是小写字符,这些小写字母可有可无
pattern = '[A-Z][a-z]*'
s = 'Hello'
s = 'HEllo'
o = re.match(pattern, s)
print(o)

print('--------案例2---------')
# 匹配出有效的变量名(字母,数字,下划线,而且数字不能开头
pattern = '[a-zA-Z][a-zA-Z0-9]*'
s = 'userName'
o = re.match(pattern, s)
print(o)

print('----------案例3-----------')
# 匹配出1-99之间的数字
pattern = '[1-9]\d?'
s = '2'
o = re.match(pattern, s)
print(o)
print('----------案例4-----------')
# 匹配出一个随机密码8-20位以内(大写字母 小写字母 下划线 数字)
pattern = '\w{8,20}'
s = '123456789'
o = re.match(pattern, s)
print(o)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值