知了课堂Python Flask零基础到项目实战系列视频的所有笔记,现整理在下,视频地址:

笔记目录:

目录

起步

安装Python2.7:

  1. Mac下使用Python2.7.
  2. Windows下安装Python2.7.
    • 从python官网下载python2.7的版本。
    • 双击python2.7,然后选择安装路径,一顿下一步就可以了。
    • 设置环境变量,把python的安装路径添加到PATH变量中。
    • 还需要设置一个环境变量,一定要设置,不然后面就不能正常安装flask了。

Python虚拟环境介绍与安装:

  1. 因为python的框架更新迭代太快了,有时候需要在电脑上存在一个框架的多个版本,这时候虚拟环境就可以解决这个问题。
  2. 通过以下命令安装虚拟环境:pip install virtualenv
  3. 开辟新的虚拟环境:virtualenv [virtualenv-name]
  4. 激活虚拟环境:
    • [类linux]:source [虚拟环境的目录]/bin/activate
    • [windows]:直接进入到虚拟环境的目录,然后执行activate
    • 退出虚拟环境:deactivate

pip安装flask:

  1. 执行activate脚本,进入指定的虚拟环境。
  2. 在该虚拟环境中,执行以下命令安装:pip install flask
  3. 验证flask是否安装成功:
    • 进入python命令行。
    >>> import flask
    >>> print flask.__version__

认识url:

  1. 如果使用的是http协议,那么浏览器就会使用80端口去请求这个服务器的资源。
  2. 如果使用的是https协议,那么浏览器会使用443端口去请求这个服务器的资源。

    http://www.jianshu.com/

    https://www.baidu.com/

    https://www.baidu.com/s?ie=utf-8&f=8

http://baike.baidu.com/link?url=ELcglgxAgFQ9WlMytXEhxu-WBtI7mTlDj3TJ-Ht6ZSecAYt0hgqY0euqaB60opaEEZ7JChin5vUd_YkOgMi7BT5kc3E85ZXeoVL2iVfKZu_jHMcNabK8NXilqnfJknKs

http://baike.baidu.com/link?url=ELcglgxAgFQ9WlMytXEhxu-WBtI7mTlDj3TJ-Ht6ZSecAYt0hgqY0euqaB60opaEEZ7JChin5vUd_YkOgMi7BT5kc3E85ZXeoVL2iVfKZu_jHMcNabK8NXilqnfJknKs#3

http://baike.baidu.com/link?url=ELcglgxAgFQ9WlMytXEhxu-WBtI7mTlDj3TJ-Ht6ZSecAYt0hgqY0euqaB60opaEEZ7JChin5vUd_YkOgMi7BT5kc3E85ZXeoVL2iVfKZu_jHMcNabK8NXilqnfJknKs#5

URL详解

URL是Uniform Resource Locator的简写,统一资源定位符。

一个URL由以下几部分组成:

scheme://host:port/path/?query-string=xxx#anchor

scheme:代表的是访问的协议,一般为http或者https以及ftp等。

host:主机名,域名,比如www.baidu.com。

port:端口号。当你访问一个网站的时候,浏览器默认使用80端口。

path:查找路径。比如:www.jianshu.com/trending/now,后面的trending/now就是path。

query-string:查询字符串,比如:www.baidu.com/s?wd=python,后面的wd=python就是查询字符串。

anchor:锚点,后台一般不用管,前端用来做页面定位的。

web服务器和应用服务器以及web应用框架:

web服务器:负责处理http请求,响应静态文件,常见的有Apache,Nginx以及微软的IIS.

应用服务器:负责处理逻辑的服务器。比如php、python的代码,是不能直接通过nginx这种web服务器来处理的,只能通过应用服务器来处理,常见的应用服务器有uwsgi、tomcat等。

web应用框架:一般使用某种语言,封装了常用的web功能的框架就是web应用框架,flask、Django以及Java中的SSH(Structs2+Spring3+Hibernate3)框架都是web应用框架。

Flask

