Python基础知识 相关视频 ——Python爬虫编程基础5天速成(2021全新合集)Python入门+数据分析
前言
Python是一门解释型、面向对象的高级编程语言。
Python是开源免费的,支持交互式、可跨平台移植的脚本语言。
Python的设计混合了传统语言的软件软件工程的特点和脚本语言的易用性。
具有如下特性:
开源、易于维护
可移植
易于使用、简单优雅
广泛的标准库、功能强大
可扩展、可嵌入
……
变量
1 2 3 4 a = 'ABC' Python解释器干了两件事 1 在内存中创建了一个'ABC' 的字符串2 在内存中创建了一个名为a的变量,并把它指向'ABC'
1 2 3 占位符——格式化输入 age = 3 print("我今年%d岁了" ,age)
input——进行输入
type(变量名)查看变量的类型
强制类型转换——变量类型(变量)
**——次方
条件判断语句 1 2 3 4 5 6 7 c = int (input ()) if c > 10 : print("大于10" ) elif c <10 : print("小于10" ) else : print("等于10" )
通过缩进来告诉编译器这几行代码属于同一个代码段。
引入库 import xxx或者from … import 来导入相应的模块
可以选择全部引入还是引入部分函数。
循环语句 for…in,可以依次把list或者tuple中的元素迭代出来。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 for i in range (5 ): print(i) for i in range (0 ,11 ,3 ): print(i) name = "beijing" for x in name: print(x) a = ["aa" ,"bb" ,"cc" ] for i in range (len (a)): print(a[i])
while
python没有++
1 2 3 4 5 6 7 #计算1 到100 的和 i = 1 sum = 0 while i <= 100 : sum += i i+=1 print(sum)
python总while可以和else使用,当while条件不满足的时候执行else
1 2 3 4 5 6 i =1 while i < 10 : print(i,"小于10" ) i += 2 else : print(i,"大于等于10" )
break、continue同其他编程语言
pass是空语句,一般用做占位语句,不做任何事情。
字符串 String
Python中的字符串可以使用单引号、双引号或者三引号,反斜杠\转义特殊字符。
Python3源码文件默认以UFT-8编码,所有字符串都是unicode字符串。
支持字符串拼接、截取等多种运算。
三引号,默认保留编写程序时的格式。
1 2 3 4 5 6 words = """ 123 ABC A1B2C3 """
单双引号使用时候区别,有的字符串用到单引号就需要使用转义字符,类似情况同理,使用转义字符。
字符串的截取
1 2 3 4 5 6 7 8 9 10 11 str = "123ABC" print(str [1 ]) print(str [1 :3 ]) print(str [0 :4 :2 ]) print(str [:2 ]) print(str [0 :])
字符串的拼接
“xxx”+”xxx”
引号前加r取消转义,内容全部保留
字符串相关函数
略……,现用现查吧。
列表 类似于其他编程语言中的数组。
列表可以完成大多数集合类的数据结构实现。列表中有元素的类型可以不相同 ,它支持数字、字符串、甚至可以包括列表(嵌套)。
列表是写在方括号[]之间,用逗号分隔开的元素列表
列表索引值以0为开始值,-1为从末尾的位置开始。
列表可以使用+操作符进行拼接。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 #创建 nameList = []#定义一个空列表 nameList1 = ["小王" ,"小李" ] print(nameList1)#打印全部内容 testList = [123 ,"ABC" ]#怎么定义的,就是什么类型 #遍历 for name in testList: print(name) #长度 length = len(testList) #常用的方法 #增加 #在末尾追加一个元素 nameList.append("添加一个数据" ) #扩展,将另一个列表中的数据逐一添加到末尾 nameList.extend(nameList1) #insert nameList.insert(1 ,"数据" ) #删除 #指定下标删除元素 del nameList[1 ] #删除末尾元素 nameList.pop() #指定数据元素删除-多个匹配内容只会删除找到的第一个 nameList.remove("元素名字" ) #修改 nameList[1 ] = "我是新的数据" #查找 findName = input("查找内容" ) if findName in nameList: print("找到了" ) else print("没有" ) #指定范围查找指定内容,找到返回下标,左闭又开 nameList.index("查找内容" ,0 ,3 ) #统计某个元素出现几次 nameList.count("元素" ) #反转 nameList.reverse() #排序-升序 nameList.sort() #排序-降序 nameList.sort(reverse=True) #嵌套 #有三个元素的空列表,其中的每个元素都是一个空列表 schoolNames = [[],[],[]] SecondNames= [['赵' ,'钱' ],['孙' ,'李' ]] #例子-将元素随机分配 import randomoffice=[[],[],[]] names = ["A" ,"B" ,"C" ,"D" ,"E" ,"F" ,"G" ,"H" ] for name in names: index = random.randint(0 ,2 ) office[index].append(name);
元组
类似于list,不同之处在于元组的元组不能修改,写在小括号里。
元组的元素不可变,但可以包含可变对象。
1 2 3 4 5 6 7 8 9 10 tupTest = (50 ) tup1 = (12 ,13 ,14 ) tup2 = ('a' ,'b' ) tup = tup1 + tup2 del tup
字典
字典是无序的对象集合,使用键-值(key-value)存储,具有极快的查找速度。
键(key)必须使用不可变类型。
同一个字典中,键(key)必须是唯一的。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 info = {"name" :"快乐的威猛先生" ,"age" :18 } info.get("test" ) info.get("gender" ,"m" ) newID = input () info["ID" ] = newID del info["name" ]del infoinfo["age" ] = 19 info.keys() info.values() info.items() for key,value in info.items(): print("key=%s,value=%s" (key,value)) mylist = ["a" ,"b" ,"c" ,"d" ] for i,x in enumerate (mylist): print(i,x)
集合
和字典类似,也是一组key的结合,但不存储value。key不能重复。
集合是无序的,重复的元素在set中自动被过滤。去重操作。
略……
函数 把具有独立功能的代码块组织为一个小模块。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 def myfunction (): print("---MyFunction---" ) myfunction() def add2Num (a,b ): return a+b def test (a,b ): return a+10 ,b+10 tmp1,tmp2 = test(10 ,20 )
文件操作 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 f = open ("test.txt" ,"w" ) f.write("hello python" ) f.close() r = open ("test.txt" ,"r" ) tmp =r.read(6 ) print(tmp) tmp2=r.readline() tmp3=r.readline() r.close() import osos.rename("test.txt" ,"text2.txt" )
异常处理 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 try : f = open ("123.txt" , "r" ) except (IOError,NameError)as result: pass print(result) import timetry : r = open ("123.txt" ,"r" ) try : while True : content = r.readline() if (len (content) == 0 ): break time.sleep(2 ) print(content) finally : r.close() print("文件关闭" ) except Exception as result: print(result) finally : print(123 )