python基础

作者: 李静数据分析 | 来源:发表于2019-07-25 17:26 被阅读0次

    一、基本使用

    1.1 print功能

    1.python3以后的版本需要加括号,python2.7及2.7以前的版本不需要加括号。

    2.打印字符串需要加单引号或者双引号。

    3.打印字符串的叠加可以用+将两个字符串连接起来。

    4.可以打印简单的运算(+,-,*,/)。字符串不可以直接和数字相加。

    5.打印多个变量时用,分隔。如:print(a,b,c)

    1.2 基础数学运算

    1.基本运算有:+,-,,/,//(除取整),%(除取余),m*n(m的n次方)。

    1.3 变量

    1.命名规则:英文、数字和_的组合,不能以数字开头;区分大小写。

    2.可以一次定义一个或者多个变量


    二、while和for循环

    2.1 while循环

    1.基本语法

    while condition:  #condition为判断条件
        expressions    #expressions是执行的语句
    

    2.注意点:在使用while的时候在循环内部一定要修改判断条件的值。如果陷入无限循环,使用ctrl+c来终止程序
    3.condition可以是判断表达式(<,>,<=,>=,==,!=);也可以是数字,整数和浮点数也能进行Boolean数据操作,0或者0.0会返回False其余的返回True;也可以是None的数据类型,将会返回False;也可以是集合类型,例如list,tuple,dict和set等,如何集合中的元素数量为0,返回False,否则返回True。

    2.2 for循环

    1.基本语法:

    for item in sequence:   #sequence为可迭代的对象,item为序列中的每个对象
        expressions
    

    2.可迭代对象可以用range来获得,range有三种方法:

    (1)range(start, stop),start是序列的起始值,stop为结束值,但不包括改值。
    (2)range(stop),默认从0开始
    (3)range(start, stop, step),step是步长,每次增加step的值。

    3.python内置的list、tuple、dict和set四种基本集合的对象都能够作为迭代集。
    4.可以按照迭代器的要求自己生成迭代器对象。只要类中实现了__iter__next函数,就可以使用。例子如下(来源于莫烦的python教程)。

    # define a Fib class
    class Fib(object):
        def __init__(self, max):
            self.max = max
            self.n, self.a, self.b = 0, 0, 1
    
        def __iter__(self):
            return self
    
        def __next__(self):
            if self.n < self.max:
                r = self.b
                self.a, self.b = self.b, self.a + self.b
                self.n = self.n + 1
                return r
            raise StopIteration()
    
    # using Fib object
    for i in Fib(5):
        print(i)
    

    5.Python 使用 yield 关键字也能实现类似迭代的效果,yield 语句每次 执行时,立即返回结果给上层调用者,而当前的状态仍然保留,以便迭代器下一次循环调用。这样做的 好处是在于节约硬件资源,在需要的时候才会执行,并且每次只执行一次。

    def fib(max):
        a, b = 0, 1
        while max:
            r = b
            a, b = b, a+b
            max -= 1
            yield r
    
    # using generator
    for i in fib(5):
        print(i)
    

    三、if判断

    1.基本语法

    #第一种类型
    if condition:
        expressions
    #第二种类型
    if condition:
        true_expressions   #条件为真执行的语句
    else:
        false_expressions   #条件为假时执行的语句
    #第三种类型
    if condition1:
        true1_expressions
    elif condition2:
        true2_expressions
    elif condtion3:
        true3_expressions
    elif ...
        ...
    else:
        else_expressions
    

    2.python 可以通过if-else完成类似condition ? value1 : value2这样的三木运算的功能。

    var = var1 if condition else var2
    

    四、定义功能

    4.1 def函数

    1.基本语法:

    def function_name(parameters):
        expressions
    

    4.2 函数参数

    1.基本用法:

    def function_name(parameters):
        expressions
    

    4.3 函数默认参数

    1.基本用法:

    def function_name(para_1,...,para_n=defau_n,..., para_m=defau_m):
        expressions
    

    2.默认参数不能出现在非默认参数前面。
    3.自调用:如果执行该脚本的时候,该 if 判断语句将会是 True,那么内部的代码将会执行。 如果外部调用该脚本,if 判断语句则为 False,内部代码将不会执行。

    if __name__ == '__main__':
        #code_here
    

    4.可变参数:参数个数不固定。可变参数在函数定义不能出现在特定参数和默认参数前面,因为可变参数会吞噬掉这些参数。

    def report(name, *grades):  #参数 *grades 使用了 * 修饰,表明该参数是一个可变参数,这是一个可迭代的对象
        total_grade = 0
        for grade in grades:
            total_grade += grade
        print(name, 'total grade is ', total_grade)
    

    5.关键字参数:参数在函数内部自动封装成一个字典(dict),通常来讲关键字参数是放在函数参数列表的最后

    def portrait(name, **kw):    #\*\*表示kw是关键字参数
        print('name is', name)
        for k,v in kw.items():
            print(k, v)
    

    五、变量形式

    1.局部变量
    2.全局变量


    六、文件读写

    1.open读文件方式

    my_file=open('my file.txt','w')   #用法: open('文件名','形式'), 其中形式有'w':write;'r':read.
    my_file.write(text)               #该语句会写入先前定义好的 text
    my_file.close()                   #关闭文件
    

    2.在文件后面追加内容

    my_file=open('my file.txt','a')   # 'a'=append 以增加内容的形式打开
    my_file.write(append_text)
    my_file.close()
    

    3.读取文件类容

    (1) file.read() 能够读取到文本的所有内容

    file= open('my file.txt','r') 
    content=file.read()  
    print(content)
    

    (2)按行读取 file.readline()

    file= open('my file.txt','r') 
    content=file.readline()  # 读取第一行
    print(content)
    

    (3)读取所有行 file.readlines()

    file= open('my file.txt','r') 
    content=file.readlines()   # python_list 形式,如果要打印出内容,需要用for来迭代
    print(content)
    

    七、class类

    1.基本用用法:class 定义一个类, 后面的类别首字母推荐以大写的形式定义,比如Calculatorclass可以先定义自己的属性,比如该属性的名称可以写为 name='Good Calculator'class后面还可以跟def, 定义一个函数。

    class Calculator:       #首字母要大写,冒号不能缺
        name='Good Calculator'  #该行为class的属性
        price=18
        def add(self,x,y):   #注意这里的self 是默认值
            print(self.name)
            result = x + y
            print(result)
        def minus(self,x,y):
            result=x-y
            print(result)
        def times(self,x,y):
            print(x*y)
        def divide(self,x,y):
            print(x/y)
    

    2.类的初始化:init可以理解成初始化class的变量.

    class Calculator:
        name='good calculator'
        price=18
        def __init__(self,name,price,height,width,weight):   # 注意,这里的下划线是双下划线
            self.name=name
            self.price=price
            self.h=height
            self.wi=width
            self.we=weight
    

    八、input输入

    1.variable=input() 表示运行后,可以在屏幕中输入一个数字,该数字会赋值给自变量,从屏幕获得的值默认为字符串。

    a_input=input('please input a number:')
    

    九、元组、列表、字典

    1.tulpe:用小括号、或者无括号来表述,是一连串有顺序的数字,元素可以一个一个地被迭代、输出、运用、定位取值。元素的值不能被改变。
    2.list:是以中括号来命名的,元素可以一个一个地被迭代、输出、运用、定位取值。元素的值可以被改变。用append()在末尾添加元素,insert()在指定的位置添加元素,remove()删除某个元素,count()计算某个元素出现的次数,sort()排序。
    3.字典:有key和 value两种元素,每一个key对应一个value。

    a_tuple = (12, 3, 5, 15 , 6)
    another_tuple = 12, 3, 5, 15 , 6
    a_list = [12, 3, 67, 7, 82]
    d1 = {'apple':1, 'pear':2, 'orange':3}
    

    十、模块

    1.import timeimport time 模块。
    2.import time as __,__下划线缩写部分可以自己定义。
    3.from time import time,localtime ,只import自己想要的功能。
    4.from time import *输入模块的所有功能。

    十一、其他补充

    1.跳出循环:break & continue
    2.错误处理:使用try

    try:
        file=open('eeee.txt','r')  #会报错的代码
    except Exception as e:  # 将报错存储在 e 中
        print(e)
    

    3.zip函数接受任意多个(包括0个和1个)序列作为参数,合并后返回一个tuple列表。
    4.lambda:定义一个简单的函数。fun = lambda x,y : x+y

    fun= lambda x,y:x+y
    x=int(input('x='))    #这里要定义int整数,否则会默认为字符串
    y=int(input('y='))
    print(fun(x,y))
    

    5.map:是把函数和参数绑定在一起。

    def fun(x,y):
        return (x+y)
    a=list(map(fun,[1,2],[3,4]))
    

    6.copy.copy & copy.deepcopy 浅复制 & 深复制:当使用浅拷贝时,python只是拷贝了最外围的对象本身,内部的元素都只是拷贝了一个引用而已;deepcopy对外围和内部元素都进行了拷贝对象本身,而不是对象的引用。
    7.多线程
    8.多进程
    9.tkinter窗口
    10.pickle 是一个 python 中, 压缩/保存/提取 文件的模块。

    import pickle
    
    a_dict = {'da': 111, 2: [23,1,4], '23': {1:2,'d':'sad'}}
    
    # pickle a variable to a file
    file = open('pickle_example.pickle', 'wb')
    pickle.dump(a_dict, file)  #保存a_dict的内容到file里面
    file.close()
    
    # reload a file to a variable
    with open('pickle_example.pickle', 'rb') as file:
        a_dict1 =pickle.load(file)  #提取用pickle保存的文件的内容
    
    print(a_dict1)
    

    11.集合set:最主要的功能就是寻找一个句子或者一个 list 当中不同的元素。
    12.正则表达式

    相关文章

      网友评论

        本文标题:python基础

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