第一个flask程序讲解:

  1. 第一次创建项目的时候,要添加flask的虚拟环境。添加虚拟环境的时候,一定要选择到python这个执行文件。

    比如你的flask的虚拟环境的目录在/User/Virtualenv/flask-env/bin/python。

  2. flask程序代码的详细解释:

    # 从flask这个框架中导入Flask这个类
    from flask import Flask # 初始化一个Flask对象
    # Flaks()
    # 需要传递一个参数__name__
    # 1. 方便flask框架去寻找资源
    # 2. 方便flask插件比如Flask-Sqlalchemy出现错误的时候,好去寻找问题所在的位置
    app = Flask(__name__)

    @app.route是一个装饰器

    @开头,并且在函数的上面,说明是装饰器

    这个装饰器的作用,是做一个url与视图函数的映射

    127.0.0.1:5000/ -> 去请求hello_world这个函数,然后将结果返回给浏览器

    @app.route('/')

    def hello_world():

    return '我是第一个flask程序'

    如果当前这个文件是作为入口程序运行,那么就执行app.run()

    if name == 'main':

    # app.run()

    # 启动一个应用服务器,来接受用户的请求

    # while True:

    # listen()

    app.run()


设置debug模式:

  1. 在app.run()中传入一个关键字参数debug,app.run(debug=True),就设置当前项目为debug模式。
  2. debug模式的两大功能:
    • 当程序出现问题的时候,可以在页面中看到错误信息和出错的位置。
    • 只要修改了项目中的python文件,程序会自动加载,不需要手动重新启动服务器。

使用配置文件:

  1. 新建一个config.py文件
  2. 在主app文件中导入这个文件,并且配置到app中,示例代码如下:
    import config
    app.config.from_object(config)
  3. 还有许多的其他参数,都是放在这个配置文件中,比如SECRET_KEYSQLALCHEMY这些配置,都是在这个文件中。

url传参数:

  1. 参数的作用:可以在相同的URL,但是指定不同的参数,来加载不同的数据。
  2. 在flask中如何使用参数:
    @app.route('/article/<id>')
    def article(id):
    return u'您请求的参数是:%s' % id
    • 参数需要放在两个尖括号中。
    • 视图函数中需要放和url中的参数同名的参数。

反转URL:

  1. 什么叫做反转URL:从视图函数到url的转换叫做反转url
  2. 反转url的用处:
    • 在页面重定向的时候,会使用url反转。
    • 在模板中,也会使用url反转。

页面跳转和重定向:

  1. 用处:在用户访问一些需要登录的页面的时候,如果用户没有登录,那么可以让她重定向到登录页面。
  2. 代码实现:
    from flask import redirect,url
    redirect(url_for('login'))

url链接:使用url_for(视图函数名称)可以反转成url。

加载静态文件:

  1. 语法:url_for('static',filename='路径')
  2. 静态文件,flask会从static文件夹中开始寻找,所以不需要再写static这个路径了。
  3. 可以加载css文件,可以加载js文件,还有image文件。
    第一个:加载css文件
    <link rel="stylesheet" href="{{ url_for('static',filename='css/index.css') }}">
    第二个:加载js文件
    <script src="{{ url_for('static',filename='js/index.js') }}"></script>
    第三个:加载图片文件
    <img src="{{ url_for('static',filename='images/zhiliao.png') }}" alt="">

get请求和post请求:

  1. get请求:

    • 使用场景:如果只对服务器获取数据,并没有对服务器产生任何影响,那么这时候使用get请求。
    • 传参:get请求传参是放在url中,并且是通过?的形式来指定key和value的。
  2. post请求:
    • 使用场景:如果要对服务器产生影响,那么使用post请求。
    • 传参:post请求传参不是放在url中,是通过form data的形式发送给服务器的。

get和post请求获取参数:

  1. get请求是通过flask.request.args来获取。
  2. post请求是通过flask.request.form来获取。
  3. post请求在模板中要注意几点:
    • input标签中,要写name来标识这个value的key,方便后台获取。
    • 在写form表单的时候,要指定method='post',并且要指定action='/login/'
  4. 示例代码:
        <form action="{{ url_for('login') }}" method="post">
    <table>
    <tbody>
    <tr>
    <td>用户名:</td>
    <td><input type="text" placeholder="请输入用户名" name="username"></td>
    </tr>
    <tr>
    <td>密码:</td>
    <td><input type="text" placeholder="请输入密码" name="password"></td>
    </tr>
    <tr>
    <td></td>
    <td><input type="submit" value="登录"></td>
    </tr>
    </tbody>
    </table>
    </form>

