python基础(八)
一、token加盐处理
# import itsdangerous
#
# salt='sdf234^#$@G'
# t = itsdangerous.TimedJSONWebSignatureSerializer(salt,expires_in=30)
# # res = t.dumps({'username':'yangfan','user_id':1})
# # token = res.decode()
# # print(token)
# s='eyJhbGciOiJIUzI1NiIsImlhdCI6MTU0MTgyMDA1NiwiZXhwIjoxNTQxODIwMDg2fQ.eyJ1c2VybmFtZSI6InlhbmdmYW4iLCJ1c2VyX2lkIjoxfQ.FUfs92HuVKrt61AKpMjv1Iye8QDP7XUGOfgcrSusMv8'
# res = t.loads(s)
# print(res) import pymysql
coon = pymysql.connect()
cur= coon.cursor()
# sqls = ['sleect','uodate','delet','insert']
# for i in sqls:
# cur.execute(i) 二、sys.argv的用法
import flask
import sys
import time
server = flask.Flask(__name__) @server.route('/')
def index():
return '<h1>success</h1>'
if len(sys.argv)>1:
port = sys.argv[1]
if port.isdigit():
server.run(port=port)
elif port=='--help':
print('这个python文件的作用是让你发财!')
elif port=='--time':
print(time.strftime('%Y-%m-%d %H:%M:%S'))
else:
print('端口号必须是整数!')
else:
print('运行错误!请在运行的时候指定端口号\n'
'请按照下面的方式运行python文件!\n'
'python mock_server.py 8989') #sys.argv的作用是获取到运行python文件时,传入的参数
# python xxx.py --help
# 默认如果运行python文件的时候,不传参数,argv里面只有一个元素
#就是当前这个python文件的文件名
# python xxx.py
三、glob模块的用法和Exception以及finally的用法
import os,glob
# print(os.listdir())
# for f in os.listdir():
# if f.endswith('.py'):
# os.remove(f)
print(glob.glob('*')
# print(d['abc'])
# s='a'
# print(int(s))
# print(10/0)i
# import pymysql
# coon = pymysql.connect(host='118.24.3.40',user='jxz',
# password='123456',db='jxz')
# cur= coon.cursor()
# cur.execute('select from a;')
#
# for i in range(20):
# print(i) # try:
# s = 10/0
# except ZeroDivisionError as e:
# # except ZeroDivisionError, e: 这个是python2里面的写法
# print('走这里')
# print(e) def calc(a,b):
try:
res = a/b
# except ZeroDivisionError as e:
# res = '除数不能为零, %s'%e
# except TypeError as e:
# res = '类型错误,只能数字类型 %s'%e
except Exception as e:
print(e)
# return res
# res = calc('k',1) #TypeError
# # calc(10,0) # ZeroDivisionError
# res = calc(10,0) #TypeError money = input('enter:')
try:
money = int(money)
except Exception as e:#产生异常了,走这边
print('输入金额错误!')
else:#没有出现异常的话就这里
print(money+1)
finally:
print('什么时候执行finally') 四、面向对象(定义类、self的用法、继承)
class People: #新式类
eye = 2
mouth = 1
shengao = 180
money=1000000
def __init__(self,name):
self.name = name
#构造函数,类在初始化做的一些操作
print('造了一个人,这个人是%s'%name)
def cry(self):
print('哭。。。')
def makeMoney(self):
print('self的内存地址',id(self))
print('%s 挣了20w'%self.name ) xiaojun = People('小军') #实例化
# print('小军的内存地址',id(xiaojun))
xiaojun.makeMoney()
# People.makeMoney(xiaojun) # hailong = People('海龙')
# print('海龙的内存地址',id(hailong))
# hailong.makeMoney()
class Car:
def __init__(self,color,pl):
self.color = color
self.pl = pl
def add_fun(self,fun):
self.fun = fun
print('颜色是%s'%self.color)
print('排量是%s'%self.pl) def help(self):
print('这个汽车的颜色【%s】'%self.color)
print('这个汽车的排量【%s】'%self.pl)
# print('这个汽车的功能【%s】'%self.fun) BMW=Car('红色','3.5L')
# BMW.add_fun('水陆两栖')
BMW.help()
# add_fun(BMW,)
import pymysql class MySQL:
def __init__(self,host,user,password,db,port=3306,charset='utf8'):
self.conn = pymysql.connect(host=host,user=user,password=password,db=db,port=port,charset=charset)
self.cur = self.conn.cursor(cursor=pymysql.cursors.DictCursor)
#初始化的时候就连接数据库
def execute_many(self,sql):
self.cur.execute(sql)
return self.cur.fetchall() # [ {},{} ]
def execute_one(self,sql):
self.cur.execute(sql)
return self.cur.fetchone()
def __del__(self):
self.cur.close()
self.conn.close()
print('连接已经关闭') db=MySQL('118.24.3.40','jxz','123456','jxz')
class People:
country = 'China' #类变量
def __init__(self,name,sex):
self.name = name #实例变量
self.sex = sex
def say(self):
print('name '+self.name)
print('sex'+self.sex)
print('country'+self.country) @property #把一个函数变成一个变量,这个变量的值就是函数的返回值
def get_name(self):
return self.name print(People.country)
xiaojun = People("xiaojun",'男')
xiaojun.say()
print(xiaojun.get_name)
class Phone:
def __del__(self):
print('哈哈哈哈')
def call(self,name):
print('为%s打call,为%s打电话!'%(name,name))
def __init__(self):
self.test = 'abc'
print('我是构造函数') iphonx = Phone()
print(iphonx.test)
iphonx.call('小军')
class Lw:
money = 100000
house = '10套'
def driver(self):
print('开车')
def chouyan(self):
print('抽烟')
def hejiu(self):
print('喝酒')
def tangtou(self):
print('烫头') class Xw(Lw):
def huaqian(self):
print('花钱。。。') class Student():
def sql(self):
print('sql')
def linux(self):
print('linux') class PyStudent(Student):
def python(self):
print('python') class XnStudent(Student):
def xn(self):
print('xn')
def sql(self):
print('sql....')
python基础(八)的更多相关文章
- python基础(八)面向对象的基本概念
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 谢谢逆水寒龙,topmad和Liqing纠错 Python使用类(class)和对 ...
- Python基础 — 八种数据类型
Python 3.x 的八种数据类型 八种数据类型分别是: number(数字).string(字符串).Boolean(布尔值).None(空值) list(列表).tuple(元组).dict(字 ...
- python基础八
面向对象的好处 更容易扩展.提高代码使用效率,使你的代码组织性更强, 更清晰,更适合复杂项目的开发 封装 把功能的实现细节封装起来,只暴露调用接口 继承 多态 接口的继承 定义 类 ===> ...
- python基础(八)生成器,迭代器,装饰器,递归
生成器 在函数中使用yield关键字就会将一个普通的函数变成一个生成器(generator),普通的函数只能使用return来退出函数,而不执行return之后的代码.而生成器可以使用调用一个next ...
- Python基础(八) yaml在python中的使用
yaml 通常用来存储数据,类似于json YAML 简介 YAML(Yet Another Markup Language),一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人类阅 ...
- Python基础(八) 模块的引入与定义
模块定义 什么是模块:一个py文件就是一个模块 模块分为三类: 内置模块,(标准库):.python解释器自带的,time,os,sys,等等.200多种. 自定义模块:自己写的模块 第三方库(模块) ...
- python基础八之文件操作
python的文件操作 1,打开文件 编码方式要和文件的编码方式相同! #open('路径','打开方式','指定编码方式') f = open(r'E:\pycharm\学习\day8\test', ...
- python基础八---文件操作
1.文件操作 XXXXX.txt 1.文件路径:d:\XXXXX.txt(绝对路径) 2.编码方式:utf-8 gbk 3.操作方式:只读.只写.追加.读写.写读.... 排错: 以什么编码方式储存的 ...
- python 基础(八) os模块
OS模块 概念:包含了普遍的操作 系统的功能 一.函数 函数名 函数说明 os.name 获取操作系统类型 nt->Windows posix->Linux/Unix os.listdir ...
- 十八. Python基础(18)常用模块
十八. Python基础(18)常用模块 1 ● 常用模块及其用途 collections模块: 一些扩展的数据类型→Counter, deque, defaultdict, namedtuple, ...
随机推荐
- PROJ.4学习——地图投影
PROJ.4学习——地图投影(坐标系投影) 前言 PROJ是由大量的基础投影库构成.这里主要讨论学习PROJ库的相关参数. 这里大部分是讲如何将3D坐标系投影到2D平面上.投影时,涉及到基准线,单位, ...
- oracle之触发器
触发器可以看做一种"特殊"的存储过程,它定义了一些与数据库相关事件(如INSERT,UPDATE,CREATE等事件)发生时应执行的"功能代码块",常用与管理复 ...
- xpath 在firefox,chrome中正常,在requests中不正常的解决。
经多次测试发现: lxml中的etree格式化以后,直接使用firefox或chrome提取的xpath检索不到内容. 主要是因为tbody # 车种xpathczxx = '/html/body/t ...
- git冲突解决的几种办法
文章目录 git stash 栈 放弃本地修改 撤销分支 强行冲掉之前的分支 删除分支 git stash 栈 git stash git pull git stash pop 当pull出现冲突时 ...
- sql表中数据遍历
步骤: 1:先定义一个临时表,把需要用的数据放入临时表中,如果数据不连续,则在临时表中定义一个自增长键 DECLARE @temp table(Id INT IDENTITY(1, 1) ,ShopC ...
- App测试之Monkey压力测试
- pandas groupby生成新的dataframe
mark地址:https://blog.csdn.net/weixin_41784098/article/details/79486259
- 【转】QT 添加外部库文件
转自:Qt 添加外部库文件 LIBS += D:\Code\Opengltest\OpenGL32.Lib D:\Code\Opengltest\GlU32.Lib # 直接加绝对路径 LIBS += ...
- console.log()中的运算与打印事件
var p=function() { var i = 0; function b() { console.log(i--);//先打印再减一 //console.log(--i);先减一再打印 } f ...
- Qt的类:qfileinfogatherer
这篇文章中,探索Qt中的类qfileinfogatherer类,先给出私有类头文件.我们先想一想要形成一个信息采集者,需要什么?需要一个线程,当文件信息发生变化的时候,作为一个槽来接收信号. 先预备一 ...