Python基础语法原创
金蝶云社区-BobbyLIU
BobbyLIU
37人赞赏了该文章 1,044次浏览 未经作者许可,禁止转载编辑于2024年02月27日 09:33:32
  1. Python标识符

  2. 在 Python 里,标识符有字母、数字、下划线组成。
    在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。
    Python 中的标识符是区分大小写的。
    以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入;
    以双下划线开头的 __foo 代表类的私有成员;以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。

    2.Python有五个标准的数据类型

    • Numbers(数字)

    • String(字符串)

    • List(列表)

    • Tuple(元组)

    • Dictionary(字典)

    Python支持四种不同的数字类型:

    • int(有符号整型)

    • long(长整型[也可以代表八进制和十六进制])

    • float(浮点型)

    • complex(复数)

    python的字串列表有2种取值顺序:

    • 从左到右索引默认0开始的,最大范围是字符串长度少1

    • 从右到左索引默认-1开始的,最大范围是字符串开头

    List(列表) 是 Python 中使用最频繁的数据类型。

    • 列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。

    • 列表用 [ ] 标识,是 python 最通用的复合数据类型。

    • 列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。

    • 加号 + 是列表连接运算符,星号 * 是重复操作。

    元组是另一个数据类型,类似于List(列表)。

    • 元组用"()"标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。

    字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。

    • 列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

    • 字典用"{ }"标识。字典由索引(key)和它对应的值value组成。

    3.Python数据类型转换

    有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。
    以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。

    函数描述
    int(x [,base])将x转换为一个整数
    long(x [,base] )将x转换为一个长整数
    float(x)将x转换到一个浮点数
    complex(real [,imag])创建一个复数
    str(x)将对象 x 转换为字符串
    repr(x)将对象 x 转换为表达式字符串
    eval(str)用来计算在字符串中的有效Python表达式,并返回一个对象
    tuple(s)将序列 s 转换为一个元组
    list(s)将序列 s 转换为一个列表
    set(s)转换为可变集合
    dict(d)创建一个字典。d 必须是一个序列 (key,value)元组。
    frozenset(s)转换为不可变集合
    chr(x)将一个整数转换为一个字符
    unichr(x)将一个整数转换为Unicode字符
    ord(x)将一个字符转换为它的整数值
    hex(x)将一个整数转换为一个十六进制字符串
    oct(x)将一个整数转换为一个八进制字符串

    4.Python 运算符

    • 算术运算符

    • 比较(关系)运算符

    • 赋值运算符

    • 逻辑运算符

    • 位运算符

    • 成员运算符

    • 身份运算符

    • 运算符优先级

    5:Python 循环语句

    Python提供了for循环和while循环(在Python中没有do..while循环):

    循环类型描述
    while 循环在给定的判断条件为 true 时执行循环体,否则退出循环体。
    for 循环重复执行语句
    嵌套循环你可以在while循环体中嵌套for循环


    循环控制语句可以更改语句执行的顺序。Python支持以下循环控制语句:

    控制语句描述
    break 语句在语句块执行过程中终止循环,并且跳出整个循环
    continue 语句在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环。
    pass 语句pass是空语句,是为了保持程序结构的完整性。

    6:Python Number(数字)
    Python 支持四种不同的数值类型:

    • 整型(Int) - 通常被称为是整型或整数,是正或负整数,不带小数点。

    • 长整型(long integers) - 无限大小的整数,整数最后是一个大写或小写的L。

    • 浮点型(floating point real values) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)

    • 复数(complex numbers) - 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。

    注:长整型也可以使用小写"L",但是还是建议您使用大写"L",避免与数字"1"混淆。Python使用"L"来显示长整型。

    。python数学函数:

    函数返回值 ( 描述 )
    abs(x)返回数字的绝对值,如abs(-10) 返回 10
    ceil(x)返回数字的上入整数,如math.ceil(4.1) 返回 5
    cmp(x, y)如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1
    exp(x)返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045
    fabs(x)返回数字的绝对值,如math.fabs(-10) 返回10.0
    floor(x)返回数字的下舍整数,如math.floor(4.9)返回 4
    log(x)如math.log(math.e)返回1.0,math.log(100,10)返回2.0
    log10(x)返回以10为基数的x的对数,如math.log10(100)返回 2.0
    max(x1, x2,...)返回给定参数的最大值,参数可以为序列。
    min(x1, x2,...)返回给定参数的最小值,参数可以为序列。
    modf(x)返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
    pow(x, y)x**y 运算后的值。
    round(x [,n])返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。
    sqrt(x)返回数字x的平方根,数字可以为负数,返回类型为实数,如math.sqrt(4)返回 2+0j

    7:Python字符串

    Python转义字符:

    Python字符串运算符:

    下表实例变量 a 值为字符串 "Hello",b 变量值为 "Python":

    操作符描述实例
    +字符串连接>>>a + b 'HelloPython'
    *重复输出字符串>>>a * 2 'HelloHello'
    []通过索引获取字符串中字符>>>a[1] 'e'
    [ : ]截取字符串中的一部分>>>a[1:4] 'ell'
    in成员运算符 - 如果字符串中包含给定的字符返回 True>>>"H" in a True
    not in成员运算符 - 如果字符串中不包含给定的字符返回 True>>>"M" not in a True
    r/R原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。>>>print r'\n' \n >>> print R'\n' \n
    %格式字符串请看下一章节

    Python字符串格式化:

    Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。
    在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。
    如下实例:
    #!/usr/bin/python print "My name is %s and weight is %d kg!" % ('Zara', 21)
    以上实例输出结果:
    My name is Zara and weight is 21 kg!
    python字符串格式化符号:

    符 号描述
    %c格式化字符及其ASCII码
    %s格式化字符串
    %d格式化整数
    %u格式化无符号整型
    %o格式化无符号八进制数
    %x格式化无符号十六进制数
    %X格式化无符号十六进制数(大写)
    %f格式化浮点数字,可指定小数点后的精度
    %e用科学计数法格式化浮点数
    %E作用同%e,用科学计数法格式化浮点数
    %g%f和%e的简写
    %G%f 和 %E 的简写
    %p用十六进制数格式化变量的地址

    8.Python列表:
    Python包含以下函数:

    序号函数
    1cmp(list1, list2)
    比较两个列表的元素
    2len(list)
    列表元素个数
    3max(list)
    返回列表元素最大值
    4min(list)
    返回列表元素最小值
    5list(seq)
    将元组转换为列表

    Python包含以下方法:

    序号方法
    1list.append(obj)
    在列表末尾添加新的对象
    2list.count(obj)
    统计某个元素在列表中出现的次数
    3list.extend(seq)
    在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
    4list.index(obj)
    从列表中找出某个值第一个匹配项的索引位置
    5list.insert(index, obj)
    将对象插入列表
    6list.pop(obj=list[-1])
    移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
    7list.remove(obj)
    移除列表中某个值的第一个匹配项
    8list.reverse()
    反向列表中元素
    9list.sort([func])
    对原列表进行排序

    9.Python元组

    Python的元组(tuple)与列表类似,不同之处在于元组的元素不能修改。
    元组使用小括号,列表使用方括号。
    元组内置函数:
    Python元组包含了以下内置函数

    序号方法及描述
    1cmp(tuple1, tuple2)
    比较两个元组元素。
    2len(tuple)
    计算元组元素个数。
    3max(tuple)
    返回元组中元素最大值。
    4min(tuple)
    返回元组中元素最小值。
    5tuple(seq)
    将列表转换为元组。

    10.Python字典(dictionary)

    字典是另一种可变容器模型,且可存储任意类型对象。
    字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})
    字典内置函数及方法:
    Python字典包含了以下内置函数:

    序号函数及描述
    1cmp(dict1, dict2)
    比较两个字典元素。
    2len(dict)
    计算字典元素个数,即键的总数。
    3str(dict)
    输出字典可打印的字符串表示。
    4type(variable)
    返回输入的变量类型,如果变量是字典就返回字典类型。


    Python字典包含了以下内置方法:

    序号函数及描述
    1dict.clear()
    删除字典内所有元素
    2dict.copy()
    返回一个字典的浅复制
    3dict.fromkeys(seq[, val]))
    创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值
    4dict.get(key, default=None)
    返回指定键的值,如果值不在字典中返回default值
    5dict.has_key(key)
    如果键在字典dict里返回true,否则返回false
    6dict.items()
    以列表返回可遍历的(键, 值) 元组数组
    7dict.keys()
    以列表返回一个字典所有的键
    8dict.setdefault(key, default=None)
    和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
    9dict.update(dict2)
    把字典dict2的键/值对更新到dict里
    10dict.values()
    以列表返回字典中的所有值
    11pop(key[,default])
    删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
    12popitem()
    随机返回并删除字典中的一对键和值。

    11.匿名函数lambda

    python 使用 lambda 来创建匿名函数。

    • lambda只是一个表达式,函数体比def简单很多。

    • lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。

    • lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。

    • 虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。

    如:
    sum = lambda arg1, arg2: arg1 + arg2; print "相加后的值为 : ", sum( 10, 20 ) //输出30

    12.python import语句

    • From...import语句

        Python 的 from 语句让你从模块中导入一个指定的部分到当前命名空间中。语法如下:
        from modname import name1[, name2[, ... nameN]]
        例如,要导入模块 fib 的 fibonacci 函数,使用如下语句:
        from fib import fibonacci
        这个声明不会把整个 fib 模块导入到当前的命名空间中,它只会将 fib 里的 fibonacci 单个引入到执行这个声明的模块的全局符号表。

    • From...import*语句

        把一个模块的所有内容全都导入到当前的命名空间也是可行的,只需使用如下声明:
        from modname import *
        这提供了一个简单的方法来导入一个模块中的所有项目。然而这种声明不该被过多地使用。
        例如我们想一次性引入 math 模块中所有的东西,语句如下:
        from math import *

    13.Python文件操作

    • 打开和关闭文件

    现在,您已经可以向标准输入和输出进行读写。现在,来看看怎么读写实际的数据文件。
    Python 提供了必要的函数和方法进行默认情况下的文件基本操作。你可以用 file 对象做大部分的文件操作。

    • open函数

    你必须先用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。
    语法:
    file object = open(file_name [, access_mode][, buffering])
    各个参数的细节如下:

    • file_name:file_name变量是一个包含了你要访问的文件名称的字符串值。

    • access_mode:access_mode决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。

    • buffering:如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。

    不同模式打开文件的完全列表:

    模式描述
    r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
    rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
    r+打开一个文件用于读写。文件指针将会放在文件的开头。
    rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
    w打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    wb以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    w+打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    wb+以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
    ab以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
    a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
    ab+以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

    • File对象的属性

    一个文件被打开后,你有一个file对象,你可以得到有关该文件的各种信息。
    以下是和file对象相关的所有属性的列表:

    属性描述
    file.closed返回true如果文件已被关闭,否则返回false。
    file.mode返回被打开文件的访问模式。
    file.name返回文件的名称。
    file.softspace如果用print输出后,必须跟一个空格符,则返回false。否则返回true。


    • close()方法

    File 对象的 close()方法刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入。
    当一个文件对象的引用被重新指定给另一个文件时,Python 会关闭之前的文件。用 close()方法关闭文件是一个很好的习惯。
    语法:
    fileObject.close();

    • write()方法

    write()方法可将任何字符串写入一个打开的文件。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。
    write()方法不会在字符串的结尾添加换行符('\n'):
    语法:
    fileObject.write(string);

    • read()方法

    read()方法从一个打开的文件中读取一个字符串。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。
    语法:
    fileObject.read([count]);

    • 文件定位

    tell()方法告诉你文件内的当前位置;换句话说,下一次的读写会发生在文件开头这么多字节之后。
    seek(offset [,from])方法改变当前文件的位置。Offset变量表示要移动的字节数。From变量指定开始移动字节的参考位置。
    如果from被设为0,这意味着将文件的开头作为移动字节的参考位置。如果设为1,则使用当前的位置作为参考位置。如果它被设为2,那么该文件的末尾将作为参考位置。

    • 重命名和删除文件

    Python的os模块提供了帮你执行文件处理操作的方法,比如重命名和删除文件。
    要使用这个模块,你必须先导入它,然后才可以调用相关的各种功能。

        remove方法
        你可以用remove()方法删除文件,需要提供要删除的文件名作为参数。

    • Python里的目录

    所有文件都包含在各个不同的目录下,不过Python也能轻松处理。os模块有许多方法能帮你创建,删除和更改目录。
    1.mkdir()方法
    可以使用os模块的mkdir()方法在当前目录下创建新的目录们。你需要提供一个包含了要创建的目录名称的参数。
    语法:
    os.mkdir("newdir")
    2.chdir()方法
    可以用chdir()方法来改变当前的目录。chdir()方法需要的一个参数是你想设成当前目录的目录名称。
    语法:
    os.chdir("newdir")
    3.rmdir()方法
    rmdir()方法删除目录,目录名称以参数传递。
    在删除这个目录之前,它的所有内容应该先被清除。
    语法:
    os.rmdir('dirname')

    • 文件、目录相关方法

    三个重要的方法来源能对Windows和Unix操作系统上的文件及目录进行一个广泛且实用的处理及操控,如下:
    File 对象方法: file对象提供了操作文件的一系列方法。
    OS 对象方法: 提供了处理文件及目录的一系列方法。

    14.Python File(文件)方法
    file 对象使用 open 函数来创建,下表列出了 file 对象常用的函数:

    序号方法及描述
    1file.close()
    关闭文件。关闭后文件不能再进行读写操作。
    2file.flush()
    刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。
    3file.fileno()
    返回一个整型的文件描述符(file descriptor FD 整型), 可以用在如os模块的read方法等一些底层操作上。
    4file.isatty()
    如果文件连接到一个终端设备返回 True,否则返回 False。
    5file.next()
    返回文件下一行。
    6file.read([size])
    从文件读取指定的字节数,如果未给定或为负则读取所有。
    7file.readline([size])
    读取整行,包括 "\n" 字符。
    8file.readlines([sizehint])
    读取所有行并返回列表,若给定sizeint>0,返回总和大约为sizeint字节的行, 实际读取值可能比sizhint较大, 因为需要填充缓冲区。
    9file.seek(offset[, whence])
    设置文件当前位置
    10file.tell()
    返回文件当前位置。
    11file.truncate([size])
    截取文件,截取的字节通过size指定,默认为当前文件位置。
    12file.write(str)
    将字符串写入文件,没有返回值。
    13file.writelines(sequence)
    向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。


    15.Python内置函数

    Python 内置函数



    内置函数

    abs()divmod()input()open()staticmethod()
    all()enumerate()int()ord()str()
    any()eval()isinstance()pow()sum()
    basestring()execfile()issubclass()print()super()
    bin()file()iter()property()tuple()
    bool()filter()len()range()type()
    bytearray()float()list()raw_input()unichr()
    callable()format()locals()reduce()unicode()
    chr()frozenset()long()reload()vars()
    classmethod()getattr()map()repr()xrange()
    cmp()globals()max()reverse()zip()
    compile()hasattr()memoryview()round()__import__()
    complex()hash()min()set()
    delattr()help()next()setattr()
    dict()hex()object()slice()
    dir()id()oct()sorted()exec 内置表达式

图标赞 37
37人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!