Python之路
记录了关于学习Python3的专栏
网络毒刘
因为同样的坑不想踩两次而写博客,
也同样为了社会更好的进步...
其实 Python 已经是一个很老的编程语言了,到现在(2019年) Python 已经高龄 28 岁,比很多程序员的年龄都大。现在之所以这么流行和社区、人工智能AI的日益发展,有很大的关系。
千里之行始于足下,还不开始学习 Python编程吗
个人公众号:网络毒刘
一名热爱分享技术的宝藏博主。
公众号回复1024,有免费教程分享。
展开
-
re模块的深入
import re'''字符串切割'''str1= "allen is a good man"print(str1.split())print(re.split((r" +"),str1))'''re.finditer函数原型:finditer(pattern, string, flags=0)pattern: 匹配的正则表达式string: 要...原创 2019-04-24 11:20:30 · 188 阅读 · 0 评论 -
正则表达式的元素符
import reprint("----------匹配单个字符与数字----------")r'''. 匹配除换行符以外的任意字符[0123456789] []是字符集合,表示匹配方括号中所有所包含的任意一个字符[liuwang] [] 匹配‘l','i','u' 中任意一个字符[a-z] 匹配任意小写字母[A-...原创 2019-04-24 11:19:44 · 308 阅读 · 0 评论 -
re模块的使用
import re# pip 包管理工具r'''re.match函数原型:match(pattern, string, flags=0)pattern: 匹配的正则表达式string: 要匹配的字符串flags:标志位,用于控制正则表达式的匹配方式,值如下re.I 忽略大小写re.L 做本地话识别re.M 多行匹配,影响^和$re.S 是....原创 2019-04-24 11:18:51 · 540 阅读 · 0 评论 -
pycharm常用快捷键
pycharm常用快捷键1、编辑(Editing)Ctrl + Space : 基本的代码完成(类、方法、属性)Ctrl + Alt + Space快速导入任意类Ctrl + Shift + Enter: 语句完成Ctrl + P参数信息(在方法中调用参数)Ctrl + Q快速查看文档F1外部文档Shift + F1: 外部文档,进入web...原创 2019-04-23 11:06:40 · 1071 阅读 · 0 评论 -
python中自动化办公 【笔记】
00读取csv文件import csvdef readCsv(path): infolist = [] with open (path,"r") as f: allFileInfo = csv.reader(f) print(allFileInfo) for row in allFileInfo: i...原创 2019-04-20 13:49:52 · 6187 阅读 · 0 评论 -
python中tkinter的使用-下
00表格数据import tkinterfrom tkinter import ttkwin = tkinter.Tk()win.title("Liuwang")win.geometry("400x400+200+20")#表格tree = ttk.Treeview(win)tree.pack()#列tree["columns"] = ("姓名","年龄","身高","...原创 2019-04-19 22:16:25 · 464 阅读 · 0 评论 -
python中tkinter的使用-中
00Listbox控件import tkinterwin = tkinter.Tk()win.title("Liuwang")win.geometry("400x400+200+20")'''列表框控件,可以包含一个或者多个文本框作用:在listbox控件的小窗口显示一个字符串'''#1、创建一个listbox,添加几个元素,BROWSE支持按下鼠标移动位置lb= t...原创 2019-04-19 13:47:42 · 657 阅读 · 0 评论 -
python中tkinter的使用-上
00基础代码import tkinterwin = tkinter.Tk()win.title("Liuwang")win.geometry("400x400+200+20")win.mainloop()01简单示例#创建主窗口win = tkinter.Tk()#设置标题win.title("Liuwang")#设置大小和位置win.geometry("...原创 2019-04-19 13:35:37 · 838 阅读 · 0 评论 -
@property
class Person(object): def __init__(self, name,age): #属性直接对外暴露 #self.age = age #限制访问 self.__age = age self.__name = name ''' def getAge(self): ...原创 2019-04-18 19:05:27 · 187 阅读 · 0 评论 -
九九乘法表[循环嵌套]
#九九乘法表# 1*1=1# 1*2=2 2*2=4# 1*3=3 2*3=6 3*3=9# ...#循环嵌套#行数i = 1while i <= 9: # 打印每行的内容 j = 1 while j <= i: print("%d * %d = %3d " % (i, j, i * j), end='') ...原创 2019-04-18 09:48:50 · 1185 阅读 · 1 评论 -
self 实例对象-代码详细解释
'''self代表类的实例,而非类哪个对象调用方法,那么该方法中的self就代表那个对象self.__calss__ 代表类名'''class Person(object): def run(self): print("run") print(self.__class__) p = self.__class__("tt...原创 2019-04-17 22:58:54 · 785 阅读 · 0 评论 -
面向对象
'''设计类类名:见名知意,首字母大写,其他遵循驼峰原则属性:见名知意,其他遵循驼峰原则行为(方法/功能):见名知意,其他遵循驼峰原则''''''类名:Wife属性:sex age height weight faceValue行为:做饭 洗衣服 拖地 揉肩 捶腿类名:Husband属性:sex age height wei...原创 2019-04-17 22:54:01 · 167 阅读 · 0 评论 -
对象的初始状态(构造函数)
class Person(object): # name = "" # age =0 # height = 0 # weight = 0 def run(self): print("run") def eat(self,food): print("eat"+food) def __init__(self,...原创 2019-04-17 22:55:50 · 273 阅读 · 0 评论 -
访问对象的属性和方法
class Person(object): name = "" age =0 height = 0 weight = 0 def run(self): print("run") def eat(self,food): print("eat"+food) def openDoor(self): ...原创 2019-04-17 22:54:55 · 299 阅读 · 0 评论 -
模块概述
'''概述目前代码比较少,写在一个文件中还体现不出什么缺点,但是随着代码量越来越多,代码就越来越难以维护为了解决难以维护的问题,我们把很多相似功能的函数分组,分别放到不同的文件中取。这样每个文件所包含的内容相对较少而且对于每一个文件的大致功能可以用文件名体现,很多编程语言都是这么来组织结构。一个.py文件就是一个模块优点:1、提高代码的可维护度2、提高了代码的复用度,放一个模块...原创 2019-04-15 22:55:21 · 379 阅读 · 0 评论 -
Day13-日历模块
import calendar'''日历模块'''#使用#返回制定殁年某月日历print(calendar.month(2019,3))#返回指定年份的日历print(calendar.calendar(2019))#判断闰年返回True 或者Flaseprint(calendar.isleap(2000))#返回某个月的weekd的第一天和这个月所有的天数print...原创 2019-04-12 23:22:55 · 235 阅读 · 0 评论 -
Day12-date time
import datetime'''datetime比time高级了不少,可以理解为datetime基于time进行了封装,提供了,更为实用的函数,并且datetime模块的接口更直观更容易调用模块中的类:datetime 同时又时间和日期imedelta 主要用于计算时间的跨度tzinfo 时区相关time ...原创 2019-04-12 23:21:18 · 144 阅读 · 0 评论 -
Day11-递归性能测试
import timetime.clock()sum = 0for i in range (1000000000): sum+=iprint(time.clock())慎用慎用慎用原创 2019-04-12 23:18:08 · 180 阅读 · 0 评论 -
Day10-时间
'''UTC(世界协调时间):格林尼织天文时间在中国来说是UTC+8DST(夏令时):是一种节约能源而人为规定时间制度,在夏季调快一个小时时间的表示形式:1、时间戳以整形或浮点型表示时间的一个以秒为单位的时间间隔这个时间间隔的基础值是从1970年1月1号零点开始算起2、元组一种python数据结构表示,这个元组有9个整型内容yearmonthdayhoursmin...原创 2019-04-12 23:10:48 · 192 阅读 · 0 评论 -
Day09-递归
#模拟栈结构stack = []#压栈(想栈里存数据)stack.append("A")print(stack)stack.append("B")print(stack)stack.append("C")print(stack)#出栈(在栈里取数据)res = stack.pop()print("res= ",res)print(stack)res = stack....原创 2019-04-12 23:10:00 · 200 阅读 · 0 评论 -
Day08-函数(3)
import functools#偏函数def demo(a,b,c,d): print(a,b,c,d)# def partital_demo(a,b):# demo(a,b,3,4)# partital_demo(1,2)#实现偏函数# #固定前两个# demo = functools.partial(demo,5,6)# demo(10...原创 2019-04-10 23:12:43 · 227 阅读 · 0 评论 -
Day07-函数(2)
1.函数类型函数也是一种类型,我们自定义的函数就是函数对象,函数名保存了函数对象的引用(地址)def test(): print('我是测试函数')print(test) #函数名是变量,指向了函数对象pf = test #pf变量也指向了函数对象,所以也可以通过pf调用test函数pf()2. 匿名函数不再使用def 函数名()这种形式定义函数,而是使...原创 2019-04-09 23:14:04 · 195 阅读 · 0 评论 -
Day06-函数
函数一、集合(set)特点:不允许有重复元素,如果添加重复元素,则会自动过滤,可以进行交集、并集的运算。本质:无序且无重复元素的数据结构1 创建集合s1 = set() #空集合 不能是{},这是字典s2 = {1,2,3,4}print(s1)print(set([30,40,50])) #通过列表创建print(set((11,22,33))) #通过元组...原创 2019-04-07 23:24:08 · 295 阅读 · 0 评论 -
Day05-循环和列表字符串、元组和字典
一、字符串字符串就是由若干个不同的unicode字符组成的不可变序列1 .字符串创建#单引号字符串str1 = '天要下雨,娘要嫁人,由他去吧'str2 = str() #空串str3 = str([10,20,30])#双引号字符串str2 = "天要下雨,娘要嫁人,由他去吧"#三引号字符串 多行字符串str3 = '''好雨知时节当春乃发生'''s...原创 2019-04-06 23:21:30 · 322 阅读 · 0 评论 -
Day04-循环和列表
循环和列表一、循环(***)1.1 概念广义:一个周期现象或者重复出现的情况,这种状态被称为循环狭义:在满足条件的情况下,反复执行某一段代码,在编程语言中出现的这种现象被称为循环。被反复执行的这段代码被称为循环体当反复执行某段代码时,需要在合适的时机将循环停止下来,否则会产生死循环Python中提供的循环语句:while语句,for-in语句1.2 使用1.2....原创 2019-04-05 23:24:49 · 390 阅读 · 0 评论 -
Day03-运算符和表达式
运算符和表达式1. 运算符的优先级 尽量不要把一个表达式写的过于复杂,如果遇到复杂的需求,则最好分步运算 不要过多的依赖于运算符的优先级,否则代码的可读性太差,在实际的项目开发中,一般采用() 2 数据类型的转换python是一种强类型语言:要求运算符两边的操作数必须是同一个类型的,否则必须转换 函数名 函数值 in...原创 2019-04-04 21:20:24 · 217 阅读 · 0 评论 -
Day02-变量_数据类型和运算符
1 数据类型不同类型的变量可以进行的运算是不同的,所以必须理解变量的类型,python中数据类型可以分为: 内置类型 数值类型:整型int,浮点型float,复数(complex) 3+5j str:字符串 bool:布尔值【True,False】 None:空值,表示变量没有确定的值 list:列表 ...原创 2019-04-03 22:49:36 · 330 阅读 · 0 评论 -
Day01-python编程基础
1. 程序为了完成某种特定功能,以某种程序设计语言编写的有序指令的集合。程序是指挥cpu工作的“工作手册”。计算机只能执行二进制代码,程序设计语言一般类似英文,想要让计算机理解你写的程序,必须把程序代码“翻译”成计算机能理解的二进制代码,根据翻译形式的不同,可以分为:编译 将程序代码翻译成计算机能理解的二进制目标代码,会生成特定的可执行代码(在window上是exe文件),可执行代码是二进...原创 2019-04-02 22:35:36 · 464 阅读 · 0 评论 -
**print('人生苦短 我爱Python')**
print(‘人生苦短 我爱Python’)一、变量**"""1.代码自上而下执行2_运算符和表达式.一行一句,不要把多个语句写到一行上,可读性不好3中文只能出现在引号里,其他地方不能出现中文4不能随意缩进"""**print("hello ")print("world") *# 1.变量删除*a=5 print(a) #删除后,不能再引用变量del...原创 2019-04-02 22:17:39 · 508 阅读 · 0 评论 -
面向对象:实例化的对象调用类方法 db.Column()
请问 类的对象调用另一个类的对象 是什么意思???from flask_sqlalchemy import SQLAlchemydb = SQLAlchemy()class User(db.Model): __tablename__ = 'users' id = db.Column(db.Integer, primary_key=True...原创 2019-09-18 20:04:29 · 4881 阅读 · 0 评论 -
通过__tablename__ = 'xxx' #定义表名
from datetime import datetimefrom exts import dbclass User(db.Model): __tablename__ = 'user1' #定义表名 id = db.Column(db.Integer,primary_key=True,autoincrement=True) username = db.Colum...原创 2019-09-18 21:29:21 · 3222 阅读 · 0 评论 -
python子类继承父类特性,pycharm上面已经提示继承了,为什么会报没有该特性的错误?
因为在子类里覆盖了父类的__init__如果需要调用父类用superclass A(object): def __init__(self): self.a = 1 def fun(self): print self.aclass B(A): def __init__(self): self.b = ...原创 2019-09-18 21:39:22 · 1041 阅读 · 0 评论 -
flask中关于endpoint端点、url_map映射、view_func视图函数,view_functions、及视图函数名是否何以相同的问题?
视图函数中关于url_map视图的映射:应该是[url->methonds->endpoint] 而整个请求的过程,是先通过url地址映射到端点endpoint,然后通过endpoint找到试图函数view_func(扩展:在Flask类里边有一个view_funtions的属性,view_functions属性默认是一个空字典,其作用就是存储endpoint:v...原创 2019-09-19 08:00:09 · 639 阅读 · 0 评论 -
字典和json 的区别 和转换
前言:字典和json非常像。接下来比较一下两者的异同先看一下字典的写法:a = {'a':'1', 'b':'2', 'c':'3' }再看一下json的写法:{ "studentInfo": { "id":123456, "stu_name":"Dorra" }}从形式上看,都...原创 2019-09-27 14:57:55 · 553 阅读 · 0 评论 -
正则表达式采坑
[a-zA-Z]匹配大小写字符\w匹配字母、数字、下划线{5,7}表示前面的字符(即:\w)必须至少出现 5 次最多出现 7 次.合起来就是 >=6 少于8个的字符[a-zA-Z]\w{6,12} --------------》》 就是要输入七位数到十三位!!!...原创 2019-09-27 22:38:30 · 628 阅读 · 0 评论 -
理解:复杂度是O(log^n) 就是二分法
冒昧问一下,为什么二分法查找的复杂度是O(log^n)?这是怎么计算的? 你要从1,2,3,4,5,6,7,8里面找到3,分成几步? 第一步,1,2,3,4 第二步,3,4 第三步,3 23= 8 ⇒log2 8= 3 这就是二分法,就是不断的从中间分开的方法,还有一种,叫做桶排序,那个也很有意思。 ...原创 2019-09-28 09:18:08 · 893 阅读 · 0 评论 -
一分钟了解:a*算法
# User Instructions:## Implement the function optimum_policy2D below.## You are given a car in grid with initial state# init. Your task is to compute and return the car's# optimal path to the p...原创 2019-09-28 09:41:05 · 316 阅读 · 2 评论 -
flask中数据库的基本操作-增删改查【备忘】
1.增加数据(就相当于增加一个实例对象)user1 = User(name='long',email='1006550026@qq.com',password='123456',role_id=1)db.session.add(user1)db.session.commit()2.修改数据修改用户表里面的name为long的姓名为:fang首先查询到名为long...原创 2019-09-28 16:15:23 · 281 阅读 · 0 评论 -
Flask中的 url_for() 函数
最近在学Python Flask框架,并且学会做一些简单的项目,如做一个网站的登录页面等,其中学到了一个路由反向解析的函数url_for(),这里做一个小结,供日后复习。1.URL反转:根据视图函数名称得到当前所指向的url2.url_for() 函数最简单的用法是以视图函数名作为参数,返回对应的url,还可以用作加载静态文件,如:<link rel="stylesheet" ...原创 2019-09-17 22:26:19 · 3418 阅读 · 0 评论 -
Flask唯一URL规则--@app.route('/', endpoint='1')
Flask的URL规则基于werkzeug的路由模块,用来保证URL的唯一性。例如带斜线:@app.route('/example/')def example(): return 'ok'如果访问一个结尾不带斜线的URL会被重定向到斜线的URL上。(/example)变为(/example/)如果不带斜线:@app.route('/index')def inde...原创 2019-09-16 22:14:42 · 2592 阅读 · 0 评论