Python基础语法一
所有内容都在代码上,有相关代码注释
# #代表注释 # 区分大小写、以回车换行结束 # 多行编写可以使用反斜杠 \ # 缩进代表一个代码块 #数值 #int类型可以使用下划线分割 c=123_456_789 print(c) #输出内容:123456789 #二进制以0b开头 b=0b1001 print(b) #输出内容:9(控制台输出都为十进制) #16进制以0x开头 a=0x1a1 print(a) #输出内容:417 #字符串 #可以是单引号、可以是双引号 d='测试' print(d) #输出内容:测试 d="测试2" print(d) #输出内容:测试2 #银行嵌套 d="小明说:‘测试2’" print(d) #输出内容:小明说:‘测试2’ #多行字符串,不保留格式,由于引号不能跨行使用,如果使用,需要使用反斜杠 d='小明\ 小白' print(d) #输出内容:小明小白 #多行字符串,保留格式(使用三引号) d='''小明 小白''' print(d) #输出内容小明:小白,其中小明小白中间换行 #转义字符 # \' 表示 ' # \" 表示 " # \t 表示 制表符(等同于Tab键) # \n 表示换行 # \\ 表示 \ d="小明说:\'测试\'第三次\n可以\t结束\\" print(d) #输出内容:分为两行,第一行(小明说:'测试'第三次),第二行(可以 结束\) #字符串拼接(四种方式:拼串方式、传参方式、占位符方式、格式化字符串方式) #1、拼串方式 print("hello"+"word") #输出内容:helloword #python中字符串不能与非字符串拼接,例如:print("hello"+100) 会报错 #2、使用多传参方式 print("d",100) #输出内容:d 100 #3、使用占位符%s #占位符:%s(字符串占位符) %f(浮点数占位符) %d(整数占位符) # %s(字符串占位符,%s要写在原字符串内部) print("d%s"%200) #输出内容:d200 #多个占位符(多个值需要用括号) print("d%s%s"%(200,'测试')) #输出内容:d200测试 #指定字符串长度(s前的数字为几,即拼接多少字符串,如果不够,前面用空格补充,如果超出,正常输出) print("d%5s"%200) #输出内容:d 200 print("d%3s"%1234) #输出内容:d1234 #强制控制长度(s前的数字为小数,即最小几位最大几位,如果不够,前面用空格补充,如果超出,将从前截取最大位数输出) print("d%3.5s"%12) #输出内容:d 12 print("d%3.5s"%123456) #输出内容:d12345 # %f(浮点数占位符) 如果不够,后面补0,不过超出,四舍五入取指定位数 print("%.2f"%123.4) #输出内容:123.40 print("%.2f"%123.456) #输出内容:123.46 # %d(整数占位符) 直接输出整数位(向下取整) print("%.2d"%123.4) #输出内容:123 #4、格式化字符串 #字符串添加f(大小写都可以)创建格式化字符串 a = 'hello' b = 'word' c = f'c:测试:{a}-{b}' print(c) #输出内容: c:测试:hello-word #字符串复制(使用*) a="abc" b=5 print(a*b) #输出内容: abcabcabcabcabc #布尔值(首字母大写) a = True b = False print(a,b) #输出内容: True False # None(首字母大写) a = None print(a) #输出内容: None #类型校验:type函数 print(type(10)) #输出内容: <class 'int'> print(type(1.01)) #输出内容: <class 'float'> print(type("a")) #输出内容: <class 'str'> print(type(True)) #输出内容: <class 'bool'> print(type(None)) #输出内容: <class 'NoneType'> #类型转换 int() float() str() bool() a = True; print(int(a)) #输出内容: 1 a = 11.11 print(int(a)) #输出内容: 11 #算数运算 print(10/3) #输出内容: 3.3333333333333335 print(10//3) # // 整除 输出内容: 3 print(10**5) # ** 次方 输出内容: 100000 print(10000**0.5) # ** 平方根 输出内容: 100 #判断 判断后面跟冒号 a = 10 if a>5 and a<20: print('aaa') elif a>=20: print('bbb') else: print('ccc') #while break continue a=1 while a<=100: a=a+1 if a<50: continue; print(a) if a == 70: break #input函数 #如果是第一次使用sublime,则会出现按回车后没有执行的问题,需要安装SublimeREPL #可按照https://blog.csdn.net/Koevas/article/details/86098849进行设置安装即可 #测试时可放开,为了运行流畅,暂时注释掉 #a = input("请输入:") #print("您输入的是%s"%a) #print("d%s"%200) #输出内容:d200 #print('123') #列表 list1 = ["a","b","c","d","e","f"] print(type(list1)) print(list1) #列表索引 print(list1[2]) #负数意思为倒叙取数 print(list1[-1]) #索引范围 左包右不包(左边包括索引位置值,右边不包括索引位置值) print(list1[2:5]) #输出内容:['c', 'd', 'e'] #步长取数 最后一个参数为步长 print(list1[0:7:2]) #输出内容:['a', 'c', 'e'] #in / not in print("a" in list1) #输出内容:True print("k" in list1) #输出内容:False #len()、min()、max() list1 = [1,2,3,4,7,8,9,3,0,8,9,3,6] print(min(list1)) #输出内容:0 print(max(list1)) #输出内容:9 print(len(list1)) #输出内容:13 #获取索引位置 第一个参数为元素,第二个参数为起始位置 print(list1.index(3)) #输出内容:2 print(list1.index(3,4)) #输出内容:7 #count() 统计指定元素出现次数 print(list1.count(8)) #输出内容:2 #列表替换值 list1 = ["a","b","c","d"] list1[0] = "b" print(list1) #输出内容:['b', 'b', 'c', 'd'] #区间替换 区间替换最好保持N对N,即区间有几个就赋值几个 #如果赋值多于区间数,替换后剩余的会拼接在替换的字符串后 #如果赋值小于区间去,则会按顺序替换,多余的待替换数据将被删除 list1 = ["a","b","c","d"] list1[0:2] = ["aaa","bbb","ccc"] print(list1) #输出内容:['aaa', 'bbb', 'ccc', 'c', 'd'] list1 = ["a","b","c","d"] list1[0:2] = ["aaa"] print(list1) #输出内容:['aaa', 'c', 'd'] #删除元素del list1 = ["a","b","c","d"] del list1[3] print(list1) #输出内容:['b', 'b', 'c'] #区间删除 list1 = ["a","b","c","d"] del list1[0:2] print(list1) #输出内容:['c', 'd'] #步频删除 list1 = ["a","b","c","d","e","f","g","h"] del list1[::2] print(list1) #输出内容:['b', 'd', 'f', 'h'] #添加append()函数 list1 = ['a','b'] list1.append("c") print(list1) #输出内容:['a', 'b', 'c'] #insert()函数 指定位置插入元素,其余元素后移 list1.insert(2,"e") print(list1) #输出内容:['a', 'b', 'e', 'c'] #extend()函数 将集合添加到原有集合后面 list1.extend(["f","g"]) print(list1) #输出内容:['a', 'b', 'e', 'c', 'f', 'g'] #clear()函数 清空集合 list1.clear() print(list1) #输出内容:[] #pop()函数 根据索引删除,返回内容为被删除的元素 list1 = ["a","b","c","d","e","f","g","h"] print(list1.pop(3)) #输出内容:d #remove()函数 根据元素内容删除,如果有多个,删除第一个 list1 = ['a','a','b','b','c'] list1.remove('b') print(list1) #输出内容:['a', 'a', 'b', 'c'] #reverse() list1.reverse() print(list1) #输出内容:['c', 'b', 'a', 'a'] #sort()排序函数 list1 = list('kashf') list1.sort() print(list1) #输出内容:['a', 'f', 'h', 'k', 's'] #降序排列 list1.sort(reverse=True) print(list1) #输出内容:['s', 'k', 'h', 'f', 'a'] #遍历 list1 = list('kashf') for s in list1: print(s) #range()函数 三个参数分别为:起始位置,结束为止,步频;如果只有一个参数,默认为结束位置 r = range(5) print(list(r)) #输出内容:[0, 1, 2, 3, 4] r = range(0,10,2) print(list(r)) #输出内容:[0, 2, 4, 6, 8] r = range(10,0,-3) print(list(r)) #输出内容:[10, 7, 4, 1] #元组 my_tuple = 10,20,30,40 print(my_tuple , type(my_tuple)) #元组解包,一对一解包,也可以在变量前加*做解包,一次解包只能使用一个* a,b,c,d = my_tuple print("a=",a) print("b=",b) print("c=",c) print("d=",d) a,*b,c = my_tuple #输出内容:b= [20, 30] print("a=",a) print("b=",b) print("c=",c) #对比 ==对比的是值 is对比的是物理地址 a = [1,2,3] b = [1,2,3] print(a==b) #输出内容:True print(a is b) #输出内容:False b = a print(a==b) #输出内容:True print(a is b) #输出内容:True #字典 类似于java中的map #创建字典方式1 dict1 = { 'name':'lcl', 'age':'18', 'gen':'man' } print(dict1,type(dict1)) #输出内容:{'name': 'lcl', 'age': '18', 'gen': 'man'} <class 'dict'> print(dict1['name']) #输出内容:lcl #创建字典方式2 属性值不能加引号,否则报错 dict2 = dict(name='lcl2',age='18') print(dict2['name']) #输出内容:lcl2 #创建字典方式3 dict3 = dict([('name','lcl3'),('age','19'),('gen','man')]) print(dict3['name']) #输出内容:lcl3 #获取键值对个数len() print(len(dict3)) #输出内容:3 #判断字典中是否存在某个键 in / not in print('name' in dict3) #输出内容:True print('name' not in dict3) #输出内容:False print('kk' in dict3) #输出内容:False print('kk' not in dict3) #输出内容:True #如果不存在key,增加默认值返回 print(dict3.get('name', '不存在')) #输出内容:lcl3 print(dict3.get('kk', '不存在')) #输出内容:不存在 #替换 dict3['name'] = 'lclNew' print(dict3.get('name', '不存在')) #输出内容:lclNew #setdefault 新增键值对 #如果原key不存在,则新增成功,返回新增的value; #如果原key存在,新增失败,返回原有的value print(dict3.setdefault('name','lcl')) print(dict3.setdefault('add','beijing')) print(len(dict3)) #输出内容:4 #update 两个字典拼接 dirc1 = dict(name='lcl1',age='18') dirc2 = dict([('gen','man'),('add','beijing')]) dirc1.update(dirc2) print(len(dirc1)) #输出内容:4 print(len(dirc2)) #输出内容:2 print(dirc1['add']) #输出内容:beijing #删除键值对 del del dirc1['name'] print(len(dirc1)) #输出内容:3 print(dirc1.get('name','已删除')) #输出内容:已删除 #popitem 随机删除一个键值对(一般是最后一个),返回值为删除的键值对 dict3 = dict([('name','lcl3'),('age','19'),('gen','man')]) print(dict3.popitem()) #输出内容:('gen', 'man') print(len(dict3)) #输出内容:2 print(dict3.get('gen','已被随机删除')) #输出内容:已被随机删除 #pop 根据key删除键值对,返回value print(dict3.pop('name')) #输出内容:lcl3 print(dict3.get('name','已被使用pop删除')) #输出内容:已被使用pop删除 #清空字典 dict3 = dict([('name','lcl3'),('age','19'),('gen','man')]) dict3.clear() print(len(dict3)) #输出内容:0 #copy dict3 = dict([('name','lcl3'),('age','19'),('gen','man')]) dict4 = dict3.copy() print(dict4['name']) #输出内容:lcl3 print(dict3 == dict4) #输出内容:True print(dict3 is dict4) #输出内容:False #字典遍历 #方式一 for key in dict3: print(key,"=",dict3[key]) #方式二 for key in dict3.keys(): print(key,"=",dict3[key]) #方式三 for key,value in dict3.items(): print(key,"=",value) #set集合 set1 = {1,2,3,4,5} print(set1) #输出内容:{1, 2, 3, 4, 5} set1 = set([1,2,4,6,8]) print(set1) #输出内容:{1, 2, 4, 6, 8} set1 = set('hello') print(set1) #输出内容:{'h', 'o', 'l', 'e'} #如果将字典转为set集合,则只转key dict3 = dict([('name','lcl3'),('age','19'),('gen','man')]) set1 = set(dict3) print(set1) #输出内容:{'age', 'gen', 'name'} #添加元素使用add()、两个set集合拼接使用update()、删除指定元素使用remove() #浅复制使用copy()、清空集合使用clear() #集合运算 set1 = {1,2,3,4} set2 = {3,4,5,6} #交集 & print(set1 & set2) #输出内容:{3, 4} #并集 | print(set1 | set2) #输出内容:{1, 2, 3, 4, 5, 6} #异或集 ^ (只在一个集合中出现,交集的反向集合) print(set1 ^ set2) #输出内容:{1, 2, 5, 6} # <= 校验是否为子集 print({1,2,3} <= {1,2,3,4}) #输出内容:True print({1,2,3} <= {1,2,4}) #输出内容:False # < 校验是否为真子集 print({1,2,3} < {1,2,3,4}) #输出内容:True print({1,2,3} < {1,2,3}) #输出内容:False #同样,也有反向校验 >=和>
------------------------------------------------------------------
-----------------------------------------------------------
---------------------------------------------
朦胧的夜 留笔~~
-----------------------------------------------------------
---------------------------------------------
朦胧的夜 留笔~~