python之路 - 基础3

1.字符串处理

 1 name = "my name is jiachen"
 2 #首字母大写
 3 print (name.capitalize())
 4 #统计字母出现次数
 5 print (name.count(‘a‘))
 6 #居中打印
 7 print (name.center(50,‘-‘))
 8 #字符串装换成bytes类型
 9 print (name.encode(‘utf-8‘))
10 #判断以什么结尾
11 print (name.endswith(‘en‘))
12 #将tab转多少个空格
13 print (name.expandtabs())
14 #查找字符开头索引
15 print (name.find(‘y‘))
16 #格式化字符串
17 #name = "my name is {name} and i am {year} old"
18 #print (name.format(name=‘jiachen‘,year=27))
19 #print (name.format_map({‘name‘:‘jiachen‘,‘year‘:27}))
20 #是否为数字或字母
21 print (‘abc123‘.isalnum())
22 #是否为字母
23 print (‘Abc‘.isalpha())
24 #是否为十进制
25 print (‘1‘.isdecimal())
26 #是否为整数
27 print (‘11‘.isdigit())
28 #判断是不是一个合法的表示符(变量名)
29 print (‘a1A‘.isidentifier())
30 #是否为小写
31 print (‘Abc‘.islower())
32 #是否只有数字
33 print (‘213‘.isnumeric())
34 #是否为空格
35 print (‘ ‘.isspace())
36 #是否每个首字母大写
37 print (‘My Name Is‘.istitle())
38 #是否能打印,tty file drive file
39 print (‘My Name Is‘.isprintable())
40 #是否都为大写
41 print (‘My‘.isupper())
42 #拼接字符串
43 print (‘+‘.join(‘abc‘))
44 #长50不够用*号后面补上
45 print (name.ljust(50,‘*‘))
46 #长50不够用*号前面补上
47 print (name.rjust(50,‘*‘))
48 #变小写
49 print (‘Alex‘.lower())
50 #变大写
51 print (‘alex‘.upper())
52 #从左边去掉空格回车
53 print (‘ jiachen  ‘.lstrip())
54 #从右边去掉空格回车
55 print (‘ jiachen  ‘.rstrip())
56 #去掉头尾空格
57 print (‘ jiachen  ‘.strip())
58 #
59 p = str.maketrans(‘abcdef‘,‘123456‘)
60 print (‘jiachen‘.translate(p))
61 #字符串替换
62 print (‘jaaaiachen‘.replace(‘a‘,‘x‘,1))
63 #从右侧查找
64 print (‘jiachen‘.rfind(‘e‘))
65 #分割成列表
66 print (‘jiachen‘.split(‘a‘))
67 #匹配换行符,分割成列表
68 print (‘1+2\n+3+4‘.splitlines())
69 #反转大小写
70 print (‘Jiachen‘.swapcase())
71 #变成一个title
72 print (‘jiachen‘.title())
73 #不够50就前面补零
74 print (‘jiachen‘.zfill(50))

2.字典操作

 1 info = {
 2     ‘stu01‘:‘Tom‘,
 3     ‘stu02‘:‘Jack‘,
 4     ‘stu03‘:‘Ben‘
 5 }
 6
 7 #创建
 8 #info[‘stu04‘] = ‘petter‘
 9 #修改
10 #info[‘stu01‘] = ‘汤姆‘
11 #删除
12 #del info[‘stu01‘]
13 #info.pop(‘stu02‘)
14 #随机删
15 #info.popitem()
16 #查询
17 #print (info[‘stu01‘])
18 #print (‘stu01‘ in info)
19
20 #取字典的value
21 #print (info.values())
22 #清空字典
23 #info.clear()
24 #复制字典
25 #info2 = info.copy()
26 #初始化一个字典
27 #print (info.fromkeys([‘stu04‘,‘stu05‘],‘look‘))
28 #取某个key的值
29 #print (info.get(‘stu01‘))
30 #key-value元祖所有添加到列表中
31 #print (info.items())
32 #取字典的key
33 #print (info.keys())
34 #查找key如果不存在使用默认值
35 #print (info.setdefault(‘stu04‘,‘Jane‘))
36 #将一个字典添加到另一个字典中
37 #info2 = {‘name‘:‘jiachen‘}
38 #info.update(info2)
39 #print (info)

