自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 SQLZOO部分题目解析【后续更新】

SQLZOO(https://sqlzoo.net/wiki/SQL_Tutorial)是一个SQL语句编写练习网站,题量较多,涉及的范围相对全面,作为巩固基础语句的练习也是不错的选择。虽然网页中不少为基础练习,但是也有部分题目对我来说是需要多花点时间的,特地在这篇文章内记录下来以备后续参考。

2019-07-19 19:57:28 7725

原创 数据库的查询操作【2】

文章目录分页连接查询子查询自关联分页1、分页的主要作用是显示查询出的数据的部分行,对于查询量较大的数据,可以作为预览的功能2、在语句的限定部分,用limit+数字,可以显示查询出来数据的前几行,行数取决于输入的数字select * from student where gender=1 limit 2;这一语句一直重复下去的话,后面的输出是接着前面的数据的,一直到表内数据全部通过这条语...

2019-07-06 01:08:27 187

原创 数据库的查询操作【1】

文章目录条件查询范围查询排序聚合&分组条件查询1、条件查询中用的非常多的是where条件查询,在where后可以使用and、or、not一类逻辑运算符来增加限定条件select * from student where age=18 and gender=1;2、对于where后面使用逻辑运算符的语句,可以通过加上括号来修改优先级。尤其是在not的使用中,如下面两条语句的输出结果...

2019-07-05 00:41:18 452

原创 数据的增删改查

文章目录增删改查增1、向表内增加字段,用alter table + 表名 + add + 字段名 + 类型 + 约束条件;alter table student add birthday date not null;2、向表内插入部分数据用insert into 表名 (字段1,字段2) values (数据1,数据2);需要注意的是,除插入的这一部分数据外,其他字段的数据必须允许为空...

2019-07-04 00:33:14 280

原创 MySQL数据库和数据表的基本操作

文章目录数据库数据表数据库1、对于SQL语句,在结束时必须加上分号2、查看当前MySQL中已有的数据库用show databases;3、显示当前时间用select now();可以看出此处的now()是一个函数。在MySQL语句的使用中,要分清楚调用的语句是否需要加括号4、查看当前MySQL版本用select version();5、创建数据库用create database + ...

2019-07-03 20:51:47 169

原创 Scrapy爬虫遇到ERROR: Error downloading问题

利用scrapy框架爬取城市PM2.5数据,执行时报出ERROR: Error downloading问题经过查询,了解到可能是twisted版本的问题,当版本为17以上则会报出此错误,而我安装的twisted为18.9.0的在终端执行conda install twisted == 16.6.0修改twisted版本,或是在pycharm的setting中,设定specify versio...

2019-05-05 22:07:38 8206 4

原创 实例方法、类方法和静态方法

1、实例方法,即需要通过创建实例(对象)进行调用的方法。下方即为实例方法的例子class Person(object): def __init__(self): self.name = 'zs' self.age = 10p = Person()print(p.name,p.age)2、类方法,即在定义方法时使用@classmethod装饰器,...

2019-03-02 00:43:49 239

原创 类属性和实例属性

1、类属性:定义在类的内部,且在方法的外部的属性。私有的类属性在类以外不能使用2、实例属性:定义在init方法中的属性3、我们用一段代码来阐释类属性和实例属性class Person(object): def __init__(self): self.name = 'zs' #在方法内定义实例属性 age = 20 #在类里面、方法外面定义类属性...

2019-03-01 23:44:59 1216

原创 私有属性和私有方法

文章目录私有属性私有方法在类的外部获取私有方法、私有属性私有属性1、私有属性只能在类的内部使用,在类的外部无法调用,方法为在属性名前加上两条下划线。私有属性一定要在init方法中定义class Person(object): def __init__(self,name,age): self.name = name #name为公有属性 self...

2019-02-28 22:58:33 550

原创 继承

文章目录继承重写父类方法继承1、在创建类的时候,我们会定义一个类名,并在类名后的括号里加上objectclass Teacher(object):即上方的Teacher类继承于object类。object可以包括所有我们创建的类,object类是所有类的父类,Teacher是object的子类2、我们用一段代码来更清晰地展示父类和子类class Person(object): ...

2019-02-24 21:45:18 97

原创 __init__方法和__new__方法

1、__init__方法是面向对象编程中,给未来创建的对象所定义的初始化属性。当对象一旦被创建,Python将会自动调用__init__方法,里面的属性将会赋予这个对象class Teacher(object): def __init__(self,name,age): self.name = name self.age = aget1 = Teac...

2019-02-24 14:58:24 2390

原创 面向对象和面向过程

写在开头的碎碎念:在前面的笔记中,所列举的代码皆为面向过程的编程,这里借用一个例子:用代码实现一个功能可以类比为做一道菜,面向过程的代码,可以理解为买菜-准备食材-炒菜-出锅装盘,是一个流程。而面向对象,可以理解为我们创造“厨师”这样一个对象,给他赋予会做“川菜”、“粤菜”等的方法,还可以给这个厨师定义“姓名”、“年龄”等属性。通过面向对象的方法,我们创造出了具有特定姓名和年龄的厨师这个对象,...

2019-02-19 23:34:11 99

原创 装饰器

1、装饰器本质上是一个函数,其左右是在不改变原有代码的基础上扩展功能。装饰器符合开闭原则,即原函数不能变,调用不能变,对扩展开发,对修改封闭2、装饰器的原理def f1(x): # 定义函数,计算参数的平方值 return x*xdef func_new(func): # 定义一个装饰器,作用是在f1函数输出结果的前一行加上“正在计算” def fn(j): ...

2019-01-21 00:24:12 105

原创 闭包

1、定义:在函数嵌套的情况下,内部函数使用了外部函数的参数或变量,且把内部函数返回,这个内部函数即为闭包。在高阶函数中,函数作为返回值的例子就是一个闭包2、由以上定义,可以提炼出闭包形成的条件:要有内嵌函数内部函数使用外部函数的变量外部函数返回内嵌函数3、闭包可以提高代码的复用性下方例子为定义了计算直线的函数,当我们需要输出新的直线时,只需要用新的函数名来承接func函数的返回值并...

2019-01-20 20:49:06 114

原创 引用、可变类型和不可变类型、深拷贝和浅拷贝

文章目录引用可变类型和不可变类型深拷贝和浅拷贝引用1、引用即程序中的数据在内存中的地址。比如a=‘abc’,变量a存储的是字符串’abc’在内存中的地址2、可以用 id(变量名) 查看变量的内存地址a = 'abc'print(id(a))3、若将变量a赋值与变量b,那么变量b的内存地址与变量a是一样的a = 'abc'b = aprint(id(a))print(id(b)...

2019-01-20 18:06:11 478

原创 匿名函数和列表生成式

文章目录匿名函数列表生成式匿名函数1、匿名函数即没有名字的函数,使用lambda作为关键字定义2、匿名函数具有简化代码的作用,但只适合较为简单的函数操作。有返回值时,不用加returni = lambda a,b,c:a+b+cprint(i(1,2,3))3、下面是一个匿名函数的例子判断一个数是否为偶数func = lambda num: True if num%2==0 el...

2019-01-20 16:33:46 799

原创 高阶函数

1、高阶函数分为两种:函数作为返回值返回、函数作为参数进行传递2、函数作为返回值:def func(): print(1) def inner(): print(2) return innerinner = func()inner()注意,返回的函数inner只是一个函数名,并未在后面加上括号。这里可以理解为,我们返回的是一个函数名,在后面我们...

2019-01-20 15:14:52 95

原创 递归函数

1、递归函数,即是函数内部调用自己的函数2、递归函数运用的典型例子为计算某个数的阶乘def func(n): if n == 1: return 1 if n > 1: return n*func(n-1)result = func(5)print(result)3、递归函数的特点:必须有结束条件、下一次调用时受上一次结果的影响...

2019-01-20 10:27:41 83

原创 局部变量和全局变量

1、局部变量是在函数内部定义的变量,只能在定义的函数内使用2、全局变量是函数外部定义的变量,可以在函数内部使用,也可以在不同的函数之间共享3、局部变量和全局变量可以重名,在调用时仍然受局部和全局这两种类型的影响,并不会产生重新赋值的情况name = 'zs' # 定义了全局变量namedef func(): name = 'ls' # 定义了局部变量name pri...

2019-01-20 10:18:38 307

原创 函数参数的注意点

1、在定义一个函数时,可以同时使用不定长位置参数和不定长关键字参数,但是在使用时,不定长关键字参数必须放在最后2、不同类型参数在同一个函数中定义时的位置顺序为:位置传参–不定长位置传参–缺省参数–关键字不定长参数关键字传参不能放在不定长位置传参之前,不能放在关键字传参之后def func(name,*args,sex,age = 18,**kwargs): print(name,a...

2019-01-20 10:02:19 521

原创 函数的不定长参数

1、对于在定义函数时设置了参数的情况,如参数的量较少,还能一个个输入,就如函数笔记内的例子。但当我们需要输入大量的,或是数量不固定的参数时,就需要不定长参数的帮助2、函数的不定长参数分为:不定长位置参数、不定长关键字参数3、不定长位置参数:在定义函数时,在括号内输入 *args。其中星号必须输入,而args则是参数名,可以用其他字符替代,但更推荐不要改def func(*args): ...

2019-01-20 02:18:59 1847

原创 函数

文章目录函数的介绍函数的四种类型函数的注意点函数的介绍1、函数作为表示一个功能的代码块,可以重复利用,减少代码冗余。具体写为下方格式,其中函数名的参数可不写def 函数名(参数): 功能代码(函数体)2、调用函数时,直接打出函数名即可。即使没有定义参数,在调用时也必须带上括号# 定义函数def func(): print('hi')# 调用函数func()3、...

2019-01-20 01:19:30 285

原创 元组和集合

文章目录元组集合元组1、元组是以小括号括起来的数据形式,且元组不可进行修改,故对元组,只能进行查询my_tuple = (1,2,3,'hi')2、元组内可以放置任何格式的数据,且可以通过下标获取里面的元素。用 元组名[下标] 的方式获取。下标从0开始,也可以用负数下标my_tuple = (1,2,3,'hi')print(my_tuple[0])print(my_tuple[-...

2019-01-20 00:11:20 727

原创 字典

1、字典为多个键值对的组合,表现为{key:value}2、字典内,key必须为不可变类型数据,多用字符串,且一个字典内的key不可重复3、字典内的键值对是无序的,这说明我们无法通过下标获取里面的元素。如需要获取里面的值,可以通过key取得。下方列举了两种通过key获取字典内value的方法my_dict = {'name':'zs', 'age':18}print(my_dict['na...

2019-01-15 23:39:14 131

原创 列表

1、列表是以中括号呈现的数据,如[1, 2, 3]。列表内可以放置任意类型的数据2、可以根据下标获取列表中的数据。列表中的下标从0开始,也可以用负数下标获取列表中的值my_list = [1,2,'a','b']print(my_list[1]) -> 返回2print(my_list[-1]) -> 返回b3、列表的增删改查增:用.append()函数,括号内填写追...

2019-01-14 23:10:15 72

原创 字符串

文章目录字符串的简单介绍字符串的应用字符串的简单介绍1、在Python中,只要用引号括起来的数据即为字符串2、字符串的索引值从0开始my_str = 'hello' # 输出字符串中索引值为0的字母print(my_str[0]) -> 输出为h3、索引值也可以为负数,则表示字符串从后往前取值。负数索引值从-1开始my_str = 'hello' # 输出字符串中索引值...

2019-01-14 19:52:57 151

原创 循环,continue和break

文章目录循环continue和break循环1、在Python中代码有三种执行类型:顺序执行(从上至下)、选择执行(if语句)、循环执行。前两项执行在前面的笔记中已经有提及,本次将讲到循环执行2、Python中有两种循环:while和for3、while循环的实例:num = 1# 输出1-5while num <= 5: print(num) num += 1...

2019-01-13 16:16:59 147

原创 if语句,逻辑运算符

文章目录if语句逻辑运算符if语句1、if…else表单一条件判断,else后不用加上条件guess = int(input('please input a number: '))# 如果输入9即显示正确,输入其他数字则显示错误if guess == 9: print('right')else: print('wrong')2、用if…elif…elif…else表...

2019-01-13 15:29:11 2081 1

原创 输入和输出、格式化输出、运算符

文章目录输入和输出格式化输出运算符输入和输出1、print()为输出函数。可以同时输出多个参数,数据间需要用逗号分隔,输出后,默认用一个空格键分隔参数。print('hello', 'world')输出即为hello world2、如想改变输出多个参数之间的间隔为其他符号,可按CTRL后点击函数,了解到系统默认的分隔符sep = ‘ ’。调用时之间在函数内将一个空格键换成其他符号即可...

2019-01-07 21:03:52 218

原创 数据类型的转换

利用print(isinstance(变量名,数据类型))函数可判断变量是否为指定数据类型,该函数返回bool值num = 1print(isinstance(num, int))*返回值是True同类型的数据可以进行计算# str + stra = 'hello'b = 'world'print(a + b)# int + intc = 1d = 2print...

2019-01-06 23:41:26 78

原创 注释和变量

文章目录注释变量注释定义:对代码的解释和说明,以提高代码的可读性注释的分类:单行注释、多行注释单行注释以 # 开头,可标注在代码的上、下和右方# 单行注释print('hello') # 单行注释# 单行注释多行注释以三对单引号或三对双引号表示,引号间可以放置多行注释。多行注释可放在代码的上、下方'''多行注释多行注释'''print('hello')"""...

2019-01-06 21:31:46 201

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除