1.字符串
>字符串大小写,都不会修改原来的值
message = 'your name'
message.title() # Your Name
message.upper() # YOUR NAME
print(message.lower()) # your name
>字符串格式化
temp1 = 'Xiao'
temp2 = 'Ming'
# f""用于格式化,{}表示替换,python3.6后引入
temp3 = f"{temp1} {temp2}" # Xiao Ming
# python3.5以前的用法, " ".format()
temp4 = "{} {}".format(temp1,temp2)
>字符串删除空白,删除两头,左边,右边
message = ' shcool '
message.strip() # 'school'
message.lstrip() # 'school '
message.rstrip() # ' school'
2.列表
>list 用方括号[],有序,可以索引从0开始, -1表示最后一个元素,-2表示倒数第二个
house = ['Beijing','Shanghai']
>修改列表元素
house[0] = 'China'
>append() 末尾添加
house.append('Guangzhou') # 'China','Shanghai','Guangzhou'
>insert(index,value) 任意位置插入元素
house.insert(1,'Tianjin')# 'China','Tianjin','Shanghai','Guangzhou'
>del 删除列表元素,按其索引
del house[0] # 'Tianjin','Shanghai','Guangzhou'
>pop(index) 弹出列表末尾元素,不指定默认末尾
result = house.pop() # 'Tianjin','Shanghai'
>remove(value) 弹出指定值元素,多个相同删除第一个
house.remove('Tianjin') # 'Shanghai'
>sort() 直接改变列表本身
house.sort()
# house.sort(reverse = True) 逆序排列
>sorted() 临时返回一个被排序的列表,本身不变
print(sorted(house))
>reverse() 将本身列表逆序
house.reverse()
>len() 确定长度
len(house)
>遍历列表,在in的右侧是一个列表,不断为左侧的i赋值
for i in house:
print(i) #输出列表元素
>创建数值列表
for i in range(1,100):
print(i) # i从1到99
number = list(range(1,10)) # 将range创建的数值转化成列表
number1 = list(range(1,10,2)) #以2为步长创建 1,3,5,7,9
>统计计算
house = [1,2,3,4,5,6,7,8]
print(min(house)) # 1
print(max(house)) # 8
print(sum(house)) # 36
>列表解析
house = [value**2 for i in rang(1,11)] #返回一个列表
其中value是临时元素,for循环用来为value不断赋值,左右的方括号是列表的意思
>访问列表的一部分,也就是切片[:] 冒号两侧指定索引开始和结尾
house = ['a','b','c','123',56]
print(house[1:3]) # b c
print(house[-3:]) # c 123 56 从倒数第三元素到结尾
>列表的复制,完全新的副本,与只是索引
house = [1,2,3,4,5,6]
newHouse = house[:] # 完全新的副本,与house不在一篇存储空间
indexHouse = house # 只是索引,同一个存储地址
3.元组
>元组是不可以改变元素,使用的圆括号,而非方括号 () house = (1,2,3,4,5) # house[0] = 10 会报错,不能修改元组 >定义只有一个元素的元要加逗号,但是自动生成的元组可以只有一个元素 house = (1,) house = (1) # 这时house是一个int型变量,而不是元组,两侧变成运算符合 >可以给元组重新赋值,并不会报错 house = (11,2) house = (22,3)
4.if语句
>判断
== 相等
!= 不相等
and 且,两边都要真为真
or 或,只要一个真就真
if i in house : 检查在列表中 in
if i not in house : 检查不在列表中 not in
>if-else
if i == 10:
print('ok')
else:
print('not ok')
>if-elif-else 检查多个情况,但只遇到合适的执行一次,就停止剩下的检测
if age < 2:
print('小于2')
elif age < 4:
print('大于等于2,小于4')
elif age <8:
print()
else:
print('大于等于8')
#省略else
#elif age >= 8:
# print('大于等于8')
>列表判空
house = []
if house: #house不为空,返回True
print('列表不空')
else:
print('空列表')
5.字典与集合
>字典是用一对{key:value,}来表示,和列表、元组不同,访问还是用[key]其中仍然是方括号
>key是唯一的
house = {'China':1,0:1,'Beijing':2}
>del 用来删除指定key,和列表的删除一样
del house['China'] # 删除这个k-v对
>get(key,replace) 进行查找key对应的value,不存在返回replace,不指定返回None
print(house.get('China','not include')) #打印出not include
>items() 字典的每一个Pair称作item,遍历item按照,python3.6后按添加顺序遍历
for k, v in house.items():
print(k,v) # Beijing 2
>keys() 返回所有的键为一个列表
for k in house.keys():
>values() 返回所有的值为一个列表
for v in house.values():
set(house.values()) #通过集合为返回的列表去重,在存在大量重复的value时很有效
>集合set()
>集合是只有键,没有对应值,也是用{}创建
house = {1,2,3,4,'aa'} #元素不能重复
>列表的元素可以是字典
>字典的value可以是列表
house = {"china":1,1:2}
list = [house]
list[0][1] = 3 #修改house的key为1的value
house = {"china":[1,2,3],5:2}
6.input和while
>input('提示语) 终端输入赋值
w = input('please') #输入的字符串赋值给w
>int(str)将str强转为整形
str = input('please input numbern')
a = int(str) #a为一个整数
>while循环
number = 0
while number < 10 :
number += 1
continue #跳过执行
break #终止
house = ['dd','dd','aa']
while 'dd' in house: #判断一个元素是否在列表中
house.remove('dd') #一次只移除第一个找到的元素
7.函数
>函数格式,参数、返回值都是可选,可以返回多个值
def funname():
pass
>传递列表到函数中,则传递的是引用,而不是拷贝
funname(house) #这是拷贝
funname(house[:]) #这是副本
>接收任意长的参数 *
def fun1(*para):
# *将para接收的所有参数打包成一个元组
for i in para:
print(i) #注意是遍历para而不是 *para
>指定参数+任意参数;指定参数要放在前面
def fun2(age,name,*para):
# age和name是两个参数,para是一个元组
pass
>** 表示一个空字典
def fun3(age, name, **para):
para['age'] = age
para['name'] = name
return para
paranew = fun3(10,20,'a':2, 'b':3) #从第三个参数开始要传递的是键值对
print(paranew) #{'a':2, 'b':3, 'age':10, 'name':20}
>import 将独立文件中函数导入到当前文件
#a.py
def func1():
pass
#b.py
import a
print(a.func1()) #调用模块a的函数
>from xx import func1 从模块xx中只导入函数func1
并且调用时直接用func1() 不需要加入xx.
> import numpy as np 其中的as用来给numpy起别名
8.类
>基本结构
class Car:
def __init__(self,name,age):
self.name = name
self.age = age
def Speak(self):
print(f"{self.name}<< >>{self.age}")
>继承
class EletricCar(Car): #这时创建类要加()来传入父类
def __init__(self,name,age):
#初始化父类的init函数
super().__init__(self,name,age)
self.battery = 20 #子类独有的属性
def Speak():
# 可重写父类的方法
pass
def Speak1():
pass #子类独有的方法
ele = EletricCar("BEn",12)
ele.Speak()