保存全局变量的g属性:

g:global

  1. g对象是专门用来保存用户的数据的。
  2. g对象在一次请求中的所有的代码的地方,都是可以使用的。

钩子函数(hook):

  1. before_request:

    • 在请求之前执行的
    • 是在视图函数执行之前执行的
    • 这个函数只是一个装饰器,他可以把需要设置为钩子函数的代码放到视图函数执行之前来执行
  2. context_processor:
    • 上下文处理器应该返回一个字典。字典中的key会被模板中当成变量来渲染。
    • 上下文处理器中返回的字典,在所有页面中都是可用的。
    • 被这个装饰器修饰的钩子函数,必须要返回一个字典,即使为空也要返回。

cookie:

  1. cookie出现的原因:在网站中,http请求是无状态的。也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户。cookie的出现就是为了解决这个问题,第一次登录后服务器返回一些数据(cookie)给浏览器,然后浏览器保存在本地,当该用户发送第二次请求的时候,就会自动的把上次请求存储的cookie数据自动的携带给服务器,服务器通过浏览器携带的数据就能判断当前用户是哪个了。
  2. 如果服务器返回了cookie给浏览器,那么浏览器下次再请求相同的服务器的时候,就会自动的把cookie发送给浏览器,这个过程,用户根本不需要管。
  3. cookie是保存在浏览器中的,相对的是浏览器。

session:

  1. session介绍:session和cookie的作用有点类似,都是为了存储用户相关的信息。不同的是,cookie是存储在本地浏览器,而session存储在服务器。存储在服务器的数据会更加的安全,不容易被窃取。但存储在服务器也有一定的弊端,就是会占用服务器的资源,但现在服务器已经发展至今,一些session信息还是绰绰有余的。
  2. 使用session的好处:
    • 敏感数据不是直接发送回给浏览器,而是发送回一个session_id,服务器将session_id和敏感数据做一个映射存储在session(在服务器上面)中,更加安全。
    • session可以设置过期时间,也从另外一方面,保证了用户的账号安全。

flask中的session工作机制:

  1. flask中的session机制是:把敏感数据经过加密后放入session中,然后再把session存放到cookie中,下次请求的时候,再从浏览器发送过来的cookie中读取session,然后再从session中读取敏感数据,并进行解密,获取最终的用户数据。
  2. flask的这种session机制,可以节省服务器的开销,因为把所有的信息都存储到了客户端(浏览器)。
  3. 安全是相对的,把session放到cookie中,经过加密,也是比较安全的,这点大家放心使用就可以了。

操作session:

  1. session的操作方式:

    • 使用session需要从flask中导入session,以后所有和sessoin相关的操作都是通过这个变量来的。
    • 使用session需要设置SECRET_KEY,用来作为加密用的。并且这个SECRET_KEY如果每次服务器启动后都变化的话,那么之前的session就不能再通过当前这个SECRET_KEY进行解密了。
    • 操作session的时候,跟操作字典是一样的。
    • 添加sessionsession['username']
    • 删除:session.pop('username')或者del session['username']
    • 清除所有sessionsession.clear()
    • 获取sessionsession.get('username')
  2. 设置session的过期时间:
    • 如果没有指定session的过期时间,那么默认是浏览器关闭后就自动结束
    • 如果设置了session的permanent属性为True,那么过期时间是31天。
    • 可以通过给app.config设置PERMANENT_SESSION_LIFETIME来更改过期时间,这个值的数据类型是datetime.timedelay类型。

Jinja2

Flask渲染Jinja2模板和传参:

  1. 如何渲染模板:

    • 模板放在templates文件夹下
    • flask中导入render_template函数。
    • 在视图函数中,使用render_template函数,渲染模板。注意:只需要填写模板的名字,不需要填写templates这个文件夹的路径。
  2. 模板传参:
    • 如果只有一个或者少量参数,直接在render_template函数中添加关键字参数就可以了。
    • 如果有多个参数的时候,那么可以先把所有的参数放在字典中,然后在render_template中,

      使用两个星号,把字典转换成关键参数传递进去,这样的代码更方便管理和使用。
  3. 在模板中,如果要使用一个变量,语法是:{{params}}
  4. 访问模型中的属性或者是字典,可以通过{{params.property}}的形式,或者是使用{{params['age']}}.

