文章目录
基础概念
列表
# -*- coding: utf-8 -*-
data = ["a","b",3]
print("当前列表为",data)
print("列表第一个元素为",data[0])
print("列表最后一个元素为",data[-1])
#在列表末尾添加元素
data.append(4)
data.append(5)
print("当前列表为",data)
#使用方法insert()可在列表的任何位置添加新元素
data.insert(0,"insert_1")
data.insert(3,"insert_2")
print("当前列表为",data)
#使用del可删除任何位置处的列表元素,条件是知道其索引
del data[4]
print("当前列表为",data)
#方法pop()可删除列表末尾的元素,pop(idx)弹出列表中索引位置处的元素
print(data.pop())
print("当前列表为",data)
print(data.pop(2))
print("当前列表为",data)
#如果只知道要删除的元素的值,但不知道其索引,可使用方法remove()
data.remove("insert_1")
print("当前列表为",data)
#--------------------------------------
data = []
print("当前列表清空",data)
data.append(100)
data.append(10)
data.append(50)
data.append(1000)
print("当前列表为",data)
data.reverse()
print("当前列表逆序为",data)
#sorted()对列表进行临时排序
print("列表排序为",sorted(data))
print("列表排序为",sorted(data,reverse=True))
#sort()对列表进行永久性排序
data.sort()
print("当前列表为",data)
#获取列表长度
print("当前列表长度为",len(data))
运行结果为
# -*- coding: utf-8 -*-
data = []
data.append(10)
data.append(20)
data.append(30)
#遍历列表
for tmp in data:
print("-"*15)
print(tmp)
mult = tmp*tmp
print(mult)
print("*"*15)
#使用range,注意输出1,2,3,4
for tmp in range(1,5):
print(tmp)
#列表解析
data = [x**2 for x in range(0,10)]
print("整个列表为",data)
#访问列表切片
print("列表[0,5)为",data[0:5])
print("列表[:,5)为",data[:5])
print("列表[6,end]为",data[6:])
print("列表[-2,end]为",data[-2:])
运行结果为
元组
# -*- coding: utf-8 -*-
data = (1,2,3,4,5)
#data[0] = 200 #元组的元素不能修改
#遍历元组
for tmp in data:
print("-"*15)
print(tmp)
print("*"*15)
data = (10,20,30)
print(data)
字典
# -*- coding: utf-8 -*-
#可以一行写
h_color = {"r":100,"g":"green","b":"blue"}
print(h_color["r"])
print(h_color["g"])
#也可以分成多行写
h_color = {"r":100,
"g":"green",
"b":"blue"}
print(h_color["b"])
print("="*10)
# 设置字典为空
h_color = {}
#添加键—值对
h_color["r"]=100
h_color["g"]=200
h_color["b"]=300
h_color["w"]=400
print(h_color)
#修改字典中的值
h_color["w"]=3000
print(h_color)
#删除键—值对
del h_color["g"]
print(h_color)
#遍历字典
print("-"*10)
for key, value in h_color.items():
print(key,"->",value)
#遍历字典中的所有键
print("*"*10)
for key in h_color.keys():
print(key)
#按顺序遍历字典中的所有键
print("*"*10)
for key in sorted(h_color.keys()):
print(key)
#遍历字典中的所有键
print("*"*10)
for value in h_color.values():
print(value)
# -*- coding: utf-8 -*-
d_color1 = {"r":100,"g":"green"}
d_color2 = {"w":200,"c":"cyan"}
print(d_color1)
print(d_color2)
#字典列表
l_d_color = [d_color1,d_color2,{"b":500}]
print(l_d_color)
#在字典中存储列表
d_l_color = {
"r" : [1,2,3],
"g" : [10,20,30],
"b" : [100,200,300]
}
print(d_l_color)
#在字典中存储字典
d_d_color = {
"d_color1":d_color1,
"d_color2":d_color2
}
print(d_d_color)
运行结果如下,
分支语句
用户输入
# -*- coding: utf-8 -*-
din = input("Enter the input:")
print("输入的为字符串->",din)
#使用int()来获取数值输入
din_num = int(din)
if din_num>=10:
print("输入大于等于10")
else:
print("输入小于10")
运行结果如下,
while循环
函数
# -*- coding: utf-8 -*-
def func_0():
print("func_0")
def func_1(data):
print("func_1")
mult = data**2
print("data**2->",mult)
#编写函数时,可给每个形参指定默认值
def func_2(data1,data2=200):
print("func_2")
mult = data1*data2
print("data1*data2->",mult)
print("-"*20)
func_0()
print("*"*20)
func_1(10)
func_1(data=20) #混合使用位置实参、关键字实参
print("="*20)
func_2(10)
func_2(10,data2=100)
# -*- coding: utf-8 -*-
#返回字典
def fun_1(data):
data_d = {};
data_d["x"] = data + 10
data_d["y"] = data + 20
data_d["z"] = data + 30
return data_d
#传递列表
def fun_2(data_l):
data_l.pop() #在函数中对这个列表所做的任何修改都是永久性的
data_l.pop()
data_sum = 0
for item in data_l:
data_sum += item
return data_sum
#传递任意数量的实参
def fun_3(*paras):
print(paras)
#两个星号让Python创建一个名为paras的空字典
def fun_4(**paras):
d = {}
for key, value in paras.items():
d[key] = value
return d
print('-'*10)
data_d = fun_1(100)
print(data_d)
print('-'*10)
data_l = [1,2,3,4,5,6,7,8,9]
data_sum = fun_2(data_l)
print(data_sum)
print(data_l)
print('-'*10)
data_l = [1,2,3,4,5,6,7,8,9]
#向函数传递列表的副本而不是原件;这样函数所做的任何修改都只影响副本,而丝毫不影响原件
data_sum = fun_2(data_l[:]) #切片表示法[:]创建列表的副本
print(data_sum)
print(data_l)
print('-'*10)
fun_3('a')
fun_3('a','b','c')
print('-'*10)
d = fun_4(a=1,b=2)
print(d)
文件操作
读文件测试如下,
# -*- coding: utf-8 -*-
filepath = "data.txt"
#文件读写测试0:读取整个文件
print("_"*20)
with open(filepath) as f:
contents = f.read()
print(contents)
#文件读写测试1:逐行读取
print("-"*20)
with open(filepath) as f:
for line in f:
print(line)
#文件读写测试2:删除每行的行尾空白符
print("*"*20)
with open(filepath) as f:
for line in f:
print(line.rstrip())
#文件读写测试3:创建一个包含文件各行内容的列表
print("="*20)
with open(filepath) as f:
lines = f.readlines()
for line in lines:
print(line.rstrip())
写文件测试如下,
# -*- coding: utf-8 -*-
filepath = "data_w.txt"
#文件读写测试0:写入多行
print("_"*20)
with open(filepath,"w") as f:
f.write("line 1\n")
f.write("line 2\n")
#文件读写测试1:附加到文件
with open(filepath,"a") as f:
f.write("line 3\n")
简单应用
转换py2到py3
python 2to3.py -w example.py
产生pyc文件
ValueError:check_hostname requires sever_hostname