0.基本的数据类型:
- Number(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Set(集合)
- Dictionary(字典)
1.基本的输入输出:
input #输入
print #输出
age = 10;name = "小明";print(age,type(age))inputage = input("请输入你的年龄:")print(inputage,type(inputage))print("我的名字是:"+name+",年龄是:",age)
2.列表:list
#生成列表score_list = [12,'aa',12.3,True,12]print(score_list[1])#列表添加数据# append:向队尾追加元素#insert:根据指定的位置添加元素#score_list.append("bb")score_list.insert(2,"bb") #在第二个下标位置添加元素“bb”print(score_list)#根据下标查询列表中的元素#下标范围:从0开始,长度减一,循环列表print(score_list[-3])#根据下标删除数据del score_list[2]print(score_list)#直接删除整个列表# del score_list# print(score_list)#列表之间可以通过 + 拼接scores = [23,24,5423,'12']listAll = scores+score_listprint(listAll)
3.元组:tuple
#特点:有序的,允许存储重复的元素,允许存储不同的数据类型#只能查询,不能修改!!!#用小括号,与列表不同
showlist = ('aa',21,"时间")print(showlist,type(showlist))print(showlist[-1])#如果元组中只有一个元素时,必须在元素后面加逗号a = (12,)print(type(a))#元组中元素不可以更改,不能添加删除某个元素,但是可以直接删除整个元组del showlist
4.字典:dict
#字典中的元素都是key:value的组合形式,都是成对出现的键字对
#多个元素之间用逗号隔开,key不能重复使用,如重复,后面会覆盖
student = {"name":"aa","age":18}#根据key查询value的值print(student["name"])#添加元素:key不存在时添加,存在时修改student['hobby'] = 'bb'print(student,type(student))
5.集合:set
#用花括号{},无序的
#利用set()函数定义a = set('absabdbasjd')print(a)#用{}直接定义,需要注意的是,创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典score_set = {12,231,"12",1}print(score_set,type(score_set))
6.分析循环语句
#分支和循环语句#1.条件语句if#单循环if 1: print("aa")#双分支num1 = input("请输入第一个数:")num2 = input("请输入第二个数:")if num1 > num2: print(num1)elif num1 < num2: print(num2)else: print("相等")#2.使用for遍历herolist = ['英雄','人物','皮肤']for hero in herolist: print(hero)#使用循环遍历取值:10以内的数值#range(a,b,c):a到b,包含a不包含b!!,以c为步长,默认为1#range(10):10以内的数值#从0开始,到9,不包含10for i in range(10): print(i)#打印10到20之间的数for a in range(10,20,2): print(a)#题目:遍历10-20以内的所有数值并存储到列表中num = []for a in range(10,20): num.append(a)print(num)#列表生成式,老手常用,掌握!!!nums = [i for i in range(10,20)]print(nums)
7.基本运算符
#python不可以写++,-- 只能写+= -=age = 20age += 1print(age)#获取小数print(7/3)#取整(数学库中的方法)和四舍五入import math#向上取整print(math.ceil(3.14259))#向下取整print(math.floor(3.14159))#四舍五入 round(a,b) 保留b位小数的情况下对a进行四舍五入print(round(3.14159,2))
8.数据的格式化
name = "aa"age = 18#方式一:代替符 %s:字符串 %d:表示数值#通常使用第一种a = "我的名字是:%s 我的年龄%d"%(name,age)print(a)#方式二:b = "我的名字是:{} 你的年龄是{}".format(name,age)print(b)
9.字符串的切割
msg = "汉阳 / 王家湾 / 平塘路保利青年荣耀"#split():通过指定分隔符对字符串进行切片,返回的结果一定是一个列表result = msg.split("/")print(result)#等价输出nums = [i for i in result ]print(nums,type(nums))#2.对切割之后每个结果都去掉前后的空格 strip()#strip():用于移除字符串头尾指定的字符(默认为空格)或字符序列。#该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。for i in result: print(i.strip())#3.replace:替换word = "aa,aa,bb,c,cd"print(word)#链式调用word = word.replace("aa","ff").replace("c","d")print(word)#4.find方法:查找一个字符串中是否存在某个字符msgs = "hello world"print(msgs.find("hello"))print(msgs.find('lo'))#如果存在返回的是对应的下标,如果不存在,返回-1
python面向对象的语法
10.类和方法
#类的定义:面向对象 类 对象 方法#类中包含属性和方法 属性:静态特征 方法:动态特征#创建类class Student: #定义属性 name = "aa" age = 18 #show方法 self就是代表当前对象 def show(self,name,age): self.name = name self.age = age#类的外部方法 没有self参数def a(): pass#创建学生对象zhangsan = Student()#给对象的属性赋值zhangsan.name = "张三"zhangsan.age = 20#调用对象中的方法# zhangsan.show("李四",22)zhangsan.show()
11.文件的读写
#文件的读写:open("要读写文件的路径","操作符")打开文件#路径:绝对路径和相对路径【推荐】#操作符:r(read):读 w(write):清空写 a(append):追加写#rb二进制读 wb二进制写 ab二进制追加写#1。打开文件fileReader = open("a.txt",'r',encoding="utf-8")#2.调用读取的方法#read():读取文件所有内容,并返回整个字符串#readline():每次只读取一行#readlines():读取所有的内容,返回每行内容作为列表result01 = fileReader.read()print(result01,type(result01))result02 = fileReader.readline()print(result02,type(result02))result03 = fileReader.readlines()print(result03,type(result03))#1.打开文件writerFile = open("a.txt","w",encoding="utf-8")#如果文件不存在,会像创建文件,再写入内容#2.调用方法writerFile.write("中文")# writerFile.close() #手动关闭#写入文件自动关闭with open("c.txt","w") as file: file.write("ag3ijisdfjs")# #二进制的读取和写入# #二进制读取,不能添加encoding参数# with open("a.txt","rb") as file:# #把二进制内容转换位字符串:decode()解码# print(file.read().decode())#二进制写入with open('d.txt','wb') as file: #把字符串转化为二进制 encode()编码 file.write('aasadasd'.encode())
12.正则表达式
#正则表达式#导入正则库import re#1.match :只返回满足正则表达式的第一个匹配结果#规则:由一些普通字符和一些元字符组成result = re.match(r'[abc]',"csdadasddasdasd")print(result.group())#findall():返回所有满足正则表达式的匹配结果,组成列表results = re.findall(r'[abc]','salbgfhgjgj')print(results)#手机号码的匹配:#以1开头 135 187 11位#Python学习群:748 989 764result = re.findall(r'^1[3|5|7|8|9]\d{9}$','18723472345')print(result)