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'))
posted @ 2021-02-20 10:41  mingtian7  阅读(27)  评论(0)    收藏  举报