python
组合数据结构
列表是
list=["python",True,1999,{1001:'xiaoming'}]
元组
list=()
字典(键值对)
list={}
for语句
for i in list:
print(list)
对字符串的字数的统计:
s="123123123123123123123"
d={}
for i in s:
d[i]=d.get(i,0)+1;
print(d)
range函数
range(起始位置,末位位置,中间间隔)
for i in range(6,20,2):
print(i)
切片list[起始位置,中止位置,中间间隔]
list=[1,2,3,45,5,6]
list[1,4,2]
列表增加/删除/查找/修改元素元素:
list=[1,2,3,4,65]
list.append(22)
list.insert(2,33)#在2的位置插入33元素
list2=[2233,4]
list.extend(list2)#将列表2的元素逐个插入到list当中,如果没有这个函数,直接用append,是将这个列表整个当作一个元素进行插入
###
list.pop(1)#将第一个元素删除
list.remove(2)#将元素值为2的第一个元素删除
#删除所有为2的元素
while 2 in list:
list.remove(2)
#查找元素
list.index(2)#find the first index of the value of two
#修改就正常的
列表的复制、排序
list=[1,23,4,5,6,7,8,9]
list2=list.copy()
#排序
list.sort()
list2=sorted(list)
list.sort(reserve=True)
list2=sorted(list,reserve=True)
元组的常见用处
打包和解包zip()
字典的相关操作
#增加键值对
students{1001:'xiaoming',1002:'xiaohong'}
students[1003]='xiaohuang'
#删除键值对
del students[1003]
value = students.pop(1003)
#随机删除
key,value=students.popitem()
#d.get()function's using
s="123123123123123123123"
d={}
for i in s:
d[i]=d.get(i,0)+1;
print(d)
#分别获取键和值
students.keys()
students.values()
集合
#相当于字典中值为none的键
set={"xiaoming","xiaohong"}
#交集运算
set2={"xiaoming","xiaohuang"}
set & set2
#并集
set | set2
#非交集元素
set ^ set2
#增加元素
set.add("xiaolu")
#移除元素
set.remove("xiaolu")
#集合的长度
set.len()
判断一个列表为空
list=[]
if list:
print("非空")
else
print("空的")
与或非 not>and>or
a=2
b=3
c=4
(a>b) and (b>c)
(a>b) or (b>c)
not(a>b)
存在运算
元素 in 列表/字符串
#if
a=1
if a=1 :
print("yes")
elif a=2 :
print("2")
elif not a=1 :
print("4")
else:
print("3")
age = eval(input("请输入年龄"))
for和else的组合
如果for执行完毕了没有被break掉,那么执行else里面的语句
同样的还有while和else的组合
定义函数
def fun(num):
print(num)
#关键字参数打破了形参的顺序,但是位置参数还是要在最前面
#让参数成为可选的
def fun(num = None):
#如果不知道要传进来多少个参数,那么用*args,会将多余的参数打包传递给args
def fun(x,y,z,*args):
print(x,y,z)
print(args)
fun(1,2,3,4,5,6)
#**kwargs
def fun(x,y,z,**kwargs):
#匿名函数
类
#类前后空两行
class Students():
pass
class Teacher():
pass
#例子
class Car():
def __init_(self,brand,model,year):#初始化
self.brand=brand
self.model=model
self.year=year
def get_information(self):
print("品牌:{},型号:{},年份:{}".format(self.brand,self.model,self.year))
#创建实例
mycar = Car("aodi",1001,2022)
print(mycar.brand)
mycar.get_information()
发送邮件
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
msg = MIMEText("欢迎使用python发送邮件","html","utf-8")#content
msg["from"] = formataddr(["黎俊威","L1842568012@126.com"])#name/email
msg['to'] = "1842568012@qq.com" #target email
msg['Subject'] = "first" #theme
server = smtplib.SMTP_SSL("smtp.126.com")
server.login("L1842568012@126.com","FXPIVELVEDYECONB",)
server.sendmail("L1842568012@126.com","1842568012@qq.com",msg.as_string())
server.quit()
文件操作
file = open("info.csv",mode='r',encoding='utf-8')
data = file.read()
# print(data)
data_list = data.split("\n")
# print(data_list)
for data_list in data_list:
row_list = data_list.split(",")
for row_list in row_list:
print(row_list)
file.close()
字符串相关:切割,去除空白,是否包含
name = "黎俊威"
if name.startswich("黎")
if name.endswich("威")
if "俊" in name
python的类
class Car():
def __init__(self,brand,model,year):
self.brand = brand
self.model = model
self.year = year
self.mileage = 0
def get_main_information(self):
print("品牌:{} 型号:{} 出场年份:{}".format(self.brand,self.model,self.year))
def get_mileage(self):
return "行车总里程:{}公里".format(self.mileage)
#子类
class ElectricCar(Car):
def __init__(self,brand,model,year,bettery):
super(ElectricCar, self).__init__(brand,model,year)
self.bettery=bettery
my_new_car = Car("Audi","A6",2018)
print(my_new_car.brand)
print(my_new_car.model)
print(my_new_car.year)
my_new_car1 = ElectricCar("FF91","Tomorrow",2048,100)
print(my_new_car1.brand)
print(my_new_car1.bettery)
网友评论