Python基础(一)
前面已经接触过Python了,现在从头把python学一遍,巩固一下基础知识。因为学了很多语言了,更多的是熟悉语法。
Python基础(一)
变量定义
# 多个变量赋值
# 默认大写的是常量 最好不要修改
#空值 None
A,b,c = 100,200,300
print(A,b,c)
字符串
print(",".join(("a","b","c"))) #字符串拼接
print("{}{}{}".format("aa","bb","cc")) #字符串格式化
print("{:.2f}".format(3.1415))
print("{1:.2f}".format(3.1415,5.1415))
print("{1:.2%}".format(0.1415,0.415))
name,age="lisi","12"
print(F"${name}|${age}")
print(len("abcd")) #字符串长度
print(max("abcd")) #最大值
print(min("abcd")) #最小值
print("abcdefg".find("c")) #第一次出现的字符串下标
print("abcdefg".find("c",0,60)) #第一次出现的字符串下标 加范围约束
print("abcdefg".count("c")) #字符串出现的次数
print("abcdefg".count("c",0,60)) #字符串出现的次数
print("aaabbbcccdd".replace("a","m")) #字符串替换
print("aaabbbcccdd".upper()) #字符串转换为大写
print("AAABBBCCCDD".lower()) #字符串转换为小写
print("a,b,c,d,e".split(",")) #字符串分割 第二个参数是分割的次数
print(" a,b,c,d,e ".strip()) #字符串去除左右空格 第二个参数可以是去除相应的字符串
print("123456"[0:3])#123 下标0开始 右边开
print("123456"[3:])#456 下标3开始,一直到末尾
print("123456789101112"[1:9:2])#2468 下标1开始,一直到末尾,每次跳跃2
print("123456789"[::-1])#987654321 字符串反转
print("111"*5)#111111111111111 字符串重复
print("4" in "1234")
print("4" not in "1234")
列表
list=["a",2,[4,5,6]]
print(list[2]) #列表元素第二个
print(list[2][2]) #列表元素第二个 在列表的第二个
print(len(list)) #列表长度
list[2]=100 #更改列表的元素
print(list)
list2=[7,8,9]
print(list+list2) #两个列表元素相加
print(list2*2) #列表元素重复
print([1,2,3,4,5,6,7][1:4]) #从第一个元素截取到第四个
print([1,2,3,4,5,6,7][1:]) #从第一个元素截取到最后一个
print([1,2,3,4,5,6,7][:]) #整个列表
print([1,2,3,4,5,6,7][0::2]) #整个列表
print([1,2,3,4,5,6,7][::-1]) #整个列表
a=[1,2,3]
del a
print(a) #删除变量
del list[0]
print(list) #删除列表中的元素
list.append("10") #列表最后插入元素
print(list)
list.insert(0,"10") #列表开始插入元素
print(list)
list.clear() #列表清空
print(list)
list.remove(9) #列表移除元素,重复元素只能移除第一个
print(list)
data = list.pop(2) #列表移除元素,移除固定下标,可以返回移除元素
print(list,data)
print([1,2,3,4,5,5,7].index(5)) #返回第一次匹配到的下标
print([1,2,3,4,5,5,7].index(5,1,3)) #返回第一次匹配到的下标 23参数查找范围
list.reverse() #列表反转
print(list)
+:新建一个列表 extend:在原来列表上相加
list.extend(["m","n"]) #一次添加多个元素到末尾 +相同效果
print(list)
list2=list.copy() #列表复制操作 =直接就是相同的一个列表
del list2[0]
print(list)
list3=[9,5,2,1,7,8]
list3.sort(reverse=True)
print(list3)
print(list.count("a")) #列表出现的次数
print(len([1, 2, 3, 4])) #长度
print(max([1, 2, 3, 4])) #最大
print(min([1, 2, 3, 4])) #最小
print(1 in [1,2,3,4])
print(1 not in [1,2,3,4])
元组 不可变
t=("a","b",[1,2])
print(t[1]) #元组下标取值
print(("a","b",1)+("a","b",1)) #元组拼接
t[2][0]="abcd"
print(t) #元组不能改变 但是元组内的列表可以改变
print(len((1, 2, 3, 4))) #长度
print(max((1, 2, 3, 4))) #最大
print(min((1, 2, 3, 4))) #最小
c=(10,) #必须加,才能表示是元组
print(c)
print(c*5) #元组重复
print(1 in (1,2,3,4))
print(1 not in (1,2,3,4))
集合 无序,元素唯一
a=set([1,2,3]) #{1, 2, 3}
print(a)
a=set({1,2,3}) #{1, 2, 3}
print(a)
a=set("123") #{'3', '2', '1'}
print(a)
set={1,2,3,1} #{1, 2, 3}
set.add("1") #添加元素
print(set)
print(set.update({'a','b','c'})) #集合合并
set.remove(1) #删除元素 没有元素会报错
print(set)
set.pop() #随机删除
print(set)
set.discard("1") #删除元素 没有元素不会报错
print(set)
print({1,2,3}&{1}) #集合的交集
print({1,2,3}|{4,5,6}) #集合的并集
print(1 in {1,2,3,4})
print(1 not in {1,2,3,4})
字典
direct={"name":"lisi",12:12,(1,2):"man"}
print(direct)
print(dict((["name","age"],["zhangsan",12]))) #创建字典
空字典{} 空集合建议set()
direct["sex"]="woman" #字典的增加
print(direct)
direct["sex"]="man" #字典的修改
print(direct)
print(direct["name"]) #字典的获取
del direct["sex"] #字典的删除
print(direct)
print(direct.get("name")) #字典的获取
print(direct.get("score",100)) #字典的获取,并且给默认值
print(direct.items()) #字典的所有元素
print(direct.keys()) #字典的所有key
print(direct.values()) #字典的所有value
print(len(direct))
direct.clear() #字典的清空
direct2=direct.copy() #字典的拷贝
direct.clear()
print(direct2)
d={}
d1=d.fromkeys(("name","sex"),(1,2)) #创建新的字典 第二个参数是所有的默认值
print(d1)
direct.pop("name") #字典的移除
print(direct)
direct.popitem() #字典的删除最后一条数据
print(direct)
direct.setdefault("sex","man") #字典添加 保留最新的元素
print(direct)
direct.update({"name":"man"}) #字典之间的添加和更新
print(direct)
print("name" in {"name":"zhangsan","sex":"man"})
print("name" not in {"name":"zhangsan","sex":"man"})
is/is not 判断
#数字/字符串/元组 都是不可变的 表面一样,完全一样
#集合/字典/列表 都是可变的 表面一样,其实不一样
print(1 is 1) #True
print(1 is not 1) #False
print("a" is "b") #True
print("a" is not "b") #False
print((1,2,3) is (1,2,3)) #True
print((1,2,3) is not (1,2,3)) #False
print([1,2,3] is [1,2,3]) #False
print([1,2,3] is not [1,2,3]) #True
print({1,2,3} is {1,2,3}) #False
print({1,2,3} is not {1,2,3}) #True
print({"name":"lisi"} is {"name":"lisi"}) #False
print({"name":"lisi"} is not {"name":"lisi"}) #True
if elif else判断
if 2>6:
print("aaa")
elif 4>6:
print("bbb")
else:
print("ccc")
数据类型判断
isinstance(myClass,Iterable)//检测类是否式可迭代的类
类是否包含__iter__方法来确定的
迭代方式一:for index in [1,2,3,4]
迭代方式二:value=next(list) 就是最终的使用方法 __iter__
自定义迭代器必须包含两个方法:__iter__ __iter__
data = [x*2 for x in range(10)]
循环
direct={"name":"zhangsan","sex":"man"}
for index in direct:
print(index) #只会识别key
for index in direct.items():
print(index) #只会识别key
for index in range(0,10): #0-9
print(index)
for index in range(0,10,2): #02468
print(index)
data=[1,2,3,[4,5,6]]
for index in data:
if(isinstance(index,list)):
for index_item in index:
print(index_item)
else:
print(index)
index = 0
while index < 10:
index+=1
print(index)
else:
print(index,10,index > 10)
for index in "abcd":
if(index == "c"):
break
print(index)
for index in "abcd":
if(index == "c"):
continue
print(index)
for index in "abcd":
pass#跳过代码
函数默认参数
def my_fun(a=300,b=400):
return a+b
print(my_fun(100))
print(my_fun(b=100)) #固定位置传递参数
def my_fun(a=300,b=[]):
b.append(a)
print(b)
my_fun(100) #[100]
my_fun(100) #[100, 100] 继续传递给下一个函数了
def my_fun(a=300,b=None):#修改成不可变的类型
if(b is None):
b = []
b.append(a)
print(b)
my_fun(100) #[100]
my_fun(100) #[100, 100] 继续传递给下一个函数了
def my_fun(a=100,*,b=200,c=200):#修改成不可变的类型
print(a,b,c)
my_fun(100)
my_fun(100,c=300,b=100)
字典参数
def fun1(*args,**kwargs):## **就是字典对象
print(args,"|",kwargs)
def fun2(*args,**kwargs):
print(args,kwargs)
fun1(*args,**kwargs)
fun2(10,20,30,40,a=10,b=20)
拆包/解包
def fun1(a,b,c):
print(a,b,c)
fun1(*"123") #将参数解析为三个参数
fun1(*(4,5,6))
fun1(*{"aa":"zhangsan","bb":"man","cc":"12"}) #按照名字取解析
可变参数配合 拆包/解包
def fun1(a,*b):
print(a,b)
fun1("a",*"123")
return
def fun1():#多个参数
return "a",1
print(fun1())
def fun1():#函数嵌套
def fun2():
return 10
return fun2()
print(fun1())