过滤器:

  1. 介绍和语法:

    • 介绍:过滤器可以处理变量,把原始的变量经过处理后再展示出来。作用的对象是变量。
    • 语法:
      {{ avatar|default('xxx') }}
  2. default过滤器:如果当前变量不存在,这时候可以指定默认值。

  3. length过滤器:求列表或者字符串或者字典或者元组的长度。

  4. 常用的过滤器:

    abs(value):返回一个数值的绝对值。示例:-1|abs

    default(value,default_value,boolean=false):如果当前变量没有值,则会使用参数中的值来代替。示例:name|default('xiaotuo')——如果name不存在,则会使用xiaotuo来替代。boolean=False默认是在只有这个变量为undefined的时候才会使用default中的值,如果想使用python的形式判断是否为false,则可以传递boolean=true。也可以使用or来替换。

    escape(value)或e:转义字符,会将<、>等符号转义成HTML中的符号。示例:content|escape或content|e。

    first(value):返回一个序列的第一个元素。示例:names|first

    format(value,*arags,**kwargs):格式化字符串。比如:

    {{ "%s" - "%s"|format('Hello?',"Foo!") }}

    将输出:Helloo? - Foo!

    last(value):返回一个序列的最后一个元素。示例:names|last。

    length(value):返回一个序列或者字典的长度。示例:names|length。

    join(value,d=u''):将一个序列用d这个参数的值拼接成字符串。

    safe(value):如果开启了全局转义,那么safe过滤器会将变量关掉转义。示例:content_html|safe。

    int(value):将值转换为int类型。

    float(value):将值转换为float类型。

    lower(value):将字符串转换为小写。

    upper(value):将字符串转换为小写。

    replace(value,old,new): 替换将old替换为new的字符串。

    truncate(value,length=255,killwords=False):截取length长度的字符串。

    striptags(value):删除字符串中所有的HTML标签,如果出现多个空格,将替换成一个空格。

    trim:截取字符串前面和后面的空白字符。

    string(value):将变量转换成字符串。

    wordcount(s):计算一个长字符串中单词的个数。

if判断:

  1. 语法:
    {% if xxx %}
    {% else %}
    {% endif %}
  2. if的使用,可以和python中相差无几。

for循环遍历列表和字典:

  1. 字典的遍历,语法和python一样,可以使用items()keys()values()iteritems()iterkeys()itervalues()
    {% for k,v in user.items() %}
    <p>{{ k }}:{{ v }}</p>
    {% endfor %}
  2. 列表的遍历:语法和python一样。
    {% for website in websites %}
    <p>{{ website }}</p>
    {% endfor %}

继承和block:

  1. 继承作用和语法:

    • 作用:可以把一些公共的代码放在父模板中,避免每个模板写同样的代码。
    • 语法:
      {% extends 'base.html' %}
  2. block实现:
    • 作用:可以让子模板实现一些自己的需求。父模板需要提前定义好。
    • 注意点:字模板中的代码,必须放在block块中。

数据库

Mac和Windows下数据库的安装:

  1. Mysql为例
  2. https://dev.mysql.com/downloads/mysql/
  3. Mac上安装Mysql很简单,直接一顿下一步安装就可以了。
  4. 设置初始化密码的命令是:
    mysqladmin -uroot password [password]
  5. windows:

    *. 如果没有安装.net Framework 4,就在那个提示框中,找到下载的url,下载下来,安装即可。

    *. 如果没有安装Microsoft Visual C++ x64,那么就需要谷歌或者百度下载这个软件进行安装即可。

MySQL-python中间件的介绍与安装:

  1. 如果是在类unix系统上,直接进入虚拟环境,输入sudo pip install mysql-python
  2. 如果是在windows系统上,那么在这里下载http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python下载MySQL_python‑1.2.5‑cp27‑none‑win_amd64.whl,然后在命令行中,进入到MySQL_python‑1.2.5‑cp27‑none‑win_amd64.whl所在的目录,输入以下命令进行安装:
    pip install MySQL_python‑1.2.5‑cp27‑none‑win_amd64.whl

Flask-SQLAlchemy的介绍与安装:

  1. ORM:Object Relationship Mapping(模型关系映射)。
  2. flask-sqlalchemy是一套ORM框架。
  3. ORM的好处:可以让我们操作数据库跟操作对象是一样的,非常方便。因为一个表就抽象成一个类,一条数据就抽象成该类的一个对象。
  4. 安装flask-sqlalchemysudo pip install flask-sqlalchemy

