python 基础 Number String List Tuple Diction nary

"""数字类型常用函数"""
#print(pow(2,3,8)) #2的立方 对8取余
#print(round(4.123456,5))  #返回浮点数4.123456的四舍五入 ,保留五位小数
# import math
# print(math.ceil(4.000001))  # 5   向上取整
# print(math.floor(4.021544))  # 4  向下取整 舍弃小数部分

"""随机模块"""
#import random #导入随机模块
#mynum = ['1',3,3]
#print(random.choice(mynum))  # choice的对象可以是元组 列表 或字符串
#print(random.choices(mynum,k=1)) #以列表的形式返回一个对象的多个随机项 默认为1

#print(random.randrange(0,10))  #返回指定递增基数集合中的一个随机项  返回0到9之间一个随机数 递增基数默认为1
#print(random.randint(0,5)) #返回指定递增基数集合中的一个随机项,范围0到5
#mylist = [1,2,3]
#random.shuffle(mylist) #只能用于列表
#print(mylist)


"""字符串常用函数"""

#mystr = '12335'
#print(mystr.isnumeric())  # 判断字符串是否全由数字组成,是返回True  不是返回False


#  str.join(seq)  # seq可以是字符串 列表 元组 字典 集合 但列表元组字典集合的元素必须是字符串
#mystr = 'abcdef'
#print('-'.join(mystr))  #将字符串以 '-' 作为分隔符  组成一个新的字符串

#mylist = ['1','2']
#print('-'.join(mylist)) # 将列表中的字符串元素以'-' 为连接符 组成一个字符串

#mytuple = ('1','2')
#print('-'.join(mytuple))   # 将元组中的字符串元素以'-' 为连接符 组成一个字符串

#myset = {'1','2'}
#print('-'.join(mydict))  # 将集合 中的字符串元素以'-' 为连接符 组成一个随可变符串

#mydict = {'a':'1','b':'2','c':'3'}
#print('-'.join(mydict)) #将字典中的键以'-'作为链接符组成一个字符串


### str.ljust(width,[,filchar]) str.rjust(width,[,filchar]) str.center(width,[,filchar])

# mystr = 'abcdef'
# print(mystr.ljust(10,'2'))
# print(mystr.rjust(10,'2'))
# print(mystr.center(11,'2'))

#mystr = 'aabbccdd'
# print(mystr.lstrip('a'))
# print(mystr.rstrip('d'))
#print(mystr.strip('a')) # 去除两侧指定字符 默认去除空白字符

#print(chr(65))  #将数字转化为对应字符
#print(ord('a'))  #将字符a转化为对应数字

#mystr = 'aaabbbccc'
#print(mystr.replace('a','3'))  # 可指定替换个数 默认替换全部

#mystr = 'aaabbbcccaaa'  # 返回找到的索引值
#print(mystr.find('a'))
#print(mystr.find('a',3,5))  #指定查找位置
#print(mystr.rfind('a',))  # 11

#mystr = 'aabbcc'
#print(mystr.split('b')) # 返回一个列表
#print(mystr.split('b')[0])  # 'aa'
# mystr = """This is my
# house from waide
# """
# print(mystr)
# """This is my
# house from waide"""
# print(mystr.splitlines(True))  #['This is my\n', 'house from waide']  #返回一个列表,将换行符作为分割
# 参数给True  将换行符一起返回,不给则新字符串没有换行符


# 大小写转换
#str = 'aAbBcC'
#print(str.upper())
#print(str.lower())
#print(str.swapcase())


###字符串取值
#mystr = 'abcdef'
# print(mystr[0]) #取第一个值
#print(mystr[4]) #e #正着取从0开始
#print(mystr[-4]) #c  #倒着取从1开始
#print(mystr[0:]) #取所有
#print(mystr[1:3]) #取第一和第二个值  不包含尾下标 bc
#print(mystr[2::-1]) #从尾下标2开始倒着取值  cba
#print(mystr[4:1:-1])  #从尾下标4开始 倒着取到尾下标2  edc
#print(mystr[-1:-4:-1]) #fed




