美文网首页
Python 基础语法汇总

Python 基础语法汇总

作者: annyecho | 来源:发表于2017-10-31 09:49 被阅读0次

    1、打印:print(100000)

    print("字符串输出")

    2、获取输入:input("输入提示:")

    3、导入模块:

    a、import math

    这种方式使用math库中的函数方式:math.floor(3.0)

    b、如果不想在floor前面加上math前缀,可以用这种加载方式:from math import floor,那么上述语句可以使用:

    floor(3.0)

    4、注释:

    #表示单行注释

    ‘’‘多行注释’‘’ """多行注释"""前后都是三个单引号或者三个多引号

    #coding=utf-8编码标注

    5、转义字符:‘\’

    6、字符串拼接:'+'

    7、数字类型:

    int float bool

    complex(复数),Python3中没有Long,而2中有

    8、str和repr的差别:

    str出来的值是给人看的字符串,repr出来的值是给机器看的,括号中的任何内容出来后都是在它之上再加上一层引号

    print(str("Echo"))的结果是:'Echo'

    print(repr("Echo"))的结果是:Echo

    9、打印跨越多行的字符串:

    print('''多行字符串''')或者将字符串头尾的单引号改成双引号

    10、原始字符串:

    在字符串引号的前面加上一个r(和C#中的@一个意思),如:

    print(r"第一行\n第二行")因为r,在第一行和第二行之间的\n就不会变成换行符

    不过原始字符串不能以反斜杠结尾,如果原始字符串结尾需要是一个反斜杠的话,可以使用拼接的方式:print(r"第一行\n第二行" '\\')

    11、常用内建序列:列表和元组,列表可以修改,元组则不能;其他内建序列还有:字符串、Unicode字符串、buffer对象和xrange对象

    如下:edward john是列表,database也是列表

    edward = ['EdwardGumby', 42]

    john = ['JohnSmith', 50]

    database =[edward,john, 1]

    print(database)

    print(database[0])

    print(edward[-1])

    输出结果:

    序列中的元素都是有编号的,从0开始递增,因此可以用下标访问,如上,database[0]。下标-1表示从尾部开始

    12、序列的分片,冒号分割,做闭包,左边位置包括,右边位置不包括:

    tag="0123456789"

    print(tag[2:3]) #2

    print(tag[2:-1])#2345678

    print(tag[-3:-1])#78

    print(tag[0:])#0123456789

    print(tag[:])#0123456789

    print(tag[-3:0]) #空 无效

    print(tag[::2])

    #02468第三个参数表示步长,如前面几行没设置就是默认1

    print(tag[::-2])

    #97531步长是负数,从右向左提取

    print(tag[2:8:-2])

    #无效 步长是负数,起始点索引必须大于结束点索引

    print(tag[8:2:-2])#864

    print(tag[2::-2])

    #20第二个位置开始往左边按照步长2分片

    13、序列成员资格检查in,检查一个值是否在序列中,使用in运算符

    permissions ='rwx'

    print('x'inpermissions) #True

    print("a"in permissions) #False

    print("rw"in permissions) #True

    14、序列的长度、最小值和最大值:len、min、max

    15、列表的基本操作:

    可以用字符串创建列表:print(list("Perl"))#['P','e','r','l']

    元素赋值:x[1]=2,改变x列表第2个位置的值,不能为一个位置不存在的元素进行赋值

    删除元素:del

    x[1],删除列表第2个位置的元素,并且列表长度-1

    分片赋值:

    perl =list("Perl")

    print(perl)#['P','e','r','l']

    perl[1] = 'a'

    print(perl)#['P','a','r','l']

    del perl[1]

    print(perl)#['P','r','l']

    perl[1:1] = 'ffff'

    #['P','f','f','f','f','r','l']如果起始点和结束点位置一样,则做插入

    print(perl)

    perl[1:3] = 'gggg'

    #['P','g','g','g','g','f','f','r','l']如果起始点和结束点之间的位置不够放右值,则替换掉已有的位置值,剩余的值做插入处理

    print(perl)

    perl[1:8:2] =

    'hhhh' #['P','h','g','h','g','h','f','h','l']如果步长大于1,那么右值的个数要等于分片数,否则编译不通过

    print(perl)

    16、 列表方法

    append,在列表末尾追加新对象x.append(1)

    count,计算某个元素在列表中出现的次数:x.count(1)

    extend,在列表的末尾一次性追加另一个序列的多个值,通过修改原始序列,而“+”连接操作符是返回一个全新的列表

    index,从列表中找出某个值第一个匹配项的索引,但是如果索引的值不存在,会产生异常

    insert,将对象插入列表,x.insert(1,'dkjf')

    pop,一处列表中的一个元素,默认最后一个,并返回该元素的值

    remove,用于移除列表中某个值的第一个匹配项,在原有列表上修改

    reverse,将列表中的元素反向存放,在原有列表上修改

    sort,排序列表,在原有列表上修改,返回一个空值,如果想保存排序前的x列表,那么在排序前保存x列表的副本,保存x列表副本的方式:

    y=x[:] y.sort()用副本y排序

    y=sorted(x)这个函数可以用于任何序列,但是总是返回一个列表

    y=x错误的使用方式,这条语句是将x y指向同一个副本

    高级排序

    x.sort(cmp) #cmp制定排序函数

    x.sort(key=len) #按长度排序

    x.sort(reverse=True)

    #反向排序

    17、元组,不能修改的序列,列表用中括号,元组用圆括号,单个元素的元组,要在元素后面加一个逗号,如(1,),因为如果不加逗号会被认为是数字

    tuple([1,2,3]) #把list转换成元组

    tuple('abc')==》('a','b','c')

    序列的操作函数元组都有,但是列表的没有哦

    18、字符串,字符串是不能修改的序列

    格式化:

    format ="Hello %s %d %%"

    values =("wff", 10)

    print(format%values)#Hello wff 10 %

    格式化字符串里如果要显示%就得用‘%%’

    模板字符串:

    字符串函数:

    find,查找子字符串,返回字符串所在位置,不存在返回-1。str.find('aaa')

    join,是split方法的逆方法,将队列拼成字符串,可以带拼接符。

    lst=['1','2']

    sep='+'

    newlst=sep.join(lst)

    print(newlst) #1+2

    lower,返回字符串的小写字母版,str.lower()

    replace,字符串替换,

    split

    strip去除字符串两侧的空格

    translate

    maketrans(这个函数3.5之后现在在str类中)

    x='this!is!'

    a=str.maketrans('','',string.punctuation)

    x=x.translate(a)

    #结果:thisis字符串x中的punctuation将会被替换成空

    print(x)

    s='abcdefab'

    table=str.maketrans('ab','AB')

    s=s.translate(table)

    #结果:ABcdefAB将s列表中的ab替换成AB

    print(s)

    19、字典

    创建:

    items =[('name','Gumby'),('age',42)] d = dict(items)

    d=dict(name='Gumby',age=42)

    访问方式和正常的字典一样

    来一点特别的,字典的格式化字符串,非常给力:

    fmt ="name:%(name)s,age:%(age)s"

    print(fmt%d)#name:Gumby,age:42

    字典方法:

    clear

    copy,返回一个具有相同键-值对的新字典(浅复制),如果想深复制,可以使用copy.deepcopy(dic)

    fromkeys,使用给定的键建立新字典:

    t={}.fromkeys(['name','age'],

    'unknow') #如果没有提供默认值,则默认为None

    get:

    print(d.get('sex',

    'unknow')) #sex不存在则返回unknow,如果没设置unknown,则sex不存在的情况抛出异常

    items和iteritems,items是以列表的顺序返回所有所有键值对

    keys和iterkeys

    pop:d.pop('age')将age键值对从字典中移除,等于remove

    popitem:弹出随机的一个键值对

    update:利用一个字典项去更新另一个字典

    d.update(x)用x字典中的项去更新d字典,不存在的新增,存在的则覆盖

    values和itervalues

    20、日志输出,print和logging,后者有分日志等级logging.info/warning/error等

    21、import

    import math

    from math importsqrt,pow,add

    from math importsqrtas foobar

    import math asmymath

    22、if语句

    以下值当做布尔表达式的时候被认为是假:

    False None 0"" () {} []

    其他为真

    if else elif

    22、语句块,以“:”(冒号)开始,缩进改变为结束

    23、字母的顺序值,ord函数,还有一个chr函数功能相反

    print ord('a') #97

    print chr(97) #a

    24、三目运算符:print(11 if True else 22)#11

    25、range函数,range(0,10)

    #0123456789左闭包

    xrange函数,xrange(1,5),生成一个生成器,每次加1

    26、for语句

    for word in words:

    for num inrange(0,10):

    for key,values ind.items:

    27、while语句

    while True:

    28、zip函数

    for name,age in

    zip(names,ages): #names/ages分别是一个List

    zip(range(5),xrange(10000))

    #zip可以处理不等长序列,短序列处理完就停止。

    29、enumerate函数,返回序列的索引-值对

    for index,stringin enumerate(strings):

    if 'xxx' instring:

    strings[index]='newval'

    30、reversed和sorted,返回翻转或者排序后的版本。

    31、跳出循环,break、continue

    32、列表推导式---轻量级循环

    print([x*x for xin range(10) if x%3==0]) #0,9,36,81

    for循环中的元素,满足是3的倍数,则将其平方返回。x%3可以换成其他的条件

    print([(x,y) for x

    in range(3) for y in range(3)]) #结果为x012和y012的排列组合

    33、空代码块,pass

    34、删除对象

    x=None

    或者del x

    35、动态执行Python代码,exec

    scope={} #命名空间,将代码放在命名空间中执行

    exec("print('Hello,World')") in scope#Hello,World

    36、动态执行表达式:eval以下是加了作用于的eval

    scope = {}

    scope['x'] = 2

    scope['y'] = 3

    print(eval('x*y',scope)) #6

    37、

    𿅸����$r/

    相关文章

      网友评论

          本文标题:Python 基础语法汇总

          本文链接:https://www.haomeiwen.com/subject/zpgotxtx.html