51Testing软件测试论坛

标题: 零基础如何自学python [打印本页]

作者: lsekfe    时间: 2021-7-2 11:05
标题: 零基础如何自学python

很多童鞋对如何学习python感到迷茫因为感觉python要学的东西太多了。作为初学者,如果什么都学肯定会焦虑。只有确定学习范围,才能快速入门python,方法同样适合学习任何一门编程语言。

曾经因为要给学生上python课的缘故,所以花了两周时间准备了python课件,在准备课件时发现学习编程语言的学习有套路。

计算机由输入处理输出以及存储设备组成,程序单元同样也有这四部分组成。同时程序是对数据进行处理的,就是用户输入一些数据,经过程序的处理会得到处理结果给到用户。知道了这个逻辑,就知道了python的工作内容。

首先熟悉python的基本语法,清楚如果创建工作对象运行程序,写注释等,这就是所有教材都有一个案例为hello world。然后再是输入和输出语句,python的输入即是input方法,将用户的键盘输入存储为到变量中,此处需要理解变量是咋回事。接下来自然需要学习输出语句,即print方法,python输出字符+变量的时候有三种形式,咱们只需要掌握其中任意一种形式即可完成输出,达到能够实现输出的目标即可。这一块我用的案例是输入你的名字,系统输出欢迎您,xxx(即你的名字),代码如下:

  1. #输入部分
  2. name = input('请输入您的名字')
  3. money = int(input('请输入您的月薪'))    #int()转整数类型
  4. #处理部分
  5. income = money*12
  6. #输出部分
  7. print('员工姓名:{} 的年收入为:{}'.format(name,income))
复制代码
当我们清楚编程语言的结构为输入处理输出型,输入和输出又分别是input和print语句完成,接下来自然就到了处理部分。python是处理数据的,而任意一种编程语言的基本数据类型都分为两大类----数字类型和非数字类型,对应咱们自然界中的数学和语文。这也就清楚了python的数据类型分为三大类:数值型,字符串型和复合数据类型(接下来再谈),数值型分为三种类型:整数,浮点数和布尔数,其中整数和浮点数的处理方式相同,所以只需要学习整数即可。而数值类又只要会五则运算(加减乘除取余),就能知道数值类型的操作。至于更复杂的乘方开方取绝对值等数学不要去碰,因为我们是了解数字类型是怎么处理的而不是了解数字类型的所有处理方法。这一块我使用的案例为:输入一个三位数,得到它的个数十位和百位

  1. #输入部分
  2. num = int(input('请输入一个三位数:'))
  3. #处理部分
  4. bai = num//100        #整除100,得到百位
  5. shi = num//10%10        #整除10再对10取余数,得十位
  6. ge = num%10            #对10取余数
  7. #输出部分
  8. print('百位为:{},十位为:{},个位为:{}'.format(bai,shi,ge))
复制代码
接下来自然是学习字符串处理,与整数对应的另一种数据类型。字符串的处理方式有四种,分别为:字符串的定义,字符串的变长(拼接),字符串的变短(字符串索引),字符串方法(含内置方法),这一块的案例有:
  1. #输入部分
  2. msg = input('请输入一个字符串:')
  3. #处理部分
  4. head = msg[0]    #索引,得首字母
  5. tail = msg[-1]    #索引,可以为负数
  6. middle = msg[3:5]    #索引,取子串
  7. lens = len(msg)        #内置方法,得字符串长度
  8. ch = msg.count('a')    #字符串方法,了解三五个即可
  9. #输出
  10. print(head)
复制代码
再然后自然是处理逻辑了,也就是循环判断,这块包括三块分别是if判断,while循环和for循环。if判断清楚其基本语法,判断条件和语句就基本上熟悉判断语句了。这一块一定要花时间熟练基础的判断语录,同理while循环和for循环也是相同的。在做这三块内容首先需要知道其语法结构,然后在该结构中进行套用即可。
  1. if '判断条件':
  2.     '满足条件要执行的内容'
  3. else:
  4.     '不满足条件的处理'
  5. while '循环条件':
  6.     '要循环的内容'
  7.     i += 1
  8. for x in range(10):
  9.     '要循环的内容'
