• Python Python语法


    Python 基础

    1. 注释

    1. 单行注释 #

    2. 多行注释 

    2. 单下划线、双下划线、头尾双下划线说明

    以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入。

    以双下划线开头的 __foo 代表类的私有成员

    以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。

    3. 标准数据类型

    3.1 Number

    long 类型只存在于 Python2.X 版本中;
    在 2.2 以后的版本中,int 类型数据溢出后会自动转为long类型。
    在 Python3.X 版本中 long 类型被移除,使用 int 替代

    3.2 String

    当使用以冒号分隔的字符串,python 返回一个新的对象

    加号(+)是字符串连接运算符,星号(*)是重复操作

    Python 列表截取可以接收第三个参数,参数作用是截取的步长

    3.3 Tuple元组 - 只读

    元组不能二次赋值,相当于只读列表。

    元组用 () 标识。内部元素用逗号隔开。

    3.4 List列表 - 有序

    3.5 Dictionary字典 - 无序

    Python 函数

    1. 可更改(mutable)与不可更改(immutable)对象

    在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象

    • 不可变类型:变量赋值 a=5 后再赋值 a=10,这里实际是新生成一个 int 值对象 10,再让 a 指向它,而 5 被丢弃,不是改变a的值,相当于新生成了a。

    • 可变类型:变量赋值 la=[1,2,3,4] 后再赋值 la[2]=5 则是将 list la 的第三个元素值更改,本身la没有动,只是其内部的一部分值被修改了。

    python 函数的参数传递

    • 不可变类型:类似 c++ 的值传递,如 整数、字符串、元组。如fun(a),传递的只是a的值,没有影响a对象本身。比如在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。

    • 可变类型:类似 c++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响

    python 中一切都是对象,严格意义我们不能说值传递还是引用传递,我们应该说传不可变对象和传可变对象。

    Python 模块

    1. 导入模块时的搜索路径

    当你导入一个模块,Python 解析器对模块位置的搜索顺序是:

    • 1、当前目录
    • 2、如果不在当前目录,Python 则搜索在 shell 变量 PYTHONPATH 下的每个目录。
    • 3、如果都找不到,Python会察看默认路径。UNIX下,默认路径一般为/usr/local/lib/python/。

    模块搜索路径存储在 system 模块的 sys.path 变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录。

    2. PYTHONPATH 变量

    作为环境变量,PYTHONPATH 由装在一个列表里的许多目录组成。PYTHONPATH 的语法和 shell 变量 PATH 的一样。

    在 Windows 系统,典型的 PYTHONPATH 如下:

    set PYTHONPATH=c:\python27\lib;

    在 UNIX 系统,典型的 PYTHONPATH 如下:

    set PYTHONPATH=/usr/local/lib/python

    3. 命名空间和作用域

    如果一个局部变量和一个全局变量重名,则局部变量会覆盖全局变量。

    Python 会智能地猜测一个变量是局部的还是全局的,它假设任何在函数内赋值的变量都是局部

    因此,如果要给函数内的全局变量赋值,必须使用 global 语句

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
     
    Money = 2000
    def AddMoney():
       # 想改正代码就取消以下注释:
       # global Money
       Money = Money + 1
     
    print Money
    AddMoney()
    print Money

    global VarName 的表达式会告诉 Python, VarName 是一个全局变量,这样 Python 就不会在局部命名空间里寻找这个变量了。

    例如,我们在全局命名空间里定义一个变量 Money。我们再在函数内给变量 Money 赋值,然后 Python 会假定 Money 是一个局部变量。然而,我们并没有在访问前声明一个局部变量 Money,结果就是会出现一个 UnboundLocalError 的错误。取消 global 语句前的注释符就能解决这个问题。

  • 相关阅读:
    vue项目总结,所用到的技术点
    豆瓣电影个人项目总结
    博学谷项目总结,个人总结经验
    JavaScript数组的常用方法
    移动端base.css的内容,
    normalize.css可以对css初始化,不同浏览器可以统一初始样式
    jsp第十次作业
    jsp第九次作业
    jsp第八次作业
    jsp第七次作业
  • 原文地址:https://www.cnblogs.com/frankcui/p/16158039.html
Copyright © 2020-2023  润新知