python语法
1.python用途:数据分析、科学计算、机器学习、深度学习、可视化界面、网页开发、网络爬虫
分为两个版本2.7和3.5(推荐)
2.输出
 print(“abc”)
 print(‘abc’)
 print(“hello\tworld”) \t代表tab键
 print(“hello\nworld”) \n代表换行
 print(“hello”+“123”) 字符串的连接
 print(“hello”+str(123))3.运算符与变量
 取整://
 9//2 输出4幂:**
 3**2 输出9字符串的拼接
 string1=“hello”
 string2=“world”
 string3=string1+string2
 print(string3) 输出为helloworld4.while循环和for循环
 (while循环)
 condition=1
 while condition<5:
 print(condition)#以下两行必须对齐,空tab个位置
 condition+=1(for循环)
 for i in range(5):#默认从0开始,到4结束
 print(i)
 或者
 for i in range(1,10,2):#从1开始到9,间隔是2
 print(i)
 或者
 for i in [1,3,5,7]:#[]为列表,改为()也可以
 print(i)5.列表基础
a_list=[1,2,3,4,5,6]
 print(a_list[1])#打印第1个元素(从0开始)
 print(a_list[4])#打印列表中第4个元素
 print(a_list[-2])#打印列表中倒数第2个元素
 print(a_list[1:4])#部分输出:从第一个开始到第三个
 print(a_list[:-2])#从头打印到倒数第三个
 print(a_list[-3:])#从倒数第三个打印到结束len(a_list)#输出列表长度
 print(a_list.index(3))#输出元素3所在的位置
 print(a_list.count(3))#输出元素3的个数
 a_list.sort()#排序,排序后覆盖掉以前的列表
 a_list.sort(reverse=True)#排倒序6.列表操作和多维列表
 列表操作
 a_list[0]=100#修改列表第0个元素为100
 a_list.append(200)#在列表末尾添加元素200
 a_list.insert(2,300)#在列表第二个位置插入元素300
 del a_list[2]#删除列表第二个元素
 a_list.remove(30)#删除列表值为30的元素(只删除第一个)
 a=a_list.pop()#弹出最后一个元素并赋值给a多维列表
 b_list=[[1,2,3],
 [4,5,6],
 [7,8,9]]
 print(b_list[1]) 输出[4,5,6]print(b_list[2][1]) 输出8
7.元组
 和列表类似
 但是元组不能进行排序、插入、删除等修改操作
 只能重新赋值8.if条件语句
 if a == b:
 print(“a= =b”)
 elif a==c:
 print(“a= =c”)
 elif a= =d:
 pass#不执行任何语句
 else:
 print(a)if a<b and a==d:#and表示与
 print(“right”)if a<b and a==d:#and表示与
 print(“right”)for color in colors:
 if color==“green”:
 break#跳出大循环
 print(“black”)
 else:
 print(“not green”)for color in colors:
 if color==“green”:
 continue#跳出本次循环
 print(“black”)
 else:
 print(“not green”)if “cdd”<“fdj”:#比较两个字符串
 print(1)
 else:
 print(0)9.字典(键值对的集合)
 d={‘pen’:3,‘apple’:7,‘applepen’:10}#key:value 键:值
 d2={1:‘a’,2:‘b’,3:‘c’}
 d3={1.2:3,‘a’:3.5,1:‘aaa’}比如:print(d[‘apple’]) 输出7
 print(d2[2]) 输出bd4={‘a’:[1,2,3,4],‘b’:(1,2,3,4),‘c’:{‘aa’:1,‘bb’:2}}#值可以是列表、元组和字典
