zoukankan      html  css  js  c++  java
  • python-编程从入门到实践

    python-编程从入门到实践


    1.python文件后缀名:
    .py 是Python的源码文件,由Python.exe解释。
    .pyc 是Python的编译文件。pyc 文件往往代替 py 文件发布;Python在执行时,首先会将 py 文件中的源代码编译成PyCodeObject写入 pyc 文件,再由虚拟机执行PyCodeObject。
       当Python执行 import 时会先寻找对应的 pyc
    或 pyd(dll)文件,如果没有则将对应的py文件编译写入 pyc 文件。pyc文件也可以通过 python -m py_compile src.py 生成。

    .pyo 是优化编译后的程序,不能用文本编辑器编辑。 python -O source.py 即可将源程序编译为 pyo 文件。

    2.变量,每个变量都存储一个值,与变量相关联的信息。
    规则:
    1、变量名只包含字母、数字和下划线,变量名可以字母或下划线开头,但不能以数字开头。
    2、变量名不能包含空格,但可使用下划线来分割其中的单词。
    3、不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词。
    4、变量名应即简短又具有描述性。
    5、慎用小写字母‘i’和大写字母‘O’,容易误导为数字1和0。

    3.字符串,在Python中,用引号括起的都是字符串,其中的引号可以是单引号或是双引号。
    函数:
    upper() 字符串中全部字母改为大写。
    lower() 字符串中全部字母改为小写。
    rstrip() 去掉末尾的空格,如需要使用修改后的字符串需重新赋值,不修改原字符串。
    lstrip() 去掉开头的空格,如需要使用修改后的字符串需重新赋值,不修改原字符串。
    strip() 去掉开头和结尾的空格,如需要使用修改后的字符串需重新赋值,不修改原字符串。
    str() 将变量转换为字符串类型
    制表符:
    代表换行
    代表table,它的含义是一个字符,叫做制表符;它的作用是对齐表格数据的各列。
    字符串拼接:加号(+),可以把两个或几个字符串拼接成一个字符串。

    4.整数/浮点数
    算术运算符: + - * / % // **
    赋值运算符: = += -= *= /= %= **= //=

    5.列表'[]':
    列表由一系列按特定顺序排列的元素组成。列表是有序集合,因此要访问列表的任何元素只需将该元素的位置或索引告诉Python即可。索引是从0开始;'-1'代表最后一位的索引。

    函数:
    list() 将变量转换为列表格式
    append() 列表末尾添加元素。
    insert() 列表中任意位置添加元素,需指定插入位置的索引和值。
    del 删除列表,可删除整个列表,也可删除索引位的值;删除的值不可再访问。
    pop() 删除列表末尾的元素,并让你能够接着使用它。
    remove() 根据值删除列表中的元素, 只删除第一个指定的值;如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值。
    sort() 排序,默认按从小到大,修改是永久性的; 参数reverse=True字母顺序相反。
    sorted() 临时排序,保留原列表顺序; 参数reverse=True字母顺序相反。
    reverse() 反转列表元素,不是指按与字母顺序相反的顺序排列列表元素,而只是反转列表元素的排列顺序。
    min() 返回列表最小数字。
    max() 返回列表最大数字。
    sum() 返回列表数字和。
    列表切片: [:] 规则:前开后闭

    6.元组‘()’:
    一个有序却不可修改的列表称之为元组,使用圆括号表示元组。元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用。
    函数:
    tuple() 将变量转换为元组格式
    index() 查找元素,不存在返回error。

    7.for / if / while:
    比较运算符: == != > < >= <=
    逻辑运算符: and or not
    成员运算符: in not in
    身份运算符: is is not
    位运算符:
    按位与:& 按位或:| 按位异:^
    按位取反:~ 左移动:<< 右移动:>>
    continue   退出当前循环,执行下一次循环。
    break    退出整个循环。

    8.字典{}:
    字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每对之间用逗号(,)分割,整个字典包括在花括号({})中,字典是无序的。
    函数:
    clear()   删除字典内所有元素
    copy()   浅复制
    fromkeys() 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
    get() 返回指定键的值,如果值不在字典中返回default值
    items() 以列表返回可遍历的(键, 值) 元组数组。
    keys() 返回字典中所有的键。

    9.set 集合:
    集合(set)是一个无序的不重复元素序列。可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
    创建格式:
      s = {value01,value02,...} 或 set(value)
    函数:
    add() 添加元素,如果已存在,则不进行任何操作,参数为字符串格式。
    update() 添加元素,如果已存在,则不进行任何操作,参数为列表,元组,字典等。
    remove() 删除指定元素,如果元素不存在,则会报错。
    discard() 删除元素,如果元素不存在,不会报错。
    pop() 随机删除。
    clear() 清空集合元素,返回None。
    difference() 返回集合的差集,即返回的集合元素包含在第一个集合中,但不包含在第二个集合(方法的参数)中。
    difference_update() 移除集合中的元素,该元素在指定的集合也存在。
    intersection() 返回两个或更多集合中都包含的元素,即交集。
    intersection_update() 移除两个或更多集合中都不重叠的元素,即返回交集。
    isdisjoint() 判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。

    10.函数:
    关键字 def 来定义一个函数。
    实参 是调用函数时传递给函数的信息。
    形参 是函数完成其工作所需的参数。
    位置实参 在调用函数时,按实参的顺序,将函数调用中的每个实参都关联到函数定义中的形参中。
    关键字实参 是传递给函数的名称值对,将名称和值关联起来。
    默认值 可给形参指定默认值,没有实参情况时,形参直接使用默认值。
    return 返回值
    *name 不定长参数,加了*的参数会以元组的形式导入,存放所有未命名的变量参数。
    **name 不定长参数,加了*的参数会以字典的形式导入,存放所有未命名的变量参数。

    匿名函数:
    lambda [arg1 [,arg2,.....argn]]:expression

    关键字:
    global 当内部作用域想修改外部作用域的变量时,就要用到global
    nonlocal 当要修改嵌套作用域中的变量则需要 nonlocal 关键字


    通用函数:
    title() 修改大小写,字符串中首字母改为大写,其余都改为小写。
    len() 返回变量中的长度。
    range() 返回整数序列的数字集,规则前开后闭。


    版本区别:
    1、Python2中,整数除法的结果只包含整数部分,小数部分被删除。请注意,计算整数结果时,采取的方式不是四舍五入,而是将小数部分直接删除。
    2、Python2.7应使用函数raw_input()来提示用户输入。这个函数与Python3中的input()一样,也将输入解读为字符串。


    运算优先级:
    ** 指数 (最高优先级)
    ~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
    * / % // 乘,除,取模和取整除
    + - 加法减法
    >> << 右移,左移运算符
    & 位 'AND'
    ^ | 位运算符
    <= < > >= 比较运算符
    <> == != 等于运算符
    = %= /= //= -= += *= **= 赋值运算符
    is is not 身份运算符
    in not in 成员运算符
    and or not 逻辑运算符


    可更改(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 中一切都是对象,严格意义我们不能说值传递还是引用传递,我们应该说传不可变对象和传可变对象。


    python2和python3区别

    print
      在py2中表示为关键字,写法:print "Hello, World!"
      在py3中表示为函数,写法:print("Hello, World!")

      print输出内容不换行,区别:
      py2的写法:  
    1 print "Hello",
    2 print "World"
    3 #结果
    4 >>HelloWorld
    python2
      py3的写法:
    print("Hello", end='')   # end参数默认为换行'/n'
    print("World")
    # 结果
    >>HelloWorld
    python3

     input()

      py2中的写法:  raw_input("Enter your name:")  # 输入的内容为字符串类型
      py3中的写法:  input("Enter your name:")  # 输入的内容为字符串类型
      py2中输入正整数类型的写法:  age = input("Enter your age:")
      py3中输入正整数类型的写法:  age = int(input("Enter your age:"))

    整数
      在Python2中,进行除法运算时会默认向下取整,代码运行结果是这样的:
      >>> print 5/2
      >>> 2
      在Python3,会默认进行浮点数除法,代码运行结果是这样的:
      >>> print(5/2)
      >>> 2.5
      如果你想在Python3中进行整除运算,可以使用双斜线,像这样:
      >>> print(5//2)
      >>> 2

    range()
      
    在Python2中,range()函数返回一个列表。但在Python3中,range()返回一个 range 对象。如果是循环访问的话,Python3中 range 对象的工作方式和Python2中的列表基本一样。但如果你想打印它,是不能看到 range 对象中的各个单独的值的。
    # Python 2:
    print range(5)
    # >>> [0, 1, 2, 3, 4]    结果
    
    # Python 3:
     print(range(5))
    # >>>range(0, 5)    结果
    range
    
    
    


  • 相关阅读:
    linux网络操作 配置文件
    linux网络操作 netstat命令
    linux网络操作 防火墙相关操作
    linux网络操作 ifconfig命令
    PyCharm(IDE)集成开发环境的下载与安装
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
  • 原文地址:https://www.cnblogs.com/hoyun/p/9890168.html
Copyright © 2011-2022 走看看