复制代码
这其中就是套用规则即可,例如输入一个整数,判断其单双数(取余数 num%2==0)
  1. num = int(input('请输入一个整数'))
  2. if num%2==0:    #判断条件
  3.     print('{}是双数'.format(num))    #满足条件要执行的内容
  4. else:
  5.     print('{}是单数'.format(num))    #不满足条件要执行的内容
复制代码
当我们清楚语法结构,然后再分别去实现条件和处理部分,此时无论实现条件还处理部分全部变成了砖块,也就慢慢可以产生程序的结构化思维。

再然后是复合数据类型,复合数据类型虽然有列表(list),元组(tuple),字典(dict),集合(set),在这里我们重点学习列表和字典即可。列表需要掌握的内容如下:

  • 列表的定义和输出
    • 定义:中括号,里面的元素类型可以为任意
    • 列表的关键字是list(),可以将字符串用该方法转成列表
    • 用print可以直接输出列表

  • 列表的增删改
    • 增:即添加元素
      • 直接往最后追加元素: append()
      • 在指定位置插入元素: insert()

    • 删:删除一个元素
      • 删除位置上的元素: pop()
      • 按内容删除元素:remove()

    • 改:就是重新赋值
      • lister[0]='newvalue'


  • 列表的查看
    • 查看任意位置的元素: print(lister[0])
    • 可以用负下标: print(lister[-1])
    • 二维列表的查看(lister[1][1])
    • 通过for循环挨个输出
      • forx in lister:
      • fori in range(len(lister)):


  • 列表的方法
    • 内置方法
      • 求长度: len()
      • 求最大值和最小值:max和min 只能同数据类型
      • 求和:sum  只能是数值类型
      • 求平均值:没有直接的方法,只能 sum()/len()
      • 求是否为子串: in和not in

    • 列表方法
      • 列表和字符串的互换
        • 将字符串打散成列表:字符串.split()



  • 各种练习:
    • 练习1:定义一个列表,求其五大聚合值
    • 练习2:定义一个通讯录列表,可以往里面添加姓名,如果添加的通讯录名单达到5个则不允许再度添加了
    • 练习3:登录小案例,定义一个用户列表(二维列表),用户以input方式输入用户名和密码,对输入的用户名和密码进行登录效验,输出登录结果
    • 练习4:注册小案例,用户输入用户名,密码和确认密码。如果密码和确认密码不一致,则输出两次密码不相同。如果用户名存在于列表中,则输出用户名已被注册。如果用户名不存在于列表中,且密码和确认密码相同,则注册成功并且添加用户信息到列表中
      接下来是字典,字典需要掌握的内容如下:



  • 字典
    • 字典的定义和输出
      • 定义:大括号,里面的元素类型可以为任意
      • 字典的关键字是dict(),字典可认为是一种特殊的列表,列表的下标是顺序整数,字典的下标是自定义的
      • 用print可以直接输出字典

    • 字典的查看
      • 查看任意位置的元素: print(dicter[key])      注:输出列表用下标,输出字典用key值
      • 通过for循环挨个输出
        • for x in dicter.items():          依次输出所有元素,(key,value)形式输出
        • for x in dicter.keys():             依次输出所有的key
        • for x in dicter.values():          依次输出所有的value


    • 字典的增删改(比较特殊但很重要)
      • 增:即添加元素
        • 字典的添加元素比较特殊: dicter[key] = value       给一个不存在的key赋新值

      • 删:删除一个元素
        • 字典只能根据key来删除元素  dicter.pop[key]

      • 改:就是重新赋值
        • dicter[key]='new value'          此时的key为原字典中存在的key


    • 字典的方法
      • 字典除了一个求长度的方法len()外,没有其他特别的新方法,重点是需要掌握字典元素的增删改以前进行操作。

    • 字典的练习可以将列表的案例分别用字典进行实现,也是挺有趣的
      掌握了前面的输入输出操作,基本数据类型,判断循环语句,再掌握了列表字典的处理,python的入门就完成了大半。在python的入门学习中,咱们需要把握的事情就是千万不要学得太多太细,因为这样就将导致学习周期的延长,最后总感觉自己无法完成python的学习。
      对于零基础学习python的建议,我的态度就是尽可能快速的学到最后面,时间越短超好,知识点越少越好。只需要学习必要的知识,了解编程语言的全貌,能够写出代码来就是成功。












欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2