通过代码来学习,记录下来以备后查。
一、字符串
import datetime
# 字符串的格式化
tool='Python'
Version=3.7
Str1="学习 %s,版本:%s"%(tool,Version)+",{}年{}月{}日".format(datetime.date.today().year,datetime.date.today().month,datetime.date.today().day)
Str2="From now on,learn and use {tool} {Version}。".format(tool='python',Version=3.71)
Str3=f"{tool} {Version} 功能强大!"
print(Str1,'\n',Str2,'\n',Str3,Str1[0:9]) #\r为换行,\n为回车
'''
返回结果:
学习 Python,版本:3.7,2021年1月9日
From now on,learn and use python 3.71。
Python 3.7 功能强大! 学习 Python
指定数字类型
b: 输出整数的二进制方式;
c: 输出整数对应的Unicode字符;
d: 输出整数的十进制方式;
o: 输出整数的八进制方式;
x: 输出整数的小写十六进制方式;
X: 输出整数的大写十六进制方式;
'''
First="python"+' '*2+"and"+' '*2+"pyCharm" # ' '*2表示生成2个空格
print(First,"长度为"+str(len(First)))
print(First[0:9])
print(First[-13:-1])
'''
返回结果:
python and pyCharm 长度为20
python a
and pyChar
'''
# 大小写转换
print(First.capitalize()) # 把字符串的第一个字符大写,其他字符串小写
print(First.title()) # 将所有单词都是以大写开始,其余字母均为小写
print("PYTHON".lower()) # 转换 string 中所有大写字符为小写
print("Python And PyCharm".swapcase()) # 将字符串中大写的变小写,小写的变大写
'''
返回结果:
Python and pycharm
Python And Pycharm
python
pYTHON aND pYcHARM
'''
# 去掉空格
Second=" Python "
print('|'+Second.strip()+'|') # 去掉两边的空格
print('|'+Second.lstrip()+'|') # 去掉左边的空格
print('|'+Second.rstrip()+'|') # 去掉右边的空格
'''
返回结果:
|Python|
|Python |
| Python|
'''
# 字符串转为列表
Three=First.split(' ') # 以一个空格为分割符号
print(type(Three),Three)
Four=First.split(' ') # 以两个空格为分割符号
print(type(Four),Four)
'''
返回结果:
<class 'list'> ['python', '', 'and', '', 'pyCharm']
<class 'list'> ['python', 'and', 'pyCharm']
'''
# 列表转为字符串
Five=['python','and','pycharm']
print(''.join(Five))
'''
返回结果:
pythonandpycharm
'''
# 统计与查找
print(First.count('p',0,len(First))) # 统计'p'出现的次数
print(First.find('py',0,len(First))) # 查找'py'开始出现的位置
print(First.startswith('python'),First.endswith('arm')) # 以给定的字符开始或者结尾
'''
返回结果:
2
0
True True
'''
# 格式化输出
print("{} {} {}".format('python','and','pycharm'))
print("{0} {1} {2}".format('python','and','pycharm'))
'''
返回结果:
python and pycharm
python and pycharm
'''
# 日期与时间
Today=datetime.datetime(2021,2,1,17,4,19)
print(Today)
print("{:%y-%m-%d %H:%M:%S}".format(Today))
print("{:%Y-%M-%D %H:%M:%S}".format(Today))
'''
返回结果:
2021-02-01 17:04:19
21-02-01 17:04:19
2021-04-02/01/21 17:04:19
'''
print('π is {:.2f}'.format(3.1415926))
print('{:,}'.format(123456789))
print("{:.0%}".format(15/100))
print("{:.2%}".format(12/100))
'''
返回结果
π is 3.14
123,456,789
15%
12.00%
'''
二、列表
# 列表
List1=['Python 3.7','PyCharm 2020.3.2','pymssql 2.1.5','tkinter']
List2=['C#',3.7,['PHP','Vue','JQuery']]
List3=[1,3,9,-5,19,29,39,1,3,4,5,8,3]
Str4="study hard and make progress every day.a"
print(List1[0],List2[2][1:3],sep=' && ',end='!') #可以设置print的输出格式:间隔符为‘ && ’,缺省间隔符为‘ ’,结尾为'|'
print('\r') #换行 \n为回车
print(len(List3),max(List3),min(List3),"3在List3中出现了{}次".format(List3.count(3)),"'a'在Str4中出现了{}次".format(Str4.count('a')))
List2[2].insert(1,'Html5') #增加一个元素
List2[2].insert(3,'Html5') #增加一个元素
List2.append('CSS') #在列表的最后增加一个元素
print(List2,'\n',List2[3])
List2[2].remove('Html5') #删除一个元素,每次删除一个
List2[2].remove('Html5') #删除一个元素
List2[2][0]='PHP7' #更改值,注意:字符串不支持这样的操作
List2[2].append('JaveScript')
print(List2)
print('原列表:',List3)
List3.reverse() #列表翻转
print('翻 转:',List3)
List3.sort(reverse=True) #列表的排序:reverse=True表示从大到小的排序
print('排 序:',List3)
Str5="abcd1345abc3579tet13to13of13abc" #字符串的替换:最后的数字代表替换次数,默认为-1表示全部替换
Str5=Str5.replace('abc','ABC',2) #替换两次,最后的abc不会被替换
print(Str5)
'''
返回结果:
13 39 -5 3在List3中出现了3次 'a'在Str4中出现了5次
['C#', 3.7, ['PHP', 'Html5', 'Vue', 'Html5', 'JQuery'], 'CSS']
CSS
['C#', 3.7, ['PHP7', 'Vue', 'JQuery', 'JaveScript'], 'CSS']
原列表: [1, 3, 9, -5, 19, 29, 39, 1, 3, 4, 5, 8, 3]
翻 转: [3, 8, 5, 4, 3, 1, 39, 29, 19, -5, 9, 3, 1]
排 序: [39, 29, 19, 9, 8, 5, 4, 3, 3, 3, 1, 1, -5]
ABCd1345ABC3579tet13to13of13abc
'''
三、元组
# 元组 tuple 元组的值在创建后就不能更改了,用于被保护的数据,访问的速度快。
Tuple1=(91,2,34,37,9,23,9,73)
Tuple2='列表','数组','元组', # 注意最后有一个,
print(Tuple1[-1],'\n', Tuple2[2],'\n',Tuple2[1:], Tuple2.index('元组'), Tuple1.count(9), len(Tuple1))
'''
返回结果:
73
元组
('数组', '元组') 2 2 8
'''
四、字典
# 字典 字典是可以改变的,字典的Key必须是不可改变的数据类型(元组可以,列表不可以,字典也不可以)
Dict1={1:'China',2:'Russia','3':'Pakistan'}
Dict2=dict(a='北京',b='上海',c='天津')
Dict2['c']='重庆' # 字典改变值
Dict2['d']='深圳' # 字典增加值
Dict3={3:'缅甸',4:'尼泊尔'}
print(Dict1[1],'\n',Dict1['3'],'\n',Dict1.get(2),Dict2['a'],'\n',Dict2)
print('Dict1的key:',Dict1.keys(),'Dict1的value:',Dict1.values(),'Dict1的item:',Dict1.items())
print(Dict1.pop('3'),Dict1) # 去掉一个item不再字典中存在
Dict1.update(Dict2) # 字典的更新,用一个字典更新(增加)另外一个字典
print(Dict1)
Dict1.update(Dict3) # 字典的更新,更新相同的Key的值
print(Dict1)
#print(**Dict1,**Dict2) # 字典的合并(两个字典不能有相同的Key)
'''
返回的结果:
China
Pakistan
Russia 北京
{'a': '北京', 'b': '上海', 'c': '重庆', 'd': '深圳'}
Dict1的key: dict_keys([1, 2, '3']) Dict1的value: dict_values(['China', 'Russia', 'Pakistan']) Dict1的item: dict_items([(1, 'China'), (2, 'Russia'), ('3', 'Pakistan')])
Pakistan {1: 'China', 2: 'Russia'}
{1: 'China', 2: 'Russia', 'a': '北京', 'b': '上海', 'c': '重庆', 'd': '深圳'}
{1: 'China', 2: 'Russia', 'a': '北京', 'b': '上海', 'c': '重庆', 'd': '深圳', 3: '缅甸', 4: '尼泊尔'}
'''
字典的嵌套。
dic={}
dic_1=dic.setdefault('字典索引1',{})
dic_1.setdefault('item1',0.01) # 字典索引1的数据
dic_1.setdefault('item2',1) # 字典索引1的数据
dic_2=dic.setdefault('字典索引2',{})
dic_2.setdefault('item1',3) # 字典索引2的数据
dic_2.setdefault('item2',4) # 字典索引2的数据
dic_2_1=dic_2.setdefault('item3',[]) # 字典索引2的数据,dic_2_1相当于索引item3的句柄(地址)
dic_2_1.append(9) # 向列表中追加数据项
dic_2_1.append(19) # 向列表中追加数据项
dic_3=dic.setdefault('字典索引3',{})
dic_3_0=dic_3.setdefault('item1',12)
dic_3_0=dic_3.setdefault('item2',9)
dic_3_1=dic_3.setdefault('item3',{})
dic_3_1_0=dic_3_1.setdefault('iiitem1','python')
dic_3_1_0=dic_3_1.setdefault('iiitem2','pycharm')
print(dic)
'''
结果显示
{'字典索引1': {'item1': 0.01, 'item2': 1}, '字典索引2': {'item1': 3, 'item2': 4, 'item3': [9, 19]}, '字典索引3': {'item1': 12.7, 'item2': 6, 'item3': {'iiitem1': 'python', 'iiitem2': 'pycharm'}}}
'''
五、集合
# 集合 集合里的元素是无序的
Set1={'数学','语文','英语','生物','地理','英语'}
print('数学' in Set1)
print(set(Set1),'\n','新生成的无重复的列表:',list(set(Set1)))
Set1.add('历史') # 添加相同的元素不会报错
Set1.remove('生物') # 删除并不存在的元素会报错
Str6="learn and use Python"
Set2=set(Str6) # 字符串转换成集合,去掉相同的元素
print(Set2)
Set3={'化学','物理','数学',101,555}
print(Set1 & Set3) # 集合的交集
print(Set1 | Set3) # 集合的并集
print(Set1 ^ Set3) # 将交集去掉的集合
print(Set1 - Set3) # 集合的相减
'''
返回的结果
True
{'地理', '数学', '英语', '生物', '语文'}
新生成的无重复的列表: ['地理', '数学', '英语', '生物', '语文']
{' ', 't', 'n', 's', 'r', 'P', 'o', 'u', 'a', 'd', 'y', 'h', 'e', 'l'}
{'数学'}
{'地理', '英语', 101, '化学', 555, '数学', '历史', '物理', '语文'}
{'物理', '语文', '地理', 101, '英语', '化学', 555, '历史'}
{'地理', '英语', '历史', '语文'}
'''