Home  >  Q&A  >  body text

关于python的深入学习

学了一段时间django和python的爬虫库/框架后,想学习一下web方面之外的内容。国外的一些在线学习平台有很多关于python在机器学习/数据处理方面的教程,但是还是想把算法基础打后以后在去尝试。

很多公司比如豆瓣,扇贝,知乎都是完全基于python的, vim下有一些插件比如ycm也是用python开发的。但是目前我只之道知乎是在改进tornado,Q:想具体了解一下国内的公司都在什么方面使用python。如果想深入学习python的话,除了web,Q:我现在应该尝试什么方向/项目?或者说阅读python源码和直接学习机器学习或者数据处理方面的内容?

不考虑就业方面之类的内容,现在每天课余时间比较充裕,完全是基于对python的爱好。

高洛峰高洛峰2719 days ago524

reply all(3)I'll reply

  • 阿神

    阿神2017-04-18 10:03:13

    Currently, companies in China are using or involved in everything that Python can do, but they may not know it. Since employment is not considered, there is no need to deliberately understand this issue. As for what projects to try, it should be based on your preferences. No matter which one you do, you will improve yourself. There is no need to learn algorithms after you have a good foundation in them. There is nothing you need to be prepared for in terms of learning. Wouldn’t it be better if you write code first and then look at the algorithms you don’t understand, and then proceed alternately? What does it mean to lay a good foundation? At what stage of learning can we say that we have laid a good foundation? How can you verify that you have laid the foundation? In fact, it is inseparable from the actual coding. . .

    reply
    0
  • 阿神

    阿神2017-04-18 10:03:13

    If it’s just a hobby and you want to learn in depth, I think it’s okay to take a look at the source code of py’s built-in modules, see how others implement it, and learn from other people’s coding styles. In the future, if an error occurs at the module level, you will know what is going on.

    You can also go to github to see various interesting projects written by others. Then think of ideas and innovations and try them yourself, and open source is also a good idea.

    I also want to learn about machine learning and algorithms, but I don’t know where to start. I have the same doubts as the questioner.

    reply
    0
  • PHP中文网

    PHP中文网2017-04-18 10:03:13

    This mainly depends on your own interests and which direction you want to develop. If you are doing web development, in addition to being familiar with well-known frameworks such as Django and flask, you also need to understand wsgi server, such as gunicorn. You can take a look at the source code. It is best to look at the source code of python's own modules such as socket, select, simple_server, etc. You can also look at some excellent open source python libraries such as requests.
    If you are a crawler, you can learn about pyspider, scrapy, and beautifulsoup. See how others achieve it. How to crawl efficiently, such as how to crawl with multiple threads and processes. You must also have some understanding of the http protocol.
    If you want to do machine learning, there are many directions in this direction, including natural language processing, data analysis, and deep learning. Python also has many libraries in these areas.
    For example, natural language processing includes NLTK and TextBlob. Data analysis includes numpy, scipy, pandas, and matplotlib. Deep learning such as Theano, TensorFlow, etc. As for algorithms, many libraries in machine learning are well encapsulated. I think you only need to understand the general idea. There is no need to delve into it. After all, some algorithms are difficult to read. At least that's the case for me. Moreover, the algorithm has nothing to do with language and has nothing to do with python. When you really need to study it in depth, just study it slowly. In addition, you can also buy introductory books on machine learning. There are many that are written in Python. Go to Amazon and search a lot. Find an introductory book and check it out first.

    reply
    0
  • Cancelreply