• python基础


    Python2.x学习笔记

    ------------------------------first-------------------------------------------

    1.编码的修改:file->setting->encoding

    2.脚本的执行:1>./xxx.py 2>python xxx.py

    3.print "True"

    a.多行语句的写法
    total = item_one +
    item_two +
    item_three
    b.语句中包含 [], {} 或 () 括号就不需要使用多行连接符。如下实例:
    days = ['Monday', 'Tuesday', 'Wednesday',
    'Thursday', 'Friday']

    4.python中单行注释采用 # 开头。

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-

    5.数据类型

    Numbers(数字):
    int(有符号整型)
    long(长整型[也可以代表八进制和十六进制])
    float(浮点型)
    complex(复数)
    String(字符串)
    xxx[0:2]截取0,1两个字符
    List(列表)
    list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]
    tinylist = [123, 'john']
    print list # 输出完整列表
    print list[0] # 输出列表的第一个元素
    print list[1:3] # 输出第二个至第三个的元素
    print list[2:] # 输出从第三个开始至列表末尾的所有元素
    print tinylist * 2 # 输出列表两次
    print list + tinylist # 打印组合的列表
    Tuple(元组)
    元组用"()"标识。内部元素用逗号隔开。但是元组不能二次赋值,
    相当于只读列表。
    tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )
    print tuple[1:3]
    Dictionary(字典)
    列表是有序的对象结合,字典是无序的对象集合
    dict = {}
    dict['one'] = "This is one"
    dict[2] = "This is two"
    tinydict = {'name': 'john','code':6734, 'dept': 'sales'}
    print dict['one'] # 输出键为'one' 的值
    print dict[2] # 输出键为 2 的值
    print tinydict # 输出完整的字典
    print tinydict.keys() # 输出所有键
    print tinydict.values() # 输出所有值

    6.算术运算符(整数除整数只能得到整数,要得到小数部分,要把一个数改为浮点数)

    % 取模 返回除法的余数 b % a 输出结果 0
    ** 幂 返回x的y次幂(x**y)
    // 取整除 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0
    == 等于 比较对象是否相等 (a == b) 返回 False。
    != 不等于 比较两个对象是否不相等 (a != b) 返回 true.
    <> 不等于 比较两个对象是否不相等,这个运算符类似 !=
    += 加法赋值运算符 c += a 等效于 c = c + a
    //= 取整除赋值运算符 c //= a 等效于 c = c // a
    按位运算符是把数字看作二进制来进行计算的:
    & 按位与运算符:两个都为1则结果为1
    | 或:一个为1,结果就为1
    ^ 异或:相异时为1
    ~ 取反:
    << 左移: a=0011 1100 ,a<<2 --------->1111 0000
    >> 右移
    and x and y 布尔"与" 如果 x 为 true,返回 y ,否则返回自身
    or x or y 布尔"或" 如果 x 是非 0,它返回 x 的值,否则它返回 y
    not not x 布尔"非" 如果 x 为 True,返回 False
    in 如果在指定的序列中找到值返回 True,否则返回 False
    not in 相反
    is 判断两个标识符是不是引用自一个对象 x is y
    is not
    a=2.0,b=2.0这两个语句时会先后为2.0这个Float类型对象分配内存,然后将a与b分别指向
    这两个对象。所以a与b指向的不是同一对象:
    a=2.0
    b=2.0
    a is b # 结果为False
    对一些数值较小的int对象,python采取重用对象内存的办法,如指向a=2,b=2时,
    python不会两次为其分配内存,而是只分配一次,然后将a与b同时指向已分配的对象:
    a=2
    b=2
    a is b # 结果为True
    如但果赋值的不是2而是大的数值,情况就跟前面的一样了:
    a=4444
    b=4444
    a is b # 结果为False
    如果变量写在同一行,将会指向同一个对象
    >>> a=4444; b=4444; # 写在同一行
    >>> a is b
    True

    7.运算符的优先级

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

    8.条件语句

    1> if name == 'python':
    print 'welcome boss'
    else:
    print name
    2> if 判断条件1:
    执行语句1
    elif 判断条件3:
    执行语句2
    else:

    9.循环

    1> while可以与else一起使用
    while count < 5:
    print count, " is less than 5"
    count = count + 1
    else:
    print count, " is not less than 5"

    2> (1)基础for
    for letter in 'Python':
    print '当前字母 :', letter

    (2) 通过序列索引迭代
    fruits = ['banana', 'apple', 'mango']
    for index in range(len(fruits)):
    print '当前水果 :', fruits[index]
    (3)for中的语句和普通的没有区别,else 中的语句会在循环正常执行完
    (即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样
    for num in range(10,20): # 迭代 10 到 20 之间的数字
    for i in range(2,num): # 根据因子迭代
    if num%i == 0: # 确定第一个因子
    j=num/i # 计算第二个因子
    print '%d 等于 %d * %d' % (num,i,j)
    break # 跳出当前循环
    else: # 循环的 else 部分
    print num, '是一个质数'


    10.Python中continue 语句跳出本次循环,而break跳出整个循环

    --------------------------------------second-----------------------------------------------

    *****************************************11.时间处理

    常用的模块:time,calendar,datetime,pytz,dateutil

    格式化日期
    使用time模块的strftime方法来格式化日期:time.strftime(format[, t])
    import time
    # 格式化成2016-04-07 10:25:09形式
    print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())

    # 格式化成Thu Apr 07 10:25:09 2016形式
    print time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())

    # 将格式字符串转换为时间戳(1459175064.0)
    a = "Sat Mar 28 22:24:24 2016"
    print time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y"))

    #time.time返回当前时间戳

    *******************************12.函数(依靠缩进来控制函数的作用域)

    实例1
    def printme( str ):
    "打印任何传入的字符串"
    print str;
    return;
    # 调用函数
    printme("我要调用用户自定义函数!");

    变量是没有类型的

    1.python 函数的参数传递:

    不可变类型:类似 c++ 的值传递,如 整数、字符串、元组。如fun(a),传递的只是a的值,
    没有影响a对象本身。比如在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,
    不会影响 a 本身。
    可变类型:类似 c++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,
    修改后fun外部的la也会受影响

    2.调用函数时可使用的正式参数类型:
    必备参数

    关键字参数

    默认参数

    不定长参数
    3.return语句[表达式]退出函数,选择性地向调用方返回一个表达式。
    不带参数值的return语句返回None。

    *********************************13.模块

    模块(Module)是一个以.py结尾的Python 文件,包含了Python对象定义和Python语句。


    1.模块的导入import math,调用:模块名.函数名

    2.From…import 导入模块的一部分函数

    3.Python 解析器对模块位置的搜索顺序是:
    1>当前目录
    2>如果不在当前目录,Python 则搜索在 shell 变量 PYTHONPATH 下的每个目录。
    PYTHONPATH 由装在一个列表里的许多目录组成。PYTHONPATH 的语法和
    shell 变量 PATH 的一样。
    Windows下:
    set PYTHONPATH=c:python27lib;
    UNIX下:
    set PYTHONPATH=/usr/local/lib/python
    3>如果都找不到,Python会察看默认路径。UNIX下,默认路径一般为/usr/local/lib/python/。
    4.如果想在函数内修改全局变量,则必须先用global修饰
    Money = 2000
    def AddMoney():
    global Money
    Money = Money + 1
    5.相关的几个函数
    dir()返回模块中定义过的名字,字符串列表
    globals()和locals()函数(返回类型是字典):
    在函数内部调用 locals(),返回的是所有能在该函数里访问的命名。
    如果在函数内部调用 globals(),返回的是所有在该函数里能访问的全局名字。
    reload() 函数
    6.Python中的包
    包就是文件夹,但该文件夹下必须存在 __init__.py 文件, 该文件的内容可以为空。
    __int__.py用于标识当前文件夹是一个包

    **************************************14.文件IO

    1.print
    可以传递多个用逗号隔开的表达式
    2.键盘输入
    a.raw_input函数
    raw_input([prompt]) 函数从标准输入读取一个行,
    并返回一个字符串(去掉结尾的换行符)
    str = raw_input("请输入:");
    print "你输入的内容是: ", str
    b.input函数
    与上面类似input函数
    但是input可以接收一个Python表达式作为输入,并将运算结果返回。
    3.打开和关闭文件
    file object = open(file_name [, access_mode][, buffering])
    文件路径,打开模式,缓存设置
    打开模式:r读,r+读写,w创建一个文件(会覆盖),w+创建一个文件用于读写
    file对象的属性:
    file.closed 返回true如果文件已被关闭,
    file.mode 返回被打开文件的访问模式。
    file.name 返回文件的名称。
    file.softspace 如果用print输出后,必须跟一个空格符,则返回false
    close()方法刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入
    write()将字符串写入一个打开的文件.Python字符串还可以是二进制数据,
    不会在字符串的结尾添加换行符(' ')
    read()方法从一个打开的文件中读取一个字符串
    4.文件定位
    fo = open("foo.txt", "r+")
    str = fo.read(10);
    print "读取的字符串是 : ", str

    # 查找当前位置
    position = fo.tell();
    print "当前文件位置 : ", position

    # 把指针再次重新定位到文件开头
    position = fo.seek(0, 0);
    str = fo.read(10);
    print "重新读取字符串 : ", str
    # 关闭打开的文件
    fo.close()
    5.重命名:os.rename(old,new) 删除:os.remove(filename)
    6.目录操作
    使用os模块的mkdir("test1")方法在当前目录下创建新的目录
    用chdir("ha")方法来改变当前的目录。将当前目录设置成ha
    rmdir()删除目录

    **********************************15.异常处理

    1.try....except....
    try:
    fh = open("testfile", "w")
    fh.write("这是一个测试文件,用于测试异常!!")
    except IOError:
    print "Error: 没有找到文件或读取文件失败"
    else:
    print "内容写入文件成功"
    fh.close()
    2.try....finally....except


  • 相关阅读:
    Vue 实时过去 页面宽高
    css 全网页呈现灰色
    Vue 省市区三级联动(基于ElementUI)
    小程序 节流函数 (防止按钮重复点击)
    Vs Code 自动编译TS
    VS2019 调试时出现:正试图在 os 加载程序锁内执行托管代码
    SQLServer 日期函数大全
    SQL 日期函数
    SQL Server 查询性能异常语句
    SQL中多表连接delete删除表数据
  • 原文地址:https://www.cnblogs.com/feiyumo/p/7360440.html
Copyright © 2020-2023  润新知