• 学习python语言前的指引与总结


    一、python语言的学习流程:

    1、基础知识:

      学习每一种新的编程语言都是从最基本的开始,对于python而言也是需要先学习其基础知识。

      python的基础知识包括:变量和数据类型,List和Tuple,条件判断和循环,Dict和Set, 函数,切片,迭代和列表生成式。

      注意:学习基础知识切莫着急,一定要打好基础,这样才会更好的应用python

    2、进阶知识:

      学完掌握基础知识之后,就要学习进阶知识了。

      python的进阶知识包括:函数式编程,模块,面向对象编程基础,类的继承和定制类

    3、python装饰器:

      装饰器是很重要的一个知识点。

      关于装饰器需要涉及到函数作用域.闭包的使用和装饰器的概念及使用

    4、高阶知识:

      文件处理,错误和异常和正则表达式

    5、提升阶段:

      数据库操作,Django框架和爬虫技术

    二、Python初学的17个学习小技巧

    1、交换变量

    有时候,当我们要交换两个变量的值时,一种常规的方法是创建一个临时变量,然后用它来进行交换。例:

    # 输入
    
    a = 5
    
    b = 10
    
    #创建临时变量
    
    temp = a
    
    a = b
    
    b = temp
    
    print(a)
    
    print(b)

    但在Python中,其实我们有一种更简洁的写法:

     

     

    2、if 语句在行内

    print "Hello" if True else "World"
    
    >>> Hello

    3、连接

    下面的最后一种方式在绑定两个不同类型的对象时显得很酷。

    nfc = ["Packers", "49ers"]
    
    afc = ["Ravens", "Patriots"]
    
    print nfc + afc
    
    >>> [''Packers'', ''49ers'', ''Ravens'', ''Patriots'']
    
    print str(1) + " world"
    
    >>> 1 world
    
    print `1` + " world"
    
    >>> 1 world
    
    print 1, "world"
    
    >>> 1 world
    
    print nfc, 1
    
    >>> [''Packers'', ''49ers''] 1

    4、计算技巧

    #向下取整
    
    print 5.0//2
    
    >>> 2
    
    # 2的5次方
    
    print 2**5
    
    >> 32
    
    注意浮点数的除法
    
    print .3/.1
    
    >>> 2.9999999999999996
    
    print .3//.1
    
    >>> 2.0

    5、数值比较

    x = 2
    
    if 3 > x > 1:
    
    print x
    
    >>> 2
    
    if 1 < x > 0:
    
    print x
    
    >>> 2

    6、两个列表同时迭代

    nfc = ["Packers", "49ers"]
    
    afc = ["Ravens", "Patriots"]
    
    for teama, teamb in zip(nfc, afc):
    
    print teama + " vs. " + teamb
    
    >>> Packers vs. Ravens
    
    >>> 49ers vs. Patriots

    7、带索引的列表迭代

    teams = ["Packers", "49ers", "Ravens", "Patriots"]
    
    for index, team in enumerate(teams):
    
    print index, team
    
    >>> 0 Packers
    
    >>> 1 49ers
    
    >>> 2 Ravens
    
    >>> 3 Patriots

    8、列表推导

    已知一个列表,刷选出偶数列表方法:

    numbers = [1,2,3,4,5,6]
    
    even = []
    
    for number in numbers:
    
    if number%2 == 0:
    
    even.append(number)

    9、用下面的代替

    numbers = [1,2,3,4,5,6]
    
    even = [number for number in numbers if number%2 == 0]

    10、字典推导

    teams = ["Packers", "49ers", "Ravens", "Patriots"]
    
    print {key: value for value, key in enumerate(teams)}
    
    >>> {''49ers'': 1, ''Ravens'': 2, ''Patriots'': 3, ''Packers'': 0}

    11、初始化列表的值

    items = [0]*3
    
    print items
    
    >>> [0,0,0]

    12、将列表转换成字符串

    teams = ["Packers", "49ers", "Ravens", "Patriots"]
    
    print ", ".join(teams)
    
    >>> ''Packers, 49ers, Ravens, Patriots''

    13、从字典中获取元素

    不要用下列的方式

    data = {''user'': 1, ''name'': ''Max'', ''three'': 4}
    
    try:
    
    is_admin = data[''admin'']
    
    except KeyError:
    
    is_admin = False

    替换为

    data = {''user'': 1, ''name'': ''Max'', ''three'': 4}
    
    is_admin = data.get(''admin'', False)

    14、获取子列表

    x = [1,2,3,4,5,6]
    
    #前3个
    
    print x[:3]
    
    >>> [1,2,3]
    
    #中间4个
    
    print x[1:5]
    
    >>> [2,3,4,5]
    
    #最后3个
    
    print x[-3:]
    
    >>> [4,5,6]
    
    #奇数项
    
    print x[::2]
    
    >>> [1,3,5]
    
    #偶数项
    
    print x[1::2]
    
    >>> [2,4,6]

    15、60个字符解决FizzBuzz

    前段时间Jeff Atwood 推广了一个简单的编程练习叫FizzBuzz,问题引用如下:

    写一个程序,打印数字1到100,3的倍数打印“Fizz”来替换这个数,5的倍数打印“Buzz”,对于既是3的倍数又是5的倍数的数字打印“FizzBuzz”。

    这里有一个简短的方法解决这个问题:

    for x in range(101):print"fizz"[x%34::]+"buzz"[x%54::]or x

    16、集合

    用到Counter库

    from collections import Counter
    
    print Counter("hello")
    
    >>> Counter({''l'': 2, ''h'': 1, ''e'': 1, ''o'': 1})

    17、迭代工具

    和collections库一样,还有一个库叫itertools

    from itertools import combinations

    teams = ["Packers", "49ers", "Ravens", "Patriots"]

    for game in combinations(teams, 2):

    print game

    >>> (''Packers'', ''49ers'')
    
    >>> (''Packers'', ''Ravens'')
    
    >>> (''Packers'', ''Patriots'')
    
    >>> (''49ers'', ''Ravens'')
    
    >>> (''49ers'', ''Patriots'')
    
    >>> (''Ravens'', ''Patriots'')

    在python中,True和False是全局变量,因此:

    False = True
    
    if False:
    
    print "Hello"
    
    else:
    
    print "World"
    
    >>> Hello

    三、实用的基础学习:

    如果要在python中写中文,则要在xx.py的最前面声明

    1
    #coding:utf-8

    1、基础语法:变量,字符串,函数,逻辑判断,循环

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    varline = 2 ;
    print(varline);
    #打印字符串
    print("hello Python");
    print("你好,Python");
    #整型和字符串的转化
    num1 = 100 ;
    num2 = "100";
    num3 = num1 + int(num2);
    print(num3);
    #字符串操作
    str1 = "hello world" ;
    str2 = str1 * 3 ;
    string_count = len(str1);
    print(string_count);
    print(str2);
    #字符串索引等价
    print(str1[0]); print(str1[-11])  #===>h
    print(str1[1]); print(str1[-10])  #===>e
    print(str1[2]); print(str1[-9])   #===>l
    #可以将字符串进行分割
    print(str1[0:5]);print(str1[6:11]); #===> hello   world
    print(str1[-4:]);
    #函数的定义和使用
    def Print():
      print("hello world");
      return "sss" ;
    sss = Print();
    print(sss);
    def add(arg1 , arg2):
      return arg1 + arg2 ;
    print(add(1,2));
    def getTempatuare(temp):
      return temp *9/5 + 32 ;
    print(str(getTempatuare(35)) + "'F");
    #克转千克算法
    def print_kg(g):
      return float(g / 1000) ;
    print(str(print_kg(1)) + "kg");
    #求直角三角形斜边的长度
    def Line_print(arg1,arg2):
      return ((arg1*arg1 + arg2 * arg2))**0.5
    print("The right triangle third side's length is " + str(Line_print(3,4)));
    #str_rp = str1.replace(str1[:3],'*'*9);
    #print(str_rp)
    str11 = "{} a word she can get what she {} for."
    str12 = "{preposition} a word she can get what she {verb} for"
    str13 = "{0} a word she can get what she {1} for."
    str111 = str11.format('With','came');
    str121 = str12.format(preposition = 'With',verb = 'came')
    str131 = str13.format('With','came')
    print(str111)
    print(str121)
    print(str131)
    #单独创建
    file1 = open('F:\'+'hello.txt','w')
    file1.write("Hello world");
    file1.close()
    #使用函数创建
    def text_create(name, msg):
      desktop_path = 'F:\'
      full_path = desktop_path + name + '.txt'
      file = open(full_path,'w')
      file.write(msg)
      file.close()
      print('Done')
    text_create('Yang','hello world') # ????
    #变量的比较
    teststr1 = "Hello"
    teststr2 = "World"
    teststr3 = "Hello"
    print(teststr1 in teststr2)
    print(teststr1 is teststr3)
    print(bool(teststr1))
    print(bool(''))
    print(not teststr1)
    print(teststr1 < teststr3 and teststr2 > teststr1)
    print(teststr1 > teststr2 or teststr3 < teststr1)
    #python逻辑判断学习
    a = 1
    b = 3
    if a < b :
      a = 3
      b = 2
    else:
      a = 2
      b = 3
    print(a,b);
    if a < b:
      a = 3
      b = 2
    elif a > b:
      a = 2
      b = 3
    else:
      a = 100
      b = 200
    print(a,b)
    for i in 1,2,3,4,5,6:
      print(i)
    for string_str in "hello","world","world":
      print(string_str)
    for str1111 in "Hello":
      print(str1111)

    2、Python数据结构:列表,元组,字典,集合

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    #python列表===>
    #特点:可以装python的所有类型,包括元组,列表,字典等
    city = ['广东','云南','广西','江西','HongKong','Shenzhen',123456]
    for i in 0,1,2,3,4,5,6:
      print(city[i])
    city.insert(1,'北京') #列表的插入
    for i in 0,1,2,3,4,5,6:
      print(city[i])
    city.remove('HongKong') #列表的删除
    for i in 0,1,2,3,4,5,6:
      print(city[i])
    del city[0#使用del方法删除列表中的元素
    for i in 0,1,2,3,4,5:
      print(city[i])
    #python元组 ===>
    #特点:不可修改,可被查看以及索引
    num = ('1','2','3','4','5')
    for i in 0,1,2,3,4:
      print(num[i])
    #python字典 ===>
    #特点:键值成对存在,键不可重复,值可重复,键不可改,值可以变,可以为任何对象
    Dog = {'name':'sundy','age':18}
    Dog.update({'tel':119}) #往字典中添加键值对
    print(Dog)
    del Dog['name'] #往字典中删除键值对
    print(Dog)
    #集合
    num_set = {1,2,3,4,1,5}
    num_set.add(6) #往集合里添加元素
    print(num_set)
    num_set.discard(3) #从集合里删除元素
    print(num_set)

    3、Python语言面对对象:类的定义、使用以及类的继承

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    #coding:utf-8
    #定义一个类
    class Anmial:
      var = 100
      Dog = ['runing','eat','sleep'] #Dog是这个类的属性
      def function(self):   #类里的方法
        if Anmial.var == 10:
          print(Anmial.var)
        else:
          print(self+str(Anmial.Dog))
        return Anmial.var
    #实例化类
    Dog1 = Anmial()
    print(Anmial.Dog)
    #遍历类中的成员
    for i in Anmial.Dog:
      print(i)
    #创建实例属性===>类似创建一个与Dog一样的属性
    Anmial.log = '会飞','Hello','Monkey'
    print(Anmial.log)
    Anmial.function("属性:")
    class CocaCola():
      formula = ['caffeine','suger','water','soda']
      def __init__(self,local_name): #===>self相当于可以用来访问类中的成员或者创建属性
          self.logo_local = '橙汁'
          if local_name == '可乐':
            print(local_name)
          elif local_name == '橙汁':
            print(local_name)
          else:
            print('西瓜汁')
      def drink(self): #===>调用该方法的时候等效于 coke = CocaCola.drink(coke)
        print('Energy!')
    coke = CocaCola('可乐')
    coke1 = CocaCola('橙汁')
    coke2 = CocaCola('梨汁')
    #类的继承===>xuebi相当于CocaCoal的子类,CocaCoal相当于父类
    class xuebi(CocaCola):
      formula = ['白色','黄色','绿色']
    xuebi = xuebi(CocaCola) #将CocaCola放在括号中,表面xuebi集成于CocalCola
    print(xuebi.formula)
    xuebi.drink()      #这样子类就可以调用父类的方法,继续延用了

    四、总结:

    Python是一种面向对象的解释型计算机程序的设计语言, Python具有丰富和强大的库。它常被称为胶水语言,能够把其他语言制作的各种模块很轻松地结合在一起。

    相对于Java、C语言等,Python简单易学,更适合没有编程基础的小白入门。Python 的语言没有多少仪式化的东西,所以就算不是一个 Python 专家,你也能读懂它的代码。

    Python的发展方向:数据分析、人工智能、web开发、测试、运维、web安全、游戏制作等等

  • 相关阅读:
    iBatis查询时报“列名无效”无列名的错误原因及解决方法
    【转】Spring结合Quartz实现多任务定时调用
    关于jar中读取包内和包外文件
    【摘自百度文库】数据库水平切分的实现原理解析
    web.xml 中的listener、 filter、servlet 加载顺序及其详解(转载)
    EL表达式
    【转】使用XFire+Spring构建Web Service
    慎用href="javascript:void(0)"
    POI导出EXCEL【摘自:oschina.net】
    【转】IBM websphere6.1 不支持泛型、intInteger类型的自动装箱和拆箱问题
  • 原文地址:https://www.cnblogs.com/xiaobaicai-doudou/p/12623584.html
Copyright © 2020-2023  润新知