py基础
Python建议
import this
大小写改变:
name = "laimeiyun"
print(name.title())
print(name.upper())
print(name.lower())
删除开头结尾的空白
name = name.rstrip()
数字转换成字符串
age = 23
test = "happy "+str(age)+"rd birthday"
age = '23'
sum = int(age)+1#不转换会报错
列表
liebiao = ["aa","bb","cc","d"]
liebiao[-1]#最后一个元素
liebiao = ["aa","bb","cc","dd"]
liebiao.append ("ee")#末尾插入
liebiao.insert(1,"00")#制定位置插入
liebiao.pop()#弹出/制定位置弹出
liebiao.remove("aa")#删除特定元素,元素不存在会报错
liebiao.sort()#排序,排正序
liebiao.sort(reverse = True)#排序,排倒叙
print(sorted(liebiao,reverse = True))#打印时排序,实际顺序不变
liebiao.reverse()#列表顺序翻转
print(len(liebiao))#得到列表的长度
liebiao[1:5]#列表第1个元素到第5个元素,可以不填表示开始到最后,可以负数表示倒数
列表元素循环
#for循环
for i in liebiao[:]:
print (i)
#while循环
#列表的while循环
l1=["lmy","wxy","mmq"]
l2=[]
while l1:
cur=l1.pop()
l2.append(cur)
print(cur.title())
#找到列表中指定元素
while "mmq" in l2:
print(l2)
l2.remove("mmq")
次数循环
for i in range(1,10):#1到9循环
temp = i * i
print(temp)
系统统计函数
print (min(square))
print (max(square))
print (sum(square))#?????
列表复制
liebiao1 = liebiao[:]#复制出一个新列表
liebiao1 = liebiao#创建一个列表副本,还是同一个列表
判断
if-elif-else
判断条件,相等,大小,列表包不包含
cars=["aa","bb","cc","dd"]
for car in cars:
if car == "cc":#考虑大小写
print(car.title())
else:
print(car)
##元素在不在列表内
if "aa" in cars:
print("在")
if "aa" not in cars:
print("不在")
判断列标空/非空
re=[]
if len(re)>0:
#if re:
print("非空列表")
else:
print("空列标")
print(len(re))
字典
d = {}#新建
print(d)
d["min"] = 7#增加
d["max"] = 77
print(d)
del d["min"] #删除
print(d)
for key,value in d.items():
print("key:"+ key)
print("value:"+ str(value))
#for key in d.keys():
for key in sorted(d.keys())#按顺序返回
print("key:"+ key)
#print("value:"+ str(value))
for value in d.values():
#print("key:"+ key)
print("value:"+ str(value))
列标存字典/字典存列标
#列标成员是字典
l = []
for num in range(30):
d = {'c':'orange','num':num}
l.append(d)
cnt = 0
for i in l[:]:
if cnt <10:
i['c'] = 'blue'
print(i)
cnt=cnt+1
#print(l)
#字典值是列标
d={
"a":["lmy","mmq"],
"b":["lmy","wxy"],
"c":["lmy","ycy"]
}
for name,idols in d.items():
for idol in idols:
print("name="+name+",idol:"+idol)
print(d)
while循环
#特定输入时退出,否则循环
message=""
while message != "quit":
message = input()
if message != "quit":
print (message)
while 1:
message = input()
print (message)
if message == "quit":
break#支持break
break/continue
任意循环语句(for/while)都可以通过break退出或continue进入下次循环
函数
def user(name,age):#传参
print("hellow "+name.title()+" age:"+age)
user(name = "lmy",age = '3')
def user(name='lmy',age=4):#默认值
stri = "hellow "+name.title()+" age:"+str(age)
print(stri)
return stri#返回值
user('lmyyy',6)#带默认值的入参,可以没有传参
str1 = user()
print(str1)
def user(name='lmy',age=''):#默认值可以为空
stri = "hellow "+name.title()+" age:"+str(age)
print(stri)
d = {'name':name,'age':age}
return d#返回值可以是任意类型
print(user(age = 20))
def idol_test(list):#函数可以直接修改列表,字典
if "lmy" in list:
print('lmy77777')
else:
print('hehe')
list.append('lmy')
list[1] = ['hahahah','666']
print(list)
l1=['lmy','wxy','mmq']
l2=['wxy','mmq']
idol_test(l1)
idol_test(l2)
#idol_test(l2[:])#传递列表副本,不改变原来的列表的值,不建议用
print("result:",l1,l2)
def idol_test(*name):#任意数量的参数
print (name)
print(len(name))
for na in name:
print(na)
idol_test('lmy','wxy','mmq','ycy')
导入模块
import 函数#导入整个模块,是用要用函数.xxx
from 函数 import idol_test#导入特定函数,直接使用xxx
import 函数 as func#指定名字
from 函数 import *#导入所有函数
from 类 import a,b#从一个类定义的文件中导入类 和导入函数类似
直接导入整个模块,使用时:模块名.xxx
类
class Car():
def __init__(self, manufacturer, model, year):
self.manufacturer = manufacturer
self.model = model
self.year = year
self.odometer_reading = 0#默认值,不通过声明传入
def get_descriptive_name(self):
long_name = str(self.year) + ' ' + self.manufacturer + ' ' + self.model
return long_name.title()#有返回值的函数
def read_odometer(self):
print("This car has " + str(self.odometer_reading) + " miles on it.")
def update_odometer(self, mileage):#带入参
if mileage >= self.odometer_reading:
self.odometer_reading = mileage
else:
print("You can't roll back an odometer!")
car = Car('audi','a4','2019')
car.increment_odometer(100)
car.read_odometer()
car.update_odometer(10)
car.read_odometer()
#继承
class Ecar(Car):
def __init__(self, manufacturer, model, year,owder):#继承的固定写法
super().__init__(manufacturer, model, year)
self.owder = owder
def get_descriptive_name(self,stat):#重写方法,父类不存在的就是新方法
long_name = self.owder + str(self.year) + ' ' + self.manufacturer + ' ' + self.model
return long_name.title()+' '+stat
print(car.get_descriptive_name())
print(ecar.get_descriptive_name('haha'))
nothing but……

浙公网安备 33010602011771号