大一数据科学与大数据技术专业新生在校学习记录(一)

本文记录了作者在寒假期间继续学习Python和Linux,重点介绍了字符串的拼接、去重方法,以及正则表达式的match、search和findall函数。同时概述了Linux中的用户与用户组概念以及文件权限管理,包括chgrp、chown和chmod命令的使用。
摘要由CSDN通过智能技术生成

寒假很快就过去了,作者明天就将正式上课,今天作者为了调整状态继续寒假未学习完成的python和Linux的学习,并将其合二为一,为此作者新开一个系列即在校学习记录,即记录在校学习日常,对一天的学习进行复盘

python板块

将未完成的字符串操作系列补全

字符串的拼接操作:常见的字符串的拼接有三种方法;分别为使用+;使用函数join;使用格式化字符串进行拼接,其中字符串的格式化为所有format等方法详情请见:大一新生寒假自学python(七);join函数对字符串进行拼接时也可以指定某一字符对字符串进行拼接

s1='hello'
s2='world'
#(1)使用+进行拼接
print(s1+s2)

#使用字符串的join方法
print(''.join([s1,s2]))
print('*'.join(['hello','world','python']))
print('你好'.join(['hello','world','python']))

#直接进行拼接
print('hello''world')

#使用格式化字符串进行拼接
print('%s%s'%(s1,s2))
print(f'{s1}{s2}')
print('{0}{1}'.format(s1,s2))

字符串的去重操作:字符串的去重即对字符串自身含有的元素进行去重,常见方法有使用一空字符串与需要去重的字符串使用not in进行比对;使用索引加not in进行比对;使用集合加集合排列进行排序因为集合具有无序性因此进行去重操作后还要进行一次排序

s='helloolleh'
#(1)字符串情节及not in
new_s=''
for item in s:
    if item not in new_s:
        new_s+=item
print(new_s)


#(2)索引加not in
new_s2=('')
for i in range(len(s)):
    if s[i] not in new_s2:
        new_s2+=s[i]
print(new_s2)

#(3)痛过集合去重加列表排序
new_s3=set(s)
lst=list(new_s3)
print(lst)
lst.sort(key=s.index)
print(''.join(lst))

正则表达式:python中的内置板块即re模块用于实现python中的正则表达式操作;同时需要搭配元字符使用常见的元字符如下图

 match函数对字符串开始位置进行匹配如果成功则为match对象,否则输出None且直接输出结果为匹配的索引和符合的对象;在其后添加不同的后缀会输出不同的结果

import re#导入
pattern='\d\.\d+' #限定符,\d0-9数字出现1次或多次
s='study Python 3.11 every day'#待匹配字符串
match=re.match(pattern,s,re.I)
print(match)#None
s2='3.11 i learn everyday'
match2=re.match(pattern,s2,)
print(match2)#<re.Match object; span=(0, 4), match='3.11'>

print('匹配值起始位置:',match2.start())
print('匹配值结束位置:',match2.end())
print('匹配区间的位置元素:',match2.span())
print('待匹配的字符串:',match2.string)
print('匹配的数据:',match2.group())

 search函数与match函数类似不同处在与search函数是在整个字符串中匹配,如果匹配成功也为match对象否则为None

import  re
pattern='\d\.\d+'
s='I love studying python 3.1 everyday 2.7'
match=re.search(pattern,s)
print(match)

s2='4.10python'
s3='i study everyday'
match2=re.search(pattern,s2)
match3=re.search(pattern,s3)
print(match2)
print(match3)


print(match.group())
print(match2.group())

findall函数与search函数作用相同唯一不同点为findall函数输出结果为列表类型

import re
pattern='\d\.\d+'
s='I love studying python 3.1 everyday 2.7'
s2='4.10python'
s3='i study everyday'
lst=re.findall(pattern,s)
lst2=re.findall(pattern,s2)
lst3=re.findall(pattern,s3)

print(lst)
print(lst2)
print(lst3)

sub函数用于对字符串中的指定字符串进行替换,可对一些敏感词进行屏蔽;split函数可指定某字符对字符串进行分割

import re
pattern='黑客|破解|反爬'
s='我想学习python,破解一些视频,python可以实现无底线反爬吗?'
new_s=re.sub(pattern,'xxx',s)
print(new_s)
print(re.sub(pattern,'xxx',s))

s2='https://www.baidu.com/s?wd=wxb&rsv_spt=1'
pattern2=('[?|&]')
lst=re.split(pattern2,s2)
print(lst)

字符串章节总结:

 

 Linux部分

用户与用户组:其二者的关系可以理解为假设有一家人为老王家,家里有三个人分别为老王,二王,小王,用户的意义为三个人分别拥有自己的房间,彼此可以进入彼此的房间,但是不能随便动别人的抽屉,用户组的意义为三个人共同拥有客厅客厅里的东西三个人可以随意使用;其他人的概念类似于有另一家人和王家没有关系除非王家认识他们否则永远不能进入王家,而这一家的一个人老王认识那么这个人就能进入老王家这个人就是所谓的其他人(other);此外还有一个bug的存在就是“万能的天神”可以去他任意想去的地方这个人在Linux系统中的代号就是root

Linux文件权限

首先更换身份,然后使用ls -al,显示文件权限,会发现下面的几个东西

-rw-r--r--.(文件类型权限)1(链接数)root(文件所属用户)1864(文件大小)may(修改时间)initial-setup-ks.cfg(文件名)

其中文件三个为一组分别为文件拥有者权限,文件所属用户权限,其他人权限;r为可读,w为可写,x为可执行没有权限为“-”

题外话如果文件名前多一个点(.)其为隐藏文件,可以使用ls和ls -a命令感受一些什么是隐藏文件

修改文件属性与权限

chgrp:修改文件所属用户组

chown:修改文件拥有者

chmod:修改文件权限

其中chmod有两种方法对权限进行更改分别为数字类型,符号类型;数字类型rwx分别用4,2,1代表,三人拥有的权限为三个分别相加得数如仨人获得所有权限为777;符号类型:使用u,g,o,a代表三种身份user,group,other,all;+(加入),-(移除),=(设置)

  • 30
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值