python第三周

一、字符串的

name = "My \tname is {name}  and {age}"

print(name.capitalize())    #首字母大小 capita首都的意思print(name.count("r"))      #count 查找字符串中某个字符的数量print(name.casefold())      #没什么用处print(name.center(50,"-"))  #在字符未达到所要求的数量后,用后面的字符补全  内容在中间。print(name.endswith("on"))  #判断结尾是否是该字符,可过滤如判断该邮件是不是以.com或.cn为结尾。print(name.expandtabs(tabsize=10))  #  字符串中需要加 \t tabsize=10 代表有10个空格。print(name[name.find("is"):])   #在name值字符串中找到is字眼,并对该字符前的进行切片。:号后输入下字符下位坐标可以截止当前,否则全取print(name.format(name="Byron",age=23))print(name.format_map( {"name":"byron","age":20} )) #此处在字典里会细讲一般不用此种表达式。print("a12".isalnum())  #判断是否是阿拉伯数字或字母,可以是汉字,如果是 ture 否则Falseprint("awerert忘情号".isalpha())   #判断为是否是全英文,包含文字符,数字则Falseprint("13".isdecimal())    #decimal英文意思是小数,但是实际非小数,只能是数字整数和isdigit作作类似。print("我们a".isidentifier())   #是否包含数字字符,否则为False,可以含中文和英文字符print("A".islower())  #判断字符是否是小字,否则显示Falseprint("123".isnumeric())  #判断是否为数字和isdigit像似但一般用isdigit即可。print(" ".isspace())    #判断是不是空格。print("My Name Is ".istitle()) #判断第一个字母是否是大小。print("my name is ".isprintable())  #tty file,drivefileprint("MY".isupper()) #判断字母是不是大写,如果是大写就是Trueprint("+".join(["1","2","3"]))print(name.ljust(50,"!"))   #右边字符补偿。print(name.rjust(50,"$"))   #左边字符补偿。print("BYron".lower())      #大小改小写。print("bryon".upper())      #小写改大写。print("\nByron".lstrip())   #取消左边换行。print("Byron\n".rstrip())   #取消右边换行。print("  Byron  ".strip())    #取消左边和右边的换行和空格。s = str.maketrans("abcdefghlk",‘1234567890‘)print("Byron   he".translate(s))

print("Byron He".replace("e","H"))  #替换的意思。print("Byron He".rfind("H"))    #从左往右查找,查找到最后一位取下标。print("1+2+3+4".split("+"))    #把数字提出来,字符。print("1+2\n+3+4".splitlines())  #linux \n  windows \win\n 换行的意思!print("Byron HE".swapcase())print("Byron He".title())print("Byron He".zfill(50)) #十六进制的时候可以补全。二、字典的操作:

字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容。


语法:



info = {
    ‘stu1101‘: "TengLan Wu",
    ‘stu1102‘: "LongZe Luola",
    ‘stu1103‘: "XiaoZe Maliya",
}

字典的特性:


  • dict是无序的
  • key必须是唯一的,so 天生去重

增加:info["stu1104"] = "苍井空"

修改:info[‘stu1101‘] = "武藤兰"  #如果存在测修改,如果不存在则增加。

删除:info.pop("stu1101") #标准删除姿势    del info[‘stu1103‘] #换个姿势删除

查找:"stu1102" in info #标准用法

info["stu1102"] #如果字典里不存在会报错!
info.get("stu1102")  #获取  通过此方法如果字典内不存在,则返回None,不会报错

多级字典嵌套及操作:

#values
>>> info.values()
dict_values([‘LongZe Luola‘, ‘XiaoZe Maliya‘])

#keys
>>> info.keys()
dict_keys([‘stu1102‘, ‘stu1103‘])

#setdefault
>>> info.setdefault("stu1106","Alex")
‘Alex‘
>>> info
{‘stu1102‘: ‘LongZe Luola‘, ‘stu1103‘: ‘XiaoZe Maliya‘, ‘stu1106‘: ‘Alex‘}
>>> info.setdefault("stu1102","龙泽萝拉")
‘LongZe Luola‘
>>> info
{‘stu1102‘: ‘LongZe Luola‘, ‘stu1103‘: ‘XiaoZe Maliya‘, ‘stu1106‘: ‘Alex‘}

#update
>>> info
{‘stu1102‘: ‘LongZe Luola‘, ‘stu1103‘: ‘XiaoZe Maliya‘, ‘stu1106‘: ‘Alex‘}
>>> b = {1:2,3:4, "stu1102":"龙泽萝拉"}
>>> info.update(b)
>>> info
{‘stu1102‘: ‘龙泽萝拉‘, 1: 2, 3: 4, ‘stu1103‘: ‘XiaoZe Maliya‘, ‘stu1106‘: ‘Alex‘}

