Python Getting Started document

Foreword

This article is the essence of my study notes Python process, some local narrative expression may not clear enough, welcome message. (This article is for certain programming language-based readers (preferably c language))

First, the basic grammar

1、框架:
    (1)以缩进表示层次所属关系、没有大括号
    (2)没有分号、没有函数约束、没有begin/end
(3)没有类型声明、没有变量定义、没有指针

2、变量相关:
(1)变量只是将名字和对象关联,赋值操作并不是实际复制值;
    id() #可显示对象的地址

3、输入输出:
input() 
    (a)读入一个字符串,若要使用数值,需要进行类型转换
        如:a = int(input())
    (b)一行可输入多个值 input().split()
        如: n,m=input().split()
print()
    每执行一次都自动换行
    print(xxxx,end=' ')     #不换行的方法

Second, the data type

1、数字类型:
    整数:无数据范围
    浮点数:浮点运算存在不稳定尾数,有误差
        解决方案:
            round(x[,n]) 
                            #[,n]为可选参数部分
                            #n保留的小数位数
                            #若x的小数位小于n,为输出位数以x的小数位为准

    复数:
        形如:a+b*j
        real取实部  imag取虚部
        complex(a,b)  #用于创建real + imag * j

        算数运算符:
            '/'     #浮点数除法
            '//'    #整数除法
            '**'    #幂运算

字符串:
    单双引号无区别,三引号可跨行
    运算符:
        '+'  #链接字符串
            如:'hello'+'world'  ->  'helloworld'

        '*'  #复制字符串
            如:'ab'*3  ->  'ababab'

    索引:
        [0~n-1] or [-n,-1]

    切片:
        S[a:b] #读取S(a,b)的子串

Third, the conventional built-in conversion function

    1、类型类:
    bool()
    int ()
    float()     #根据传入参数穿件新的浮点数
    str()       #创建字符创
2、编码类:
    ord()       
    chr()
    bin()
    oct()
    hex()

    list()      #根据传入参数创建列表
        如:  list('abcd')   ->   ['a','b','c','d']

3、详解:
    int():
        格式:int(x[,base=10]) #方括号内为可选参数
            用法:
                (a)int()            #不传参,return 0
                (b)int("02")        #去掉0
                (c)int("    35  ")  #去掉空格
                (d)int("35",8)      #转为8进制
    ord():
        用法:
            (a)ord('a')     #转为ASCII码   输出:97
            (b)ord('中') #转为Unicode码 输出20013

    chr(97) #参数类型为整数        输出:'a'  

 4、进制转换类函数:参数为十进制
    bin()   #输出二进制
    oct()   #输出八进制
    hex()   #输出十六进制

Fourth, the statement

    1、基本规则:
    (a)通常一行一条语句
    (b)一行多条语句则用分号(;)隔开
    (c)语句太长需要跨行,行末用(\)

2、赋值:
    用法 1:普通赋值
    用法 2:序列赋值
        x,y=a,b         #等价于 x=a y=b
        常见用法:
            x,y=y,x     #等价于 swap(x,y)
    用法 3:
        i,j=[1,2,3]     #error
        i,*j=[1,2,3]    #等价于    i=1 j=[2,3]

3、if语句:
    if 逻辑表达式
        语句块
    elif 逻辑表达式
        语句块
    else 逻辑表达式
        语句块
    注意事项:
        如果元素有多种形式的,if语句放在for前面。
        如果元素不需要分类说明时,if语句放在for的后面。

4、循环语句:
    for var in 列表
        语句块
    示例:for i in [1,2,3,4]:
            printf(i,end=' ')
    range(start,stop,step)函数
        start:从start开始。默认从0开始
        stop:到top结束。不包括stop
        step:步长,默认为1

5、列表推导式:
    描述:
        (a)一种穿件列表的方式
        (b)可与循环、条件结合使用;
        (c)生成的是字符串列表
    示例:
        (1)与for结合
            n1=[2*i for i in [1,2,3,4,5]]
            即:n1=[2,4,6,8,10]

        (2)与if结合
            a=[1/i if i%2==1 else -1/i for i in range(1,n+1)]
            即:a=[1,1/2,1/3,...,1/n]
        应用示例:
            (1)求1+1/2+...+1/20的和

                a=sum([1/i for i in range(1,21)])
                print(a)    #即可输出结果 

            (2)求1-1/2+1/3-1/4+1/5+...
                a=sum([1/i if i%2 else -1/i for i in range(1,21)])
                print(a)

            (3)求6+66+666+...+666...666
                n=int(input())
                print(sum(int(['6'*i for i in range(1,n+1)])))

Guess you like

Origin www.cnblogs.com/yifeianyi/p/12408900.html