"""列表"""

#mylist = ['a','b','c','v','d']
#print(mylist[-2:-4:-1]) #['v', 'c']
#print(mylist[3:1:-1]) #['v', 'c']
#print(mylist[2:4:-1])  # []
#print(mylist[4:2:-1]) #['d', 'v'] #倒着取头下标要大于尾下标
#print(mylist[2::-1]) #['c', 'b', 'a']

###  浅拷贝与深拷贝
import copy
#mylist = [['tfz','微信','xxxxxx'],['qq','124','566']]

#mylist1  = mylist.copy()
#mylist2 = copy.deepcopy(mylist)
#mylist[0][2] = '182xxxxxxx'
#mylist.append('新增')
#print(mylist1)
#print(mylist2)
#print(mylist)
#print(mylist is mylist1)  # False
#print(mylist is mylist2)  #False   说明拷贝并不是引用自同一个对象

"""元组"""
#mytuple = ()
#print(type(mytuple))# <class 'tuple'>


"""集合"""
#myset = set()  # 空集合
#print(myset)
#print(type(myset))
#set1 = {1,2,3,4,5}
#set2 = {7,2,36,8,3,4}
#print(set1 - set2)  # 返回set2中没有的值  {1,5}
#print(set1 | set2)  # {1, 2, 3, 4, 5, 36, 7, 8} 并集
#print(set1&set2)  # {2,3,4} 交集
#print(set1^set2) # {1, 36, 5, 7, 8}  去除交集后的元素

##去重复
# mylist = [1,2,3,4,2,3,1]
# a= set(mylist)
# print(a)
# print(type(a))  #
# mylist = list(set(mylist)) #去重复之后在变回列表

"""字典"""
# mydict = {} #空字典
#myDict = {'name': 'tfz', 'age': '25', 'sex': "男"}
# 取值
#print(myDict['name']) # 'tfz'
#print(myDict['职业']) # KeyError: '职业'  没有这个键  报错
#print(myDict.get('name'))
#print(myDict.get('职业',2)) #不存在 返回2  默认返回None
# 改值
#myDict['name'] = 'cc'
#print(myDict)

##字典常用函数
# myDict.items() # 返回一个可迭代序列
# mylist = []
# for i in myDict.items():
#     mylist.append(i)
# print(mylist)  # [('name', 'tfz'), ('age', '25'), ('sex', '男')]
# print(mylist[0]) #('name', 'tfz')
# print(mylist[0][0]) # 'name


#  获取字典的键
# myDict.keys()
# mylist = []
# for i in myDict.keys():
#     mylist.append(i)
# print(mylist)  ['name', 'age', 'sex']

# 获取字典的值
# myDict.values()  #
# mylist = []
# for i in myDict.values():
#     mylist.append(i)
# print(mylist)  #['tfz', '25', '男']


# myDict1 = {'heigh':'175'}
#
# myDict.update(myDict1)  #将myDict1 加到myDict里
# print(myDict)
# myDict.pop('age')  # 将age对应的值返回调用处
# print(myDict)  #{'name': 'tfz', 'sex': '男'}
#print(myDict.popitem())  #将最后一个键值对移除 并返回调用处


"""装饰器"""
# import functools
# def demo(arg):
#     @functools.wraps(arg)
#     def inner(age):
#         print('打印我')
#         str = ''
#         if age<=10:
#             str = '1'
#         if age<=20:
#             str = '2'
#         if age <=30:
#             str = '3'
#         else:
#             str = '4'
#         return arg(str)
#     print(arg is inner) # False
#     return inner
# # @demo
# def func(x):
#     print('输出{}'.format(x))
# func = demo(func)
#func(26)


"""列表推导式"""
#myDcit = {'name':'tfz','age':'25','sex':'man'}
#
#mylist =[x for x in myDcit.items()]
#print(mylist)  #[('name', 'tfz'), ('age', '25'), ('sex', 'man')]