3.元祖操作

集合、去重、关系测试

集合是一个无序的,不重复的数据组合

 1 list_1 = [1,4,5,7,3,6,7,9]
 2 list_1 = set(list_1)
 3
 4 list_2 = set([2,6,0,66,22,8,4])
 5 print (list_1,list_2)
 6 ‘‘‘
 7 #求交集
 8 print (list_1.intersection(list_2))
 9 #求并集
10 print (list_1.union(list_2))
11 #求差集,1里面有2里面没有
12 print (list_1.difference(list_2))
13 #求子集,1是2的子集
14 print (list_1.issubset(list_2))
15 #求父集,1是2的父集
16 print (list_1.issuperset(list_2))
17 #求对称差集,两个互相没有的,去掉重复的
18 print (list_1.symmetric_difference(list_2))
19 #判断是否有交集,有为false,无为true
20 print (list_1.isdisjoint(list_2))
21 ‘‘‘
22
23 #交集
24 print (list_1 & list_2)
25 #并集
26 print (list_1 | list_2)
27 #差集
28 print (list_1 - list_2)
29 #对称差集
30 print (list_1 ^ list_2)
31
32 #添加
33 list_1.add(999)
34 list_1.update([222,223,224])
35 #删除
36 list_1.remove(999)  #不存在报错
37 list_1.discard(888) #不存在不报错
38 #长度
39 len(list_1)
40 #测试x是否是a的成员
41 999 in list_1
42 #测试x是否不是a的成员
43 999 not in list_1

4.文件操作

文件操作过程

打开文件获得文件句柄-操作-关闭文件

  1 #文件句柄
  2 #f = open(‘yesterday‘,‘r‘,encoding=‘utf-8‘)
  3
  4 #r模式为读模式
  5 #f = open(‘yesterday‘,‘r‘,encoding=‘utf-8‘)
  6
  7 #w模式为写,创建文件
  8 #f = open(‘yesterday2‘,‘w‘,encoding=‘utf-8‘)
  9 #f.write("我爱北京天安门,\n")
 10 #f.write("天安门上太阳升\n")
 11
 12 #a模式为追加,创建文件
 13 #f = open(‘yesterday2‘,‘a‘,encoding=‘utf-8‘)
 14 #f.write("我爱北京天安门,\n")
 15 #f.write("天安门上太阳升\")
 16
 17 #关闭文件
 18 #f.close()
 19
 20 #读前5行
 21 ‘‘‘
 22 f = open(‘yesterday2‘,‘r‘,encoding=‘utf-8‘)
 23 for i in range(5):
 24     print (f.readline())
 25     ‘‘‘
 26
 27 #
 28 ‘‘‘
 29 f = open(‘yesterday2‘,‘r‘,encoding=‘utf-8‘)
 30 for i in f.readlines():
 31     print (i,)
 32     ‘‘‘
 33
 34 #high bige
 35 ‘‘‘
 36 count = 0
 37 f = open(‘yesterday2‘,‘r‘,encoding=‘utf-8‘)
 38 for line in f:
 39     if count == 9:
 40         print (‘------我是分割线-------‘)
 41         count += 1
 42         continue
 43     print (line.strip())
 44     count += 1
 45     ‘‘‘
 46
 47 #seek和tall用法
 48 ‘‘‘
 49 f = open(‘yesterday2‘,‘r‘,encoding=‘utf-8‘)
 50 print (f.tell())
 51 print (f.readline().strip())
 52 print (f.readline().strip())
 53 print (f.readline().strip())
 54 print (f.tell())
 55 f.seek(0)
 56 print (f.readline().strip())
 57 ‘‘‘
 58
 59 #
 60 #f = open(‘yesterday2‘,‘r‘,encoding=‘utf-8‘)
 61 #print (f.encoding)
 62 #强制刷新保存
 63 #f.flush()
 64
 65 #截断
 66 #f = open(‘yesterday2‘,‘r‘,encoding=‘utf-8‘)
 67 #f.truncate(10)
 68
 69 #读写,r+,读和追加
 70 ‘‘‘
 71 f = open(‘yesterday2‘,‘r+‘,encoding=‘utf-8‘)
 72 print (f.readline())
 73 print (f.readline())
 74 print (f.readline())
 75 f.write(‘-----diao----\n‘)
 76 print (f.readline())
 77 ‘‘‘
 78 #写读,w+,先创建一个文件
 79 ‘‘‘
 80 f = open(‘yesterday2‘,‘w+‘,encoding=‘utf-8‘)
 81 f.write(‘-----diao----\n‘)
 82 f.write(‘-----diao----\n‘)
 83 f.write(‘-----diao----\n‘)
 84 f.write(‘-----diao----\n‘)
 85 print (f.tell())
 86 f.seek(10)
 87 print (f.readline())
 88 f.write(‘should\n‘)
 89 ‘‘‘
 90
 91 #追加读,a+
 92
 93 #读二进制文件
 94 #f = open(‘yesterday2‘,‘rb‘)
 95 #print (f.readline())
 96 #写二进制文件
 97 #f = open(‘yesterday2‘,‘wb‘)
 98 #f.write(‘hello\n‘.encode(‘utf-8‘))
 99 #f.close()