#items
info.items()
dict_items([(‘stu1102‘, ‘龙泽萝拉‘), (1, 2), (3, 4), (‘stu1103‘, ‘XiaoZe Maliya‘), (‘stu1106‘, ‘Alex‘)])

#通过一个列表生成默认dict,有个没办法解释的坑,少用吧这个
>>> dict.fromkeys([1,2,3],‘testd‘)
{1: ‘testd‘, 2: ‘testd‘, 3: ‘testd‘}

循环dict:

#方法1
for key in info:
    print(key,info[key])

#方法2
for k,v in info.items(): #会先把dict转成list,数据里大时莫用
    print(k,v)

三、集合操作

集合是无序的!

  list_1 = [1,2,5,6,7,8,9]

  list_1 = set(list1)

  list_2 = set[0,3,4,6,8,10]

交集:#intersection (交叉) &

  (list_1.intersection(list_2))

并集:union  (合并)  | 管道符

  (list_1.union(list_2))

差集: difference    - 减号

  (list_1.difference(list_2))   求1里面有的2里面没有的!

子集:issubset

父集:issuperset

对称差集:symmetric_difference (对称)取互相没有的给取出。 ^ 上尖号

交集判断:isdisjoint

集合的增 加 删除

.add  增加单项

.update  增加多项

.remove(" ") 删除

.pop 随机删除

.discard 如果集合中没有不会报错,会返回none 其它方式会有报错删除。

x.in s   判断x在不在s 里,字符列表,字典都可以用此方法查

list_1 = set([0,1,3,66,100])list_2 = set([0,2,4,88,100])list_3 = set([0,1,100])

print(list_1,list_2)print(len(list_1))   #set的长度print(0 in list_1)      #测试0是否是list_1的成员  是 False 不是 True。print(1 not in list_1)  #测试2是否不是list_1的成员   不是True  是则False

print(list_3.issubset(list_1))  #测试list_3中的元素都在list_1中,如果都在则是True,如果不在则是Falseprint(list_1.issuperset(list_3))  #测试list_1中的元素都在list_3中,如果都在则是True,如果不在则是False

print("----交集----") #去掉未重复的,只显示重复的值。jj = list_1 & list_2print(list_1.intersection(list_2))print(jj)

print("---并集---")   #如果前面一级输出,如果第二个表里有第一个里面的则不显示。bj = list_1 | list_2print(list_1.union(list_2))print(bj)print("---差集---")   #返回新的set list1有的,list2里没有的print(list_1.difference(list_2))

print("---子集-父集--")list_3 = set([0,2,4])print(list_3.issubset(list_2))print(list_2.issuperset(list_3))

print("---对称差集---") #去掉重复的,只返回相互没有的!print(list_1.symmetric_difference(list_2))

print("---增加---")list_1.add("166")   #向集合中添加一个值print(list_1)

print("---增加多项---")

list_1.update([110,120,130])print(list_1)

print("---删除---")print(list_1.remove(0))print(list_1)

print(list_1.pop())   #随机删除

 四、文件的操作

#data = open("file",encoding="utf-8").read()f = open("file2","r",encoding="utf-8") #文件句柄中包含了文件名,字符编码,文件大小,磁盘起始位。f = open("file2","w",encoding="utf-8") #写的意思!但是注意了,此处写的话会把之前给清除了,可以用此方法新建。f = open("file2","a",encoding="utf-8")#a = append 追加的意思。

f = open("file","r",encoding="utf8") #文件句柄中包含了文件名,字符编码,文件大小,磁盘起始位。
count = 0
for line in f:
if count == 9:
print("-----我是分割线-----")
count +=1
continue
print(line.strip())
count +=1

文件的增删改查

f = open("file","rb") #什么情况下用rb? 当网络传输的时候会用到,网络传输只能用二进制,soft

f.write("----------diao---------\n")f.write("----------diao---------1\n")f.write("----------diao---------2\n")f.write("----------diao---------3\n")print(f.tell())f.seek(10)print(f.readline())print(f.readline())f.write("秀梅 秀美 凑满膛")f.closed

f.seek(5)f.truncate(20)  #切割

print(f.tell())  #光标默认启示位print(f.readline())print(f.tell())     #读过之后光标所在位置,并给出所在多少个字符位。f.seek(5)           #从第光标位置开始读。

print(f.readline())print(f.tell())     #.tell 一般和 .seek配合使用,并且只有二进制,字符可以移,f.flush()       #刷新内存,把存在内存中的的值写入到硬盘上。print(f.readable())     #判断可不可以读。print(f.closed) #判断有没有关闭。

