A. 新手怎么学习python
很多老司机都推荐新人找一本书来看,当然,如果你有充足的时间,那么就找一本浅显易懂的书,从头到尾看下去,同时把所有的例子都动手跑一边。但你觉得自己的时间并不多,想快速掌握这门语言,那么我极力推荐廖雪峰的Python 教程。因为我确实是从这个教程里面学到了很多,不懂得地方再查资料去补充。
找一个实际的项目去练手。我当时是因为要写一个爬虫项目,爬取 Instagram 的图片,如果选择用 Java 的话就太笨重了。因此不得以我就选择了学习 Python。在这种条件下的效果比你平时学一门语言的效果要好很多。所以,最好的状态就是去做一个实际的项目。比如去搭建一个自己的博客网站。
找到一个已经会 Python 的司机。让他给你指出一条路子,同时在遇到卡壳的地方就找他指点。这样将会事半功倍,当然别人的时间也是有限的,所以当你遇到问题的时候,第一步应该是去搜索查找问题。
切勿浮躁,自信是成功的开始,虽然你已经看了很长时间的资料,但还是不能把程序跑起来。但相信我,几乎所有程序员一开始都是这样的状态,也都是一步步折腾过来的。
选择合适的教程。有些书籍是很经典,但未必就适合你。
多动手。不要只顾着看教程,一定要亲自动手让这些程序在自己电脑跑起来。
额外的知识,如英语、计算机基础知识
要学会看别人代码。这里推荐多使用 Github。之前我也整理过一系列的 Github 教程。Github系列教程一 “开门”Github系列教程二 “加入Github”Github系列教程三 “上手Git”
学会查看官方文档
B. python自学需要多久
半年到一年半左右,如果有其它编程言语的经历大概需求2个月到3个月。
自学Python的出发点,Python在数据的分析处理上有自己独特的优势,前些年的互联网一直在收集用户的信息,接下来要对数据进行分析,Python在以后会更加受欢迎,通过Python编程完成一些数据分析工作,按照互联网的发展趋势来看数据分析推送的应用会成为主流。
Python语言在近几年的上升趋势非常明显,语言生态也越来越健全,在Web开发,大数据开发,人工智能开发,嵌入式开发和各种后端开发等领域都有普遍的应用,随着大数据和人工智能的不断发展未来Python的发展空间将非常值得期待。
C. python语言基础知识是什么
如下:
一、Python语言基础
Python核心:Python数据基本运算、语句、容器、函数
Python 面向对象编程:OOA、OOD、OOP、天龙八部技能系统框架 设计 Python高级:模块、包、函数式编程、文件。
二、Python高级软件开发技术
Linux操作系统 :Linux常用命令、编辑工具、vim/Pycharm
数据结构与算法 :链表、栈和队列、树和二叉树、查找排序
IO网络编程:文件操作、字节流读写、网络协议、套接 字、TCP/UDP
并发编程:多进程、进程池、进程通信、多线程、线程锁、多任务并发、IO模型、协程
Python 正则表达式:正则表达式、贪婪模和非贪婪模式、re模块
MySQL基础:数据库应用、SQL语言、Mysql增删改查、 pymysql模块
三、Python Web全栈式工程师
HTML/CSS HTML5标签,CSS选择器,CSS样式属性以 及值
Java :JS流程控制,DOM,BOM,JQuery API
MySQL高级:MySQL索引、事务、引擎、优化、pymysql 模块使用
Python Django 框架:Django、模板、视图、模型、请求对象等
Ajax Ajax,:JSON, Jquery对Ajax的支持, 跨域访问
四、Python 爬虫
Redis:Redis、string、hash、list、set、zset、 Python与MySQL和Redis结合
爬虫、HTTP、BeautifulSoup,XPath,Scrapy其实无论是学习什么知识,都要有一个对学习目标的清楚认识。 只有这样才能朝着目标持续前进,少走弯路,从学习中得到不断的提升,享受python学习计划的过程。
D. python3套接字udp设置接受数据超时
Sometimes,you need to manipulate the default values of certain properties of a socket library, for example, the socket timeout.
设定并获取默认的套接字超时时间。
1.代码
1 import socket
2
3
4 def test_socket_timeout():
5 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
6 print("Default socket timeout: %s" % s.gettimeout())
7 # 获取套接字默认超时时间
8 s.settimeout(100)
9 # 设置超时时间
10 print("Current socket timeout: %s" % s.gettimeout())
11 # 读取修改后的套接字超时时间
12
13
14 if __name__ == '__main__':
15 test_socket_timeout()
2. AF_INET和SOCK_STREAM解释
1 # 地址簇
2 # socket.AF_INET IPv4(默认)
3 # socket.AF_INET6 IPv6
4 # socket.AF_UNIX 只能够用于单一的Unix系统进程间通信
5
6 # socket.SOCK_STREAM(数据流) 提供面向连接的稳定数据传输,即TCP/IP协议.多用于资料(如文件)传送。
3.gettimeout()和settimeout()解释
1 def gettimeout(self): # real signature unknown; restored from __doc__
2 """
3 gettimeout() -> timeout
4
5 Returns the timeout in seconds (float) associated with socket
6 operations. A timeout of None indicates that timeouts on socket
7 operations are disabled.
8 """
9 return timeout
10
11
12 def settimeout(self, timeout): # real signature unknown; restored from __doc__
13 """
14 settimeout(timeout)
15
16 Set a timeout on socket operations. 'timeout' can be a float,
17 giving in seconds, or None. Setting a timeout of None disables
18 the timeout feature and is equivalent to setblocking(1).
19 Setting a timeout of zero is the same as setblocking(0).
20 """
21 pass
22 # 设置套接字操作的超时期,timeout是一个浮点数,单位是秒。值为None表示没有超时期。
23 # 一般,超时期应该在刚创建套接字时设置,因为它们可能用于连接的操作(如 client 连接最多等待5s )
4.运行结果
1 Default socket timeout: None
2 Current socket timeout: 100.0