100
101 #文件修改
102 f = open(‘yesterday2‘,‘r‘,encoding=‘utf-8‘)
103 f_new = open(‘yesterday3‘,‘w‘,encoding=‘utf-8‘)
104 for line in f:
105     if ‘肆意的快乐‘ in line:
106         line = line.replace(‘肆意的快乐等我享受‘,‘肆意的快乐等贾晨享受‘)
107     f_new.write(line)
108 f.close()

5.打印进度条

1 import sys,time
2
3 for i in range(100):
4     sys.stdout.write(‘#‘)
5     sys.stdout.flush()
6     time.sleep(0.5)

6.字符编码与转码

gbk -> decode -> unicode
unicode -> encode -> gbk
utf-8 > decode -> unicode
unicode -> encode -> utf-8

打印默认编码

1 import sys
2 print (sys.getdefaultencoding())

7.函数介绍-1

三种编程方式:面向对象、面向过程、函数式编程

函数式编程与面向过程编程的区别

 1 #函数
 2 def func1():
 3     ‘‘‘testing1‘‘‘
 4     print (‘in the func1‘)
 5     return 0
 6
 7 #过程
 8 def func2():
 9     ‘‘‘testing2‘‘‘
10     print (‘in the func2‘)
11
12 x = func1()
13 y = func2()
14
15 print (‘from func1 return is %s‘ % x)
16 print (‘from func2 retrun is %s‘ % y)

函数介绍-2

代码重用

保持一致性

可扩展

 1 import time
 2
 3 def logger():
 4     with open(‘a.txt‘,‘a+‘) as f:
 5         time_format = ‘%Y-%m-%d %X‘
 6         time_current = time.strftime(time_format)
 7         f.write(‘%s end action\n‘ % time_current)
 8
 9 def test1():
10     ‘‘‘testing1‘‘‘
11     print (‘test1 starting action...‘)
12     logger()
13
14 def test2():
15     ‘‘‘testing2‘‘‘
16     print (‘test2 starting action...‘)
17     logger()
18
19 def test3():
20     ‘‘‘testing3‘‘‘
21     print(‘test3 starting action...‘)
22     logger()
23
24 test1()
25 test2()
26 test3()

8.函数返回值

return用来结束函数,返回值可以赋值给一个变量

没有return,返回None

return一个值,返回一个值

return多个值,返回一个元祖

为什么要有返回值,因为我们需要一个函数执行的结果

 1 def test1():
 2     print (‘in the test1‘)
 3
 4 def test2():
 5     print (‘in the test2‘)
 6     return 0
 7
 8 def test3():
 9     print (‘in the test3‘)
10     return 1,‘hello‘,[12,3],{1:1,2:2}
11
12 x = test1()
13 y = test2()
14 z = test3()
15 print (x)
16 print (y)
17 print (z)

9.函数的参数

带参数的函数,x、y形参,xxx、yyy实参

1 def test(x,y,z=3):
2     print (x)
3     print (y)
4     print (z)

位置参数调用,实参和形参要一一对应

1 test(‘xxx‘,‘yyy‘)

关键字参数调用,与形参顺序无关

1 test(y=2,x=1)

时间: 2024-10-13 07:40:45

python之路 - 基础3的相关文章

python之路-基础篇-day3

今日所讲知识点总结: 1.set集合 2.collections Python拥有一些内置的数据类型,比如str, int, list, tuple, dict等, collections模块在这些内置数据类型的基础上,提供了几个额外的数据类型: 1)Counter:计数器 2)OrderedDict:有序字典 3)defaultdict:默认字典 4)namedtuple:可命名元组 5)deque:双向队列 set集合 set集合是一个元素不重复的无序集合.类似于字典的key组成的一个无序集

