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, ...
随机推荐
- Haxe:东游记(上)part1:intro
原标题:西行漫记之Haxe初探·上篇 1. 简述:haxe是啥? haxe(读作蛤克思),是以前flash时代诞生的一种的开源跨平台方案.学会了haxe,可以直接用这种类似TypeScript的语法, ...
- 编译安装LAMP
编译安装MariaDB 创建MariaDB安装目录.数据库存放目录.建立用户和目录 先创建一个名为mysql且没有登录权限的用户和一个名为mysql的用户组,然后安装mysql所需的依赖库和依赖包,最 ...
- Java多线程之线程状态总结
概述 线程大家肯定不陌生,对于线程中的运行状态,自己经常搞混淆,这边按照下图记录下: 线程一般来说有如下几种状态: 新建,可运行,超时阻塞,等待阻塞,同步阻塞,死亡 yeild:当线程执行了yield ...
- 总结Jquery中获取自定义属性使用.attr()和.data()以及.prop()的区别
一..attr()和.data()的区别: .attr()和.data()本质上属于DOM属性和Jquery对象属性的区别. 看一个例子: <!DOCTYPE html> <html ...
- JAVAEE 第八周
equals():反映的是对象或变量具体的值,即两个对象里面包含的值--可能是对象的引用,也可能是值类型的值. hashCode():计算出对象实例的哈希码,并返回哈希码,又称为散列函数.根类Obje ...
- xenserver添加磁盘后挂载为本地存储库并且删除
方法一: 1.1:查看磁盘列表 fdisk -l [root@xenserver ~]# fdisk -l Disk /dev/sdb: 7999.4 GB, 7999376588800 bytes, ...
- mybatis 注解的方式批量插入,更新数据
一,当向数据表中插入一条数据时,一般先检查该数据是否已经存在,如果存在更新,不存在则新增 使用关键字 ON DUPLICATE KEY UPDATE zk_device_id为主键 model ...
- ansible 变量详解
定义变量的方法 1. 主机变量,在hosts文件中设置变量, [atlanta] host1 http_port= maxRequestsPerChild= host2 http_port= maxR ...
- Groovy学习笔记-使用多赋值
1.方法返回多个结果:返回数组,将多个变量逗号隔开,放在左侧圆括号中 def splitName (fullName) { fullName.split(' ') } def (firstName, ...
- 解决Caused by: java.lang.IllegalArgumentException: A universal match pattern ('/**') is defined before other patterns in the filter chain, causing them to be ignored. Please check the ordering in your
写项目时应用了SpringSecurity框架来进行登陆验证,之前单独的写简单的SpringSecrity的Demo时并没有报错,但是当和SpringMVC一起整合时却发生了报错 报错如下: Caus ...