print(f.seekable()) #tty,终端设备文件是无法移,相关文件不能移。判断可以不可以移,可以TRUE 否则Flsef.writable() #判断可以以读。print(f.encoding)   #打印打开文件的编码格式。
时间: 2024-08-08 10:01:52

python第三周的相关文章

Python第三周习题集(一)

# 工资结算系统 1. 部门经理 1.5万元/月 2. 程序员 工作时间 150元/小时 3.销售员 1200底薪,+ %5销售额的提成 # 给你员工,得出工资. 员工类,父类 下面3类子类.#我写的 class Staff(object): def __init__(self, name, age): self._name = name self._age = age @property def name(self): return self._name @property def age(s

python第三周基本数据类型,字符,字符串,time库,format()

目录 整数类型: 浮点数类型: 复数类型: 数值运算函数: 字符串类型及操作: 1,字符串是字符的有序数列,可对其内的字符进行索引: 2.字符串操作符:{<参数序号>:<格式控制标记>} time库的使用:time库是python中处理时间的标准库 整数类型: 没有取数范围限制, 二进制以0b或0B开头:八进制以0o或0O开头:十六进制以0x或0X开头 浮点数类型: 取值范围数量级约为-10^308至10^308,精度数量为10^-16. 浮点数运算存在不确定位数,不是BUG,因为

python第三周学习内容

1.集合: 集合的创建: list_1 = set([1,2,3,4,5]) list_2 = set([2,3,44,7,8]) 集合的特性:集合是无序的,集合可以去掉重复的元素 集合的操作:求交集: print(list_1.intersection(list_2)) #{2,3} print(list_l & list_2) #求交集,{2,3} 求并集: print(list_1.union(list_2)) #{1,2,3,4,5,7,8,44} print(list_l | list

python第三周文件处理和函数

#默认参数的值是在一开始定义的时候就传给了函数, # 在后来的修改中不会被修改. #默认参数的值必须放到位置形参参数的最后面 #默认参数使用的场景是一个参数不经常变得场景,所以参数一般是不可变类型.字符串 元祖 数字 res=1 def foo(x,y=res): print(x,y) res=10 foo("aaa")#结果是aaa 1 def foo(x,y,*t): print(x,y) print(*t) #(3, 4, 5) foo(1,2,3,4,5)#结果是:3 4 5

Python第三周之面向对象之深刻学习

函数 名字 命名方法(官方方法,驼峰命名法) 命名原则:1.由数字,下划线和字母组成,且不能由数字开头. 2.不能命名关键字 3.区分大小写,大写为常量 参数 默认值 可变参数   * args def say_hello(*args): print(args) def main(): a_list = [1, 2, 3, 4, 5, 'zhangli', 24] say_hello(*a_list) if __name__ == '__main__': main() 关键字参数  **kwar

Python第三周 学习笔记(1)

字典 key-value键值对的数据的集合 可变的.无序的.key不重复 初始化: d = dict() d = {} d = dict(**kwargs) 如:d = dict(a=1,b=2) dict(iterable, **kwarg) 使用可迭代对象和name=value对构造字典,不过可迭代对象的元素必须是一个二元结构 dict(mapping, **kwarg) dict.fromkeys(iterable, value) 字典元素的访问 d[key] 返回key对应的值value

马哥2016全新Linux+Python高端运维班第三周作业作答

                    马哥2016全新Linux+Python高端运维班第三周作业                                           1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可.     [[email protected] ~]# who | awk '{print $1 $NF}'| uniq -d     [[email protected] ~]# who     yicx     :0  

Coursera系列-R Programming第三周-词法作用域

完成R Programming第三周 这周作业有点绕,更多地是通过一个缓存逆矩阵的案例,向我们示范[词法作用域 Lexical Scopping]的功效.但是作业里给出的函数有点绕口,花费了我们蛮多心思. Lexical Scopping: The value of free variables are searched for in the environment where the function was defined. 因此 make.power<-function(n){ pow<

杨其菊201771010134《面向对象程序设计(Java)》第三周学习总结

<面向对象程序设计(Java)>第三周学习总结 第一部分:理论知识 这周课程没有新进度,由于感觉对基础语法的不熟悉,复习了一遍前三章的细碎知识,学到一些之前不知道的原理: 1.计算机高级语言按程序的方式可以分为两种:编译型和解释型 编译型:C,C++,Objective-C,Pascal等: 解释型:Ruby,Python, 半编译型:Visual Basic, java:既是编译型语言又是解释型语言. 2.classpath 环境变量的设置:如果使用1.5以上的版本,完全可以不用设置这个环境