赞
踩
收藏!长文!从Python小白到大牛,要走的路这里都有
面向项目的学习是学习编码的最佳方法。Python是当今最需求的语言,为了帮助您学习它,以下是一些您可以探索的最重要的Python项目:
Python图像编程
CIFAR10在Python中使用TensorFlow
俗话说的好,没吃过猪肉还没见过猪跑?Python虽然对大多数小白来说,可能是从入门到放弃的过程。探究起来,可能初入门的同学没见到过Python美丽的全景,一直埋头写hello world太多了,丧失了对Python的爱才是放弃的主要原因吧。
在本文中,将用真实的代码给你展示从小白到大牛Python项目之旅。只要你敢看,我就敢写。开始吧!
下面就开始这次从小白的大牛的Python代码盛宴。
Python是一种高级的,面向对象的,解释性的编程语言,已经引起了全世界的关注。Stack Overflow发现其38.8%的用户主要在其项目中使用Python。Python又名为Guido Van Rossum的开发人员创建。
Python一直很容易学习和掌握。它非常适合初学者,并且语法非常易于阅读和遵循。这无疑使我们所有人都开心,令人惊奇的是python在全球拥有数百万快乐的学习者!
根据该网站的调查,Python的流行度在2018年超过了C#–就像2017年超过了PHP。在GitHub平台上,Python超过了Java,成为第二大使用的编程语言,与2017年相比,Python发出的拉取请求多40%在2016年。
这使 Python认证 成为最受欢迎的编程认证之一。
这个问题的答案非常简单明了。这一切都始于学习Python的基础知识和所有基础知识。基本上,这是一个衡量指标,可以了解您使用Python的舒适程度。
下一步的主要步骤是查看基本的简单代码,以熟悉代码中的语法和逻辑流程。这是非常重要的一步,也为以后的发展奠定了坚实的基础。
在此之后,您绝对应该查看python在现实生活中的用途。这将在找出为什么首先要学习Python的过程中扮演重要角色。
如果不是这种情况,那么您将了解项目,并可以为项目实施某些策略,您可以考虑自己开始。
其次肯定是要研究可以解决当前Python知识的项目。深入研究Python将有助于您在每个阶段进行自我评估。
项目基本上用于解决眼前的问题。如果您喜欢为各种简单和复杂的问题提供解决方案,那么您绝对应该考虑从事Python项目。
在完成几个项目后,您将比精通python更近一步。这很重要,因为您将能够自发地将所学到的内容简单地编写为自己编写计算器程序,直至帮助实现人工智能。
我们可以根据学习者的技能水平将Python项目分为初学者,中级和高级项目。
让我们从检查Python项目的第一级开始。
我们可以考虑的最好的初学者项目是Hangman游戏。我敢肯定,阅读此Python Projects博客的大多数人在您生命中的某个时间点都曾玩过猜词。简单地说,这里的主要目标是创建一个“猜词”游戏。听起来很简单,但是您需要注意某些关键事项。
这意味着您将需要一种获取单词以进行猜测的方法。让我们保持简单,并使用文本文件作为输入。文本文件包含我们必须猜测的单词。
您还将需要一些函数来检查用户是否实际输入了单个字母,检查输入的字母是否在隐藏的单词中(如果是,显示了多少次),打印字母,以及一个计数器变量来限制猜测。
Python项目要记住的关键概念:
代码:
- from string import ascii_lowercase
- from words import get_random_word
-
-
- def get_num_attempts():
- """Get user-inputted number of incorrect attempts for the game."""
- while True:
- num_attempts = input(
- 'How many incorrect attempts do you want? [1-25] ')
- try:
- num_attempts = int(num_attempts)
- if 1 <= num_attempts <= 25:
- return num_attempts
- else:
- print('{0} is not between 1 and 25'.format(num_attempts))
- except ValueError:
- print('{0} is not an integer between 1 and 25'.format(
- num_attempts))
-
-
- def get_min_word_length():
- """Get user-inputted minimum word length for the game."""
- while True:
- min_word_length = input(
- 'What minimum word length do you want? [4-16] ')
- try:
- min_word_length = int(min_word_length)
- if 4 <= min_word_length <= 16: return min_word_length else: print('{0} is not between 4 and 16'.format(min_word_length)) except ValueError: print('{0} is not an integer between 4 and 16'.format( min_word_length)) def get_display_word(word, idxs): """Get the word suitable for display.""" if len(word) != len(idxs): raise ValueError('Word length and indices length are not the same') displayed_word = ''.join( [letter if idxs[i] else '*' for i, letter in enumerate(word)]) return displayed_word.strip() def get_next_letter(remaining_letters): """Get the user-inputted next letter.""" if len(remaining_letters) == 0: raise ValueError('There are no remaining letters') while True: next_letter = input('Choose the next letter: ').lower() if len(next_letter) != 1: print('{0} is not a single character'.format(next_letter)) elif next_letter not in ascii_lowercase: print('{0} is not a letter'.format(next_letter)) elif next_letter not in remaining_letters: print('{0} has been guessed before'.format(next_letter)) else: remaining_letters.remove(next_letter) return next_letter def play_hangman(): """Play a game of hangman. At the end of the game, returns if the player wants to retry. """ # Let player specify difficulty print('Starting a game of Hangman...') attempts_remaining = get_num_attempts() min_word_length = get_min_word_length() # Randomly select a word print('Selecting a word...') word = get_random_word(min_word_length) print() # Initialize game state variables idxs = [letter not in ascii_lowercase for letter in word] remaining_letters = set(ascii_lowercase) wrong_letters = [] word_solved = False # Main game loop while attempts_remaining > 0 and not word_solved:
- # Print current game state
- print('Word: {0}'.format(get_display_word(word, idxs)))
- print('Attempts Remaining: {0}'.format(attempts_remaining))
- print('Previous Guesses: {0}'.format(' '.join(wrong_letters)))
-
- # Get player's next letter guess
- next_letter = get_next_letter(remaining_letters)
-
- # Check if letter guess is in word
- if next_letter in word:
- # Guessed correctly
- print('{0} is in the word!'.format(next_letter))
-
- # Reveal matching letters
- for i in range(len(word)):
- if word[i] == next_letter:
- idxs[i] = True
- else:
- # Guessed incorrectly
- print('{0} is NOT in the word!'.format(next_letter))
-
- # Decrement num of attempts left and append guess to wrong guesses
- attempts_remaining -= 1
- wrong_letters.append(next_letter)
-
- # Check if word is completely solved
- if False not in idxs:
- word_solved = True
- print()
-
- # The game is over: reveal the word
- print('The word is {0}'.format(word))
-
- # Notify player of victory or defeat
- if word_solved:
- print('Congratulations! You won!')
- else:
- print('Try again next time!')
-
- # Ask player if he/she wants to try again
- try_again = input('Would you like to try again? [y/Y] ')
- return try_again.lower() == 'y'
-
-
- if __name__ == '__main__':
- while play_hangman():
- print()
2. Words.py
- """Function to fetch words."""
-
- import random
-
- WORDLIST = 'wordlist.txt'
-
-
- def get_random_word(min_word_length):
- """Get a random word from the wordlist using no extra memory."""
- num_words_processed = 0
- curr_word = None
- with open(WORDLIST, 'r') as f:
- for word in f:
- if '(' in word or ')' in word:
- continue
- word = word.strip().lower()
- if len(word) < min_word_length:
- continue
- num_words_processed += 1
- if random.randint(1, num_words_processed) == 1:
- curr_word = word
- return curr_word
输出如下:
目前,了解了如何处理诸如Hangman之类的初学者项目,对其进行一些增强,然后开始下一个中级Python项目。
如果对Python感兴趣的话,可以试试我的学习方法以及相关的学习资料
对于0基础小白入门:
如果你是零基础小白,想快速入门Python是可以考虑培训的。
一方面是学习时间相对较短,学习内容更全面更集中。
Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
检查学习结果。
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
大家拿到脑图后,根据脑图对应的学习路线,做好学习计划制定。根据学习计划的路线来逐步学习,正常情况下2个月以内,再结合文章中资料,就能够很好地掌握Python并实现一些实践功能。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。