print(d4[‘c’][‘aa’]) 输出1
d[‘pen’]=10#修改对应key的值
 d[‘pineapple’]=3#新增一个键值对
 del d[‘pineapple’]#删除一个键值对for key,value in d.items():#遍历整个字典的键值对
 print(‘key:’,key,’\t’,‘value:’,value)for key in d.keys():#遍历整个字典的键
 print(‘key:’,key)for key in sorted(d2.keys()):#根据键来排序
 print(‘key:’,key)10.函数
 def function():#def定义一个函数
 a=1
 b=2
 c=a+b
 print(‘a=’,a)
 print(‘b=’,b)
 print(‘c=’,c)
 print(‘a+b=’,c)
 function()#调用函数可以输出def function3(a=10,b=30):#设置默认值
优先使用局部变量,要想使用全局变量,定义变量值为global
 def function5(b=20):#设置默认值
 global a=10#使用全局变量
 c=a+b
 print(‘a=’,a)
 print(‘b=’,b)
 print(‘c=’,c)
 print(‘a+b=’,c)11.模块
 首先自定义模块:
 def func_max(a,b):
 if a>b:
 print(a)
 else:
 print(b)
 导入自定义模块的几种方式:
 import max#导入max模块
 from max import func_max
 from max import *
 import max as mps:python导入自定义模块时显示“No module named xxx”,先要保证模块和当前文件属于同一个父级文件,如果仍旧无法导入,则将模块拷贝到E:\Anaconda3\Lib\site-packages
导入系统模块:
 import os
 print(os.getcwd())#获取当前文件所在路径12.类和类的继承
 (一)
 (1)定义类(第一种情况):
 class human:
 #以下是类的属性
 name=“someone”
 age=100
 #以下是类的方法
 def my_name(self):
 print(“my name is”,self.name)
 def my_age(self):
 print(“my age is”,self.age)
 def eat(self):
 print(‘eat’)
 def think(self,a,b):
 print(a+b)person1=human()#用类创建对象person1
 person1.name#输出对象的属性(输出‘someone’)
 person1.eat()#输出对象的方法(输出eat)
 person1.my_age() (输出 my age is 100)
 person1.think(10,23) (输出33)(2)定义类(第二种情况)
 class human:#类
 def init(self,name,age):#创建对象时执行,init前后是双下划线而不是单下划线
 self.name=name
 self.age=age
 #类的方法
 def my_name(self):
 print(“my name is”,self.name)
 def my_age(self):
 print(“my age is”,self.age)
 def eat(self):
 print(‘eat’)
 def think(self,a,b):
 print(a+b)
 运行person2 = human()或者person2=human(‘xiaoming’)都会出错
 必须:person2=human(‘xiaoming’,10)#必须输入两个参数才能创建对象 (根据初始化内容输入参数)或者可以在创建的时候直接赋值
 class human:#类
 def init(self,name=“xiaohong”,age=“21”):#创建对象时执行,inin前后是双下划线而不是单下划线
 self.name=name
 self.age=age
 #类的方法
 def my_name(self):
 print(“my name is”,self.name)
 def my_age(self):
 print(“my age is”,self.age)
 def eat(self):
 print(‘eat’)
 def think(self,a,b):
 print(a+b)这样的话直接调用就可以,不需要传参数
 person3=human()可以运行(二)类的继承
 (1)首先定义一个父类,再继承调用:
 class human:#类
 def init(self,name=“xiaohong”,age=“21”):#创建对象时执行,inin前后是双下划线而不是单下划线
 self.name=name
 self.age=age
 print(‘human init’)
 #类的方法
 def my_name(self):
 print(“my name is”,self.name)
 def my_age(self):
 print(“my age is”,self.age)
 def eat(self):
 print(‘eat’)
 def think(self,a,b):
 print(a+b)class student(human):#子类(student)继承父类(human)
 passstu1=student()#用子类student创建对象stu1
 这样就可以调用父类的方法:
 stu1.my_age()(输出 my age is 21)(2)直接创建子类
 class student(human):
 def init(self,grade=1,school=‘MIT’):
 super().init()#父类对象的初始化
 self.grade=grade
 self.school=school
 self.score=100
 print(‘student init’)
 #创建方法
 def learn(self):
 print(‘learning’)
 def my_school(self):
 print(‘my school is’,self.school)stu2=student(4) (输出human init
 student init)
 stu2.my_age()#stu2是子类student的对象,而student又是human的子类
 输出(my age is 21)
 stu2.learn()#当既可以调用父类的方法,当然也可以调用自己另外定义的方法
 输出learning除此之外,子类还可以重写父类的方法,比如
 class student(human):
 def init(self,grade=1,school=‘MIT’):
 super().init()#父类对象的初始化
 self.grade=grade
 self.school=school
 self.score=100
 print(‘student init’)
 #创建方法
 def learn(self):
 print(‘learning’)
 def my_school(self):
 print(‘my school is’,self.school)
 def think(self,a,b):#子类可以重写(覆盖)父类的方法
 print(a*b)stu3=student()#创建对象
 stu3.think(10,20)#这时候输出的是200而不是30,因为父类的方法已经被子类覆盖13.input的用法
 a_input=input()#很像是C语言中scanf的用法
 会弹出一个输入框,输入内容按回车键就可以了
 print(a_input)b_input=input(‘please input something:’)
 print(b_input)name=input(‘please enter your name:’)
 print(‘hello’,name)number=input(‘please enter a number:’)
