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, ...
随机推荐
- Spring实现WebSocket通信
WebSocket是两个应用之间全双工的通信通道.WebSocket最常见的应用场景是实现服务器和基于浏览器的应用之间的通信. 浏览器中的javascript客户端开启一个到服务器的连接,服务器通过这 ...
- html页面禁止用户右键粘贴复制保存的代码
HTML页面禁止选择.页面禁止复制.页面禁止右键 原创古城寨主2018-03-01 17:50:59评论(1)228人阅读 HTML页面内容禁止选择.复制.右键 刚在一个看一个站点的源代码的的时候 ...
- 无服务器架构(Faas/Serverless)
摘要无服务器架构(Faas/Serverless),是软件架构领域的热门话题. AWS,Google Cloud和Azure - 在无服务器上投入了大量资金,已经在看到了大量专门针对Faas/Serv ...
- Freeswitch 各版本一键安装脚本 Freeswitch 快速安装 G729编解码库
最近有时间整理,写了freeswitch的一键安装包分享一下,里面带有 mysql=0 是否选择安装mysql. 其他提示:脚本里面集成了安装g729脚本,支持录音.转码的bcg729脚本. 1.下载 ...
- Postgresql插入或更新操作upsert
幂等性的一个要求是多次操作的结果一致.对于update操作,多次直接的结果都是最后update的值,是满足需求的. 但对于insert,如果已经插入,第二次会报错,duplicate error, 主 ...
- 《用Python写爬虫》学习笔记(二)编写第一个网络爬虫
1.首先,下载网页使用Python的urllib2模块,或者Python HTTP模块request来实现 urllib2会出现问题,解决方法1.重试下载(设置下载次数) 2.设置用户代理 2.其次, ...
- Ubuntu18下sudo apt install xxx出现问题
当执行sudo apt install rpm时失败(apt-get也失败),输出如下报错信息: E: Could not get lock /var/lib/dpkg/lock - open (11 ...
- nginx 日志打印post请求参数
在日志格式后面加上 $request_body 配置信息 log_format main '$remote_addr - $remote_user [$time_local] "$reque ...
- JS获取伪元素的属性
window下的getComputedStyle属性.getPropertyValue属性 // 获取 .element:before 的 color 值 var color = window.get ...
- TCP/IP OPTION字段
0x01 简介 TCP头部和IPV4头部除了固定的20字节外,都设置了 OPTION 字段用于存储自定义的数据,因为TCP头部和IPV4的报文长度字段均为4字节,所表示的最大值为15, 乘4,报文头部 ...