Flask-SQLAlchemy的使用:

  1. 初始化和设置数据库配置信息:

    • 使用flask_sqlalchemy中的SQLAlchemy进行初始化:
      from flask_sqlalchemy import SQLAlchemy
      app = Flask(__name__)
      db = SQLAlchemy(app)
  2. 设置配置信息:在config.py文件中添加以下配置信息:

    # dialect+driver://username:password@host:port/database
    DIALECT = 'mysql'
    DRIVER = 'mysqldb'
    USERNAME = 'root'
    PASSWORD = 'root'
    HOST = '127.0.0.1'
    PORT = '3306'
    DATABASE = 'db_demo1' SQLALCHEMY_DATABASE_URI = "{}+{}://{}:{}@{}:{}/{}?charset=utf8".format(DIALECT,DRIVER,USERNAME,PASSWORD,HOST
    ,PORT,DATABASE) SQLALCHEMY_TRACK_MODIFICATIONS = False
  3. 在主app文件中,添加配置文件:

    app = Flask(__name__)
    app.config.from_object(config)
    db = SQLAlchemy(app)
  4. 做测试,看有没有问题:

    db.create_all()

    如果没有报错,说明配置没有问题,如果有错误,可以根据错误进行修改。

使用Flask-SQLAlchemy创建模型与表的映射:

  1. 模型需要继承自db.Model,然后需要映射到表中的属性,必须写成db.Column的数据类型。
  2. 数据类型:
    • db.Integer代表的是整形.
    • db.String代表的是varchar,需要指定最长的长度。
    • db.Text代表的是text
  3. 其他参数:
    • primary_key:代表的是将这个字段设置为主键。
    • autoincrement:代表的是这个主键为自增长的。
    • nullable:代表的是这个字段是否可以为空,默认可以为空,可以将这个值设置为False,在数据库中,这个值就不能为空了。
  4. 最后需要调用db.create_all来将模型真正的创建到数据库中。

Flask-SQLAlchemy数据的增、删、改、查:

  1. 增:
    # 增加:
    article1 = Article(title='aaa',content='bbb')
    db.session.add(article1)
    # 事务
    db.session.commit()
  2. 查:
    # 查
    # select * from article where article.title='aaa';
    article1 = Article.query.filter(Article.title == 'aaa').first()
    print 'title:%s' % article1.title
    print 'content:%s' % article1.content
  3. 改:
    # 改:
    # 1. 先把你要更改的数据查找出来
    article1 = Article.query.filter(Article.title == 'aaa').first()
    # 2. 把这条数据,你需要修改的地方进行修改
    article1.title = 'new title'
    # 3. 做事务的提交
    db.session.commit()
  4. 删:
    # 删
    # 1. 把需要删除的数据查找出来
    article1 = Article.query.filter(Article.content == 'bbb').first()
    # 2. 把这条数据删除掉
    db.session.delete(article1)
    # 3. 做事务提交
    db.session.commit()

Flask-SQLAlchemy外键及其关系:

  1. 外键:

    class User(db.Model):
    __tablename__ = 'user'
    id = db.Column(db.Integer,primary_key=True,autoincrement=True)
    username = db.Column(db.String(100),nullable=False) class Article(db.Model):
    __tablename__ = 'article'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    title = db.Column(db.String(100),nullable=False)
    content = db.Column(db.Text,nullable=False)
    author_id = db.Column(db.Integer,db.ForeignKey('user.id')) author = db.relationship('User',backref=db.backref('articles'))
  2. author = db.relationship('User',backref=db.backref('articles'))解释:

    • Article这个模型添加一个author属性,可以访问这篇文章的作者的数据,像访问普通模型一样。
    • backref是定义反向引用,可以通过User.articles访问这个模型所写的所有文章。
  3. 多对多:

    • 多对多的关系,要通过一个中间表进行关联。
    • 中间表,不能通过class的方式实现,只能通过db.Table的方式实现。
    • 设置关联:tags = db.relationship('Tag',secondary=article_tag,backref=db.backref('articles'))需要使用一个关键字参数secondary=中间表来进行关联。
    • 访问和数据添加可以通过以下方式进行操作:
      • 添加数据:
        article1 = Article(title='aaa')
        article2 = Article(title='bbb') tag1 = Tag(name='111')
        tag2 = Tag(name='222') article1.tags.append(tag1)
        article1.tags.append(tag2) article2.tags.append(tag1)
        article2.tags.append(tag2) db.session.add(article1)
        db.session.add(article2) db.session.add(tag1)
        db.session.add(tag2) db.session.commit()
      • 访问数据:
        article1 = Article.query.filter(Article.title == 'aaa').first()
        tags = article1.tags
        for tag in tags:
        print tag.name