if int(number) = = 1:
 print(‘well done’)
 elif number= = 2:
 print(‘all right’)
 else:
 print(‘OK’)注:
 1.除了用,,,进行注释外,还可以使用快捷键ctrl+?进行注释和取消注释;
 2.按shift+tab可以展开函数用法说明,按两次tab可以展开函数具体用法说明。14.文件读写
 方法一:首先定义一个文本
 text=‘writing a text\nhello world’
 print(text)
 my_file=open(‘E:/python1/file1.txt’,‘w’)#以写入的方式打开文件,如果文件不存在则创建(注意路径下划线的方向)
 my_file.write(text)
 my_file.close()#要记得关闭文件方法二:
 with open(‘E:/python1/file2.txt’,‘w’) as f2:
 f2.write(‘hahaha\n123123’)#使用这种方法清空文件,然后写入(不能追加内容),并且可以自动关闭文件with open(‘E:/python1/file2.txt’,‘a’) as f2:
 f2.write(text)#a表示在文件最后追加内容with open(‘E:/python1/file2.txt’,‘r’) as f2:
 content=f2.read()
 print(content)#以读取的方式打开文件,r表示读取全部内容with open(‘E:/python1/file2.txt’,‘r’) as f2:
 content=f2.readline()#读取一行内容
 print(content)with open(‘E:/python1/file2.txt’,‘r’) as f2:
 content=f2.readlines()#读取所有行到一个列表中
 print(content)filename=‘E:/python1/file2.txt’
 with open(filename) as f:
 for line in f:
 print(line)#循环读取,每行之间会产生空行filename=‘E:/python1/file2.txt’
 with open(filename) as f:
 for line in f:
 print(line.rstrip())#使用这种方式去除空行15.异常处理
 try:
 file=open(‘E:/python1/hahaha.txt’,‘r+’)
 except Exception as e:
 print(e)#输出错误情况
 response=input(“Do you want to creat it?”)
 if(response==‘yes’):
 with open(‘E:/python1/hahaha.txt’,‘w’):
 pass#创建这个文件,写入hahaha
 print(‘the file was created successfully’)
 else:
 pass
 else:#如果没有出错,即文件可以打开
 file.write(‘hahaha’)
 file.close()16.json数据存储
 写入数据:
 import json
 a_dict={‘user_id’:‘qbf’,‘user_name’:‘hello’,100:200}#创建一个字典
 with open(‘E:/python1/example.json’,‘w’) as f:
 json.dump(a_dict,f)#数据的存储读取数据:
 with open(‘E:/python1/example.json’) as f:
 content=json.load(f)
 print(content)