#mylist = [x for x in range(3) for y in range(4)]
#print(mylist)#[0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2]

###字典推导式
# myDcit = {'name': 'tfz', 'age': '25', 'sex': 'man'}
#
# myDcit1 = {k:v for k, v in [('a', '1'), ('b', '2')]}
# print(myDcit1)  # {'a': '1', 'b': '2'}

'''生成器'''
# def func():
#     print(1)
#     yield 'a'
#     print(2)
#     yield 'b'
# a = func()
# print(next(a))
# print(next(a))
# print(next(a))
#  下面的结果和上面不同
# print(next(func()))
# print(next(func()))
# print(next(func()))
### 上面的结果一直输出 1  a

# def func():
#     print('a')
#     return 1
#
# b = func() #a
# #func()  #a
# print(b)
"""将函数调用赋值给一个变量的时候  该变量的值是函数的返回值 没有返回值则为 None"""

""" OS模块"""

import os
#print(os.name) # nt
#print(os.listdir()) # 以列表的形式返回当前目录的所有文件和目录
#path = r'E:\Python1804\201804/'
#print(os.listdir(path)) # 可指定路径

#print(os.path.isfile(path))  # False  不是文件
#print(os.path.isdir(path))  # True  是目录
#print(os.path.isfile(path='./1.py'))  # True  #是文件

#size = os.path.getsize('./1.py')  # 获取文件大小 返回字节数
#print(size)

#a = os.environ   # 获取当前所有的环境变量
#print(a)
#mylist = [x for x in os.environ.items()]
#print(mylist)


#a = os.environ.get(path) #获取指定路径的环境变量
#print(a)

#print(os.curdir)  # 获取当前工作目录
#print(os.getcwd())  # 获取当前工作目录的绝对路径C:\Users\Administrator\PycharmProjects\201805\20180510复习
# a = os.path.join(path, '1.py')  # 拼凑路径
# print(a)


path = r'C:/Users/Administrator/PycharmProjects/201805/20180510复习/1.py'
# print(os.path.basename(path))  # 获取文件名
# print(os.path.dirname(path))  # 获取文件的目录名
#print(os.path.splitext(path)) # 将文件扩展名与文件名分开 可通过此获取文件扩展名
# ('C:/Users/Administrator/PycharmProjects/201805/20180510复习/1', '.py')
# print(os.path.splitext(path)[1])#  获取文件扩展名

# print(os.path.exists(path))  # True  判断文件是否存在

# os.mkdir('./mu') # 在当前目录创建目录  可指定路径去创建 文件存在时不能创建
# os.rmdir('./mu')  # 删除目录 必须是空目录

#print(os.path.abspath(path))  # 获取绝对路径
#print(os.path.split(path)) #('C:/Users/Administrator/PycharmProjects/201805/20180510复习', '1.py')
#上面的将文件名和目录名分开


"""将列表当作堆栈使用"""
stack = []
# 先进
# stack.append('a')
# stack.append('b')
# stack.append('c')
# stack.append('d')
# #print(stack)
# #后出
# print(stack.pop())  #d
# print(stack.pop())  #c
# print(stack.pop())  #b
# print(stack.pop())  #a

# from collections import deque
# mylist = deque()
# #先进
# mylist.append('a')
# mylist.append('b')
# mylist.append('c')
# mylist.append('d')
# #后出
# print(mylist.popleft())
# print(mylist.popleft())
# print(mylist.popleft())
# print(mylist.popleft())






import re

line = "g  Cats are smarter than dogs"

matchObj = re.match(r'(.*) are (.*?) .*', line, re.M | re.I)

if matchObj:
    print("matchObj.group() : ", matchObj.group())
    print("matchObj.group(1) : ", matchObj.group(1, 2))
    print("matchObj.group(2) : ", matchObj.group(2))
    print("matchObj.groups() : ", matchObj.groups())


else:
    print( "No match!!")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值