python之路基础篇

1. Python基础之初识python 2. Python数据类型之字符串 3. Python数据类型之列表 4. Python数据类型之元祖 5. Python数据类型之字典 6. Python Set集合,函数,深入拷贝,浅入拷贝,文件处理 7. Python之常用模块 8. python正则表达式 9. python面向对象编程 10.python之socket编程 11.python进程.线程.协程

菜鸟的Python之路--基础知识

刚刚开始自学Python,整理一下自己的学习感悟 刚刚开始学习Python,代码之路才刚刚开始第一个差距就感受到了.Python的标点符号与其他语言的差别,它每句后面都没有":". 变量的命名规则    1. 要具有描述性    2. 变量名只能_,数字,字母组成,不可以是空格或特殊字符(#?<.,¥$*!~)    3. 不能以中文为变量名    4. 不能以数字开头    5. 保留字符是不能被使用 常量 :不变的量 pie = 3.141592653....     在py

Python之路——基础

Python介绍 Python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. Python崇尚优美.清晰.简单,是一个优秀并广泛使用的语言. Python可以应用于众多领域,如:数据分析.组件集成.网络服务.图像处理.数值计算和科学计算等众多领域.目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube.Dropbox.BT.Quora(中国知乎

python之路-基础篇-day2

基本数据类型 在Python中,一切事物都是对象,对象基于类创建 注:查看对象相关成员的函数有:var,type,dir 基本数据类型主要有: 整数 长整型 浮点型 字符串 列表 元组 字典 set集合 接下来将对以上数据类型进行剖析: 1.整数 int 如:18.73.-100 每一个整数都具备如下功能: class int(object): """ int(x=0) -> integer int(x, base=10) -> integer Convert a

python之路-基础篇-8 循环

python中循环有两种,分别是for循环和while循环,循环可以将序列的数据进行迭代处理: for循环 for循环依次把list.tuple或字符串中的每个元素迭代出来,例如: names = ["zhangcong", "lisanjiang", "pangzhiguo"] for name in names: print name # 执行结果 zhangcong lisanjiang pangzhiguo 所以for x in - 循环

python之路-基础篇-003

[〇]学习环境 操作系统: Mac OS X 10.10.5 python: Python 3.5.1 IDE:PyCharm4.5 [一]列表(LIST): 下面是从help中摘录的一部分常用的方法: #创建列表 list() -> new empty list #追加列表 | append(...) | L.append(object) -> None -- append object to end #清除列表 | clear(...) | L.clear() -> None --

python之路基础-(二)内置函数、函数、装饰器

内置函数 python内置了以下函数,可以根据情况来使用 一.数学相关函数 divmod():取商和余数 >>> divmod(99,10) (9, 9) abs():取绝对值 >>> abs(-10) 10 len():查看序列长度 >>>list = [11,22,33,44] >>>r = len(list) >>>print(r)4 二.功能相关函数chr():在ascii码表中根据数字找出对应的字母 >

python之路-基础篇2

10.if else 流程判断 举例说明1: import getpass  #引用getpass这个模块 _username = "kk" _password = "123456" username = input("username:") password = getpass.getpass("password") #getpass功能是让密码不直接显示成明文 if _username == username and _p

python之路 - 基础1

1.安装windows安装双版本Python2,Python3 下载Python2和Python3https://www.python.org/downloads/ 分别安装两个版本 进入Python3的安装目录后,将Python.exe重命名为Python3.exe,删除脚本文件夹下的pip.exe 添加环境变量 Python3安装后已经默认添加到环境变量中,这里只需要添加Python2的环境变量 添加到PATH中 C:\Python27C:\Python27\Scripts 测试是否成功 在