zoukankan      html  css  js  c++  java
  • python笔记1

    基于python的大数据分析基础

    chapter 1 python 基础

    1. 安装python

    (略)
    

    2. 语法基础

    1. 代码注释:

      • 单行: #
      • 多行: 三个单引号
    2. 缩进表示分层

    3. 语句断行:

      使用 进行多行换行

    4. print()的作用

    5. 字符串中引号的嵌套

    3. 程序结构

    1. 运算符:

    2. 顺序结构

    3. 判断结构

    4. 循环结构

      while

      n=int(input("请输入结束的数"))
      i=1
      su=0
      while i<=0:
          su+=i
          i+=1
      print("从1+到%d结果是:%d" %(n,su))
      

      for

      n =int(input("请输入结束的数"));
      i=0;
      fori in range(n+1):
          su+=i;
      print("从1加到%d的结果是" %(n,su))
      
    5. 异常

      • try...except 不同于别的语言的try..catch

        try:
            print(1/0)
        except Exception as e:
         	print("代码出现异常")
        print("继续运行")
        
      • try..except..finally

        try:
            print("这里没有异常")
        

      except Exception as e:
      print("这句话不会输出")
      finally:
      print("必须执行的")

      
      
    • try...except...finally

         try:
             print("正常代码")
       except Exception as e:
          pirnt("这句话不会输出")
         else:
             print("这句话被输出")
         finally:
             print("无论如何都会执行的")
      

    4.函数:

    • 定义:
    def 函数名 (参数):
      函数体
      return 返回值
    
    • 参数结构:

      • 传统参数传递

        • 无参数传递:

          def func():
              pass
          
        • 固定参数:

          def func(x,y,z):
              pass
          
      • 默认传递参数

        def func(x,y="abc",z="bcd"):
            pass
        
      • 未知参数个数

        参数数量不固定,使用一个* 就可以了

        def func(name,*args):
            for i in args:
                print(i)
        func("张三","李四","王五")
        
      • 带键参数传递

        def func(**kwargs):
            print(type(kwargs))
            for i in kwargs:
                print(i,kwargs[i])
                
        func(aa=1,bb=2,cc=3)
        
    • 回调函数:

      回调函数: 将函数作为参数传递给另一个函数中调用.

      def  func(fun,args):
          fun(args)
          
      def f1(x):
          print("这是f1",x)
      def f2(x):
          print("这是f2",x)
      func(f1,123)
      
    • 函数递归与嵌套

      • 函数递归

        函数递归是指函数在函数体中直接或者间接的调用自身的现象,递归必须要有停止条件,否则就是一个死循环

        '''
        斐波那契
        '''
        def fib(n):
            if n>=2:
                return 1
            else:
                return fib(n-1)+fib(n-2)
            
        for i in range(1,10):
            print("fib(%s)=%s" %(i,fib(i))
            
        
      • 函数嵌套

        函数嵌套指函数内部调用其他函数.

    • 闭包

      回调函数是将函数作为参数传递,而闭包是将函数作为返回值返回.

      闭包可以延长变量的作用时间和作用域.

      def say(word):
          def name(name):
              print(word,name)
          return name
      hi = say("你好") # 将hi变成name 函数
      hi("小明")# 调用name函数
      
    • 匿名函数lambda

      python 允许使用lambda关键字定义一个匿名函数,所谓的匿名函数,指调用一次或者几次以后不再需要的函数.

      #求两个数之和 定义函数 f(x,y) =x+y
      f = lambda x,y: x+y
      print(f(2,3))
      
      
      • lambda 不能包含命令
      • lambda表达式不能超过一个
    • 关键字yield

    yield关键字,可以将函数执行的中间结果返回但不结束程序.

    def func(n):
        i=0;
        while i<n:
            yield i
            i+=1
    for i in func(10):
        print(i)
    

    5. 数据结构

    • 列表:

      列表的定义: 中括号,英文逗号做分隔,里面的数据可以是任意类型的

      s=[1,2,4,"abc",{"age":23}]
      pirnt(type(s))
      

      获取列表元素: 通过下标获取,从0开始 list[index]

      list常用的函数:

      list = [1,2,3]
      list.append(4) #将元素追加到list的尾部
      print(list)
      list_new = [5,6,7]
      list.extend(list_new) # extend将一个列表追加到另一个列表
      pirnt(list)
      list.insert(1,"a") #insert  插入到指定位置,第一个是位置编号,第二个参数是插入的元素
      print(list)
      list.remove(1); #remove 是将列表中一个值为1的元素移除
      pirnt(list);
      
      list.clear() #清空列表
      list.index(1) #返回第一个值为1的索引位置,如果不存在1,就会报错
      list.count() #返回列表的长度
      list.reverse() #列表反向
      liset.sort() #数组从小到大排序,翻转的话.list.sort(reverse=True)
      list.copy()  #返回列表的副本
      
    • 元组:(tuple)

      元素和列表相似,用括号定义,元祖一旦定义就不会更改

      tuple.count() #tuple一共有多少个元素
      tuple.index(x) #第一个x元素出现的位置
      
    • 集合(set):

      集合不能保存重复的数据,它具有排重的功能.set中的元素的位置是无序的,所以不能像 列表一样通过索引进行获取数据.

      集合操作:

      
      
    • 字典(dict):

      键值对结构.可类比php的数组和js的json

      d = {'age':12,"name":"张三"}
      

      操作:

      d = {'age':12,"name":"张三"} #定义字典
      dc = d.copy #复制字典
      dc.clear() #字典清楚
      d.items() #获取字典列表
      d.keys() #获取字典的key列表
      d.values() # 获取字典的value列表
      d.pop("age") #将key为age的项删除
      

    6. 常用的三个函数

    • map

      遍历序列,对序列中的每一个元素进行操作,最终获取新的序列

      li=[111,22,33]
      new_list = map(lambda a:a+100,li)
      a =list(new_list)
      print(a)
      

      map用于遍历,数组,然后通过跌代器进行对每一个元素进行操作操作后返回

    • filter

      fileter是筛选,满足func条件的会留下来

      list = [11,22,33]
      new_list = filter(lambda x:x>22,list)
      print(new_list)
      
    • reduce

      累计函数,迭代所有元素并进行累计

      from functools import reduce # 从functool模块导入reduce函数
      list = [11,22,33,44]
      value = reduce(lambda arg1,arg2:arg1+arg2,list)
      print(value)
      

    7,面向对象编程基础

    • 类和实例
    • 数据封装:
    • 私有方法和私有变量:
  • 相关阅读:
    ryzen nvidia hackintosh
    mysql count 主键之坑
    git命令
    MYSQL 注释
    yaf twig配置
    1.YAF 的安装
    yaf nginx 设置
    ubuntu 16 阿里云 vsftpd
    win10下 homestead 安装
    活动调度
  • 原文地址:https://www.cnblogs.com/callmelx/p/12920468.html
Copyright © 2011-2022 走看看