Flask-Script的介绍与安装:

  1. Flask-Script:Flask-Script的作用是可以通过命令行的形式来操作Flask。例如通过命令跑一个开发版本的服务器、设置数据库,定时任务等。

  2. 安装:首先进入到虚拟环境中,然后pip install flask-script来进行安装。

  3. 如果直接在主manage.py中写命令,那么在终端就只需要python manage.py command_name就可以了。

  4. 如果把一些命令集中在一个文件中,那么在终端就需要输入一个父命令,比如python manage.py db init

  5. 例子:

    from flask_script import Manager
    from flask_script_demo import app
    from db_scripts import DBManager manager = Manager(app)

    和数据库相关的操作,我都放在一起

    @manager.command

    def runserver():

    print '服务器跑起来了!!!!!'

    manager.add_command('db',DBManager)

    if name == 'main':

    manager.run()

  6. 有子命令的例子:

    #encoding: utf-8
    
    from flask_script import Manager
    
    DBManager = Manager()
    
    @DBManager.command
    def init():
    print '数据库初始化完成' @DBManager.command
    def migrate():
    print '数据表迁移成功'

分开models以及解决循环引用:

  1. 分开models的目的:为了让代码更加方便的管理。
  2. 如何解决循环引用:把db放在一个单独的文件中,切断循环引用的线条就可以了。

Flask-Migrate的介绍与安装:

  1. 介绍:因为采用db.create_all在后期修改字段的时候,不会自动的映射到数据库中,必须删除表,然后重新运行db.craete_all才会重新映射,这样不符合我们的需求。因此flask-migrate就是为了解决这个问题,她可以在每次修改模型后,可以将修改的东西映射到数据库中。
  2. 首先进入到你的虚拟环境中,然后使用pip install flask-migrate进行安装就可以了。
  3. 使用flask_migrate必须借助flask_scripts,这个包的MigrateCommand中包含了所有和数据库相关的命令。
  4. flask_migrate相关的命令:
    • python manage.py db init:初始化一个迁移脚本的环境,只需要执行一次。
    • python manage.py db migrate:将模型生成迁移文件,只要模型更改了,就需要执行一遍这个命令。
    • python manage.py db upgrade:将迁移文件真正的映射到数据库中。每次运行了migrate命令后,就记得要运行这个命令。
  5. 注意点:需要将你想要映射到数据库中的模型,都要导入到manage.py文件中,如果没有导入进去,就不会映射到数据库中。
  6. manage.py的相关代码:
    from flask_script import Manager
    from migrate_demo import app
    from flask_migrate import Migrate,MigrateCommand
    from exts import db
    from models import Article # init
    # migrate
    # upgrade
    # 模型 -> 迁移文件 -> 表 manager = Manager(app) # 1. 要使用flask_migrate,必须绑定app和db
    migrate = Migrate(app,db) # 2. 把MigrateCommand命令添加到manager中
    manager.add_command('db',MigrateCommand) if __name__ == '__main__':
    manager.run()

知了课堂 Python Flask零基础 笔记整理的更多相关文章

  1. [Python] 文科生零基础学编程系列二——数据类型、变量、常量的基础概念

    上一篇:[Python] 文科生零基础学编程系列--对象.集合.属性.方法的基本定义 下一篇: (仍先以最简单的Excel的VBA为例,语法与Python不同,但概念和逻辑需要理解透彻) p.p1 { ...

  2. [Python] 文科生零基础学编程系列三——数据运算符的基本类别

    上一篇:[Python] 文科生零基础学编程系列二--数据类型.变量.常量的基础概念 下一篇: ※ 程序的执行过程,就是对数据进行运算的过程. 不同的数据类型,可以进行不同的运算, 按照数据运算类型的 ...

  3. 如何从Python负零基础到精通数据分析

    一.为什么学习数据分析 1.运营的尴尬:运营人需要一个硬技能每个初入行的新人都会察觉到,运营是一个似乎并没有自己的核心竞争力和安全感的工作.因为每天的工作好像都被各种琐事所围绕,而只有一个主题是永恒不 ...

  4. 一凡老师亲录视频,Python从零基础到高级进阶带你飞

    如需Q群交流 群:893694563 不定时更新2-3节视频 零基础学生请点击 Python基础入门视频 如果你刚初入测试行业 如果你刚转入到测试行业 如果你想学习Python,学习自动化,搭建自动化 ...

  5. Spark (Python版) 零基础学习笔记(一)—— 快速入门

    由于Scala才刚刚开始学习,还是对python更为熟悉,因此在这记录一下自己的学习过程,主要内容来自于spark的官方帮助文档,这一节的地址为: http://spark.apache.org/do ...

  6. Spark (Python版) 零基础学习笔记(二)—— Spark Transformations总结及举例

    1. map(func) 将func函数作用到数据集的每个元素,生成一个新的分布式的数据集并返回 >>> a = sc.parallelize(('a', 'b', 'c')) &g ...

  7. HTML基础笔记整理

    「学习笔记」HTML基础 前言 勤做笔记不仅可以让自己学的扎实,更重要的是可以让自己少走弯路.有人说:"再次翻开笔记是什么感觉",我的回答是:"初恋般的感觉". ...

  8. Python学习零基础<入门必学>

    1. 注释注释 是任何存在于 # 号右侧的文字,其主要用作写给程序读者看的笔记. 2. 字面常量一个字面常量(Literal Constants)的例子是诸如 5.1.23 这样的数字,或者是如 这是 ...

  9. Python Numpy,Pandas基础笔记

    Numpy Numpy是python的一个库.支持维度数组与矩阵计算并提供大量的数学函数库. arr = np.array([[1.2,1.3,1.4],[1.5,1.6,1.7]])#创建ndarr ...

随机推荐

  1. jquery UI datepicker汉化

    由于近期工作需要,jquery ui的datepicker需要汉化,特此把代码贴在这$(function() { $.datepicker.regional["zh-CN"] = ...

  2. JavaScript学习总结——转

    JavaScript学习总结(一)——JavaScript基础 JavaScript学习总结(二)——逻辑Not运算符详解 JavaScript学习总结(三)——逻辑And运算符详解 JavaScri ...

  3. 洛谷P4149 [IOI2011]Race(点分治)

    题目描述 给一棵树,每条边有权.求一条简单路径,权值和等于 KK ,且边的数量最小. 输入输出格式 输入格式:   第一行:两个整数 n,kn,k . 第二至 nn 行:每行三个整数,表示一条无向边的 ...

  4. 关于typedef的用法总结(装)

    不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中.typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些 ...

  5. Android-获取网络图片设置壁纸

    下载图片,设置壁纸 的代码: package liudeli.async; import android.app.Activity; import android.app.ProgressDialog ...

  6. C#和JAVA 访问修饰符

    JAVA ----------------------------------------------- 访问修饰符        描述 ------------------------------- ...

  7. Windows7中7种不同关机模式介绍

    在Win7关机选项中一共有7种关闭方式,分别为 Switch user(切换用户), Log off(登出), Lock(锁定), Restart(重启), Sleep(睡眠), Hibernate( ...

  8. 第一个.NET Core应用,创建.NET Core命令

    打开cmd,依次输入mkdir .project(创建目录),cd .\.project(进入目录),dotnet new(新建初始项目),dotnet restore(还原依赖),dotnet ru ...

  9. HTML5 开发APP 第一章

    当今天下,移动端基本上是安卓和苹果的天下,基本上没微软什么事,作为微软忠实的支持者,也要顺势而变. 但安卓和IOS  开发是两个完全不同的世界,有没有一种技术,开发完以后可以运行在任意终端呢,答案是有 ...

  10. javascript小数求整

    Math.ceil(arg) 返回一个比参数arg大的整数 Math.floor(arg) 返回一个比参数arg小的整数 Math.round(arg) 返回一个参数arg四舍五入的后的整数 pars ...