标签分类
技术文章
当前位置:主页 > 计算机编程 > python > 《Python并行编程参考手册》怎么样

《Python并行编程参考手册》书评、笔记、下载

  • 发布时间:
  • 作者:码农之家原创
  • 点击:122

《Python并行编程参考手册》怎么样

这篇文章主要知识点是关于Python并行编程参考手册,书评,笔记,下载,《Python并行编程参考手册》怎么样,Python 编程速成(推荐) 的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书

Python并行编程参考手册
  • 类型:Python编程大小:41.4 MB格式:PDF出版:东南大学出版社作者:吉安卡洛·扎克尼
立即下载

这这书,汉语翻译沒有认真。我英语不好,不明白全文,仅看过系统进程一部分。融合了2年前的python参考手册,下面第三方平台汉语翻译,及其百度搜索。原本系统进程就抽象性,并且难以调节,在一些ide中各种各样出错。汉语翻译沒有认真,以至于有的含意揠苗助长,还没有下面第三方平台汉语翻译好。系统进程你在这书算是简易內容,搜索材料还很容易,后面分布式系统,gpu彻底沒有自信心读。可用的就是说多见好多个事例,仅就阅读文章了系统进程一部分的评价。

ch2是threading控制模块。ch3是multiprocessig和mpi4py。ch4是asyncio和concurrent。ch5是好几个分布式框架例如第一位计划方案是Celery+RabbitMQ+Flower。ch6是与CUDA和OpenCL相关,随后就是说他们两各有融合python的事例。这这书整体是二本新手入门书,ch2和ch3有某些新手入门的事例。ch3有关mpi4py控制模块一些涵数就某些表明,沒有过多表述,该控制模块有关gather涵数的事例有不正确,不应当积极对gather回到的另一半开展赋值。

这这书的上半部分用于新手入门很非常好,融合百度搜索和搏客可以确保基础了解进程、系统进程等定义。但从mpi4py一部分刚开始不正确真是太多,令人猜疑译员(并不是著作人?)自个是不是早已新手入门了MPI。

Python 编程速成(推荐)

Python是一种非常流行的脚本语言,而且功能非常强大,几乎可以做任何事情,比如爬虫、网络工具、科学计算、树莓派、Web开发、游戏等各方面都可以派上用场。同时无论在哪种平台上,都可以用 Python 进行系统编程。

机器学习可以用一些 Python 库来实现,比如人工智能常用的TensorFlow。也可以用像 NLTK 这样的 Python 库进行自然语言处理(NLP)。

本文讨论基本的 Python 编程,后续会写一些 Python 编程的实际案例。

操作字符串

Python 中的字符串是不可变的,所以不能直接修改。对字符串内容的任何更改都需要产生新的副本。在 Python 中处理字符串非常简单。

拼接字符串

str = "welcome " + "to Python" 
print (str) 

这是字符串连接,你也可以对字符串做乘法操作:

重复字符串

str = "Python" * 2 print (str)

与非字符串拼接

可以用 str() 函数将非字符串的值转换为字符串,然后再连接,如下所示:

str = "This is test number " + str(15) 
print (str)

搜索子字符串

可以使用 find() 方法搜索子字符串,如下所示:

str = "welcome to Python" 
print(str.find("Python"))

如果找到了字符串"Python",则 find 方法会返回第一次出现这个字符串的位置。

如果没有找到,则返回 -1。

find 函数默认从第一个字符开始搜索,也可以从第n个字符开始,如下所示:

str = "welcome to Python" 
print(str.find("Python",12))

因为我们从第12个字符开始,所以找不到 Python 这个单词,所以它会返回 -1。

获取子字符串

所以我们得到了我们要搜索的字符串的索引,现在我们要打印匹配的字符串。

你可以按索输出印字符串,如下所示:

str = "first second third" 
print(str[:2]) 
print(str[2:]) 
print(str[3:5]) 
print(str[-1])

在第 2 行的代码会打印第一个和第二个字符,而第 3 行会从第二个字符开始打印到结束。要注意代码中结冒号的位置。字符串从 0 开始计数。

如果使用负数,则会从最后开始计数。第 5 行代码会打印最后一个字符。

替换字符串

你可以用如下方法替换字符串:

str = "This website is about programming" 
str2 = str.replace("This", "That") 
print(str2)

如果你想替换的字符串多次出现,但是只想替换第一次出现的,可以指定位置:

str = "This website is about programming I like this website" 
str2 = str.replace("website", "page",1) 
print(str2)

第一个词只被替换了。

去除字符串两端的空格

可以用 strip 方法去掉字符串两端的空格,如下所示:

str = " This website is about programming "
print(str.strip())

你可以用rstrip仅去除最右的空格,或者用 lstrip 去除最左边的空格。

改变字符大小写

在某些情况下你可能需要改变字符的大小写。

str="Welcome to likegeeks" 
print(str.upper()) 
print(str.lower())

将字符串转换为数字

前面学到了用 str()函数将数字转为字符串,但这不是 Python 中唯一的转换函数,另外还有 int() 、float()、long()和其他强制转换函数。

int() 可以把输入的字符串转为整数,float() 函数将字符串转为float。

str="10" 
str2="20" 
print(str+str2) 
print(int(str)+int(str2))

第 3 行只是连接两个字符串,而第 4 行把两个值相加并输出结果。

字符串计数

可以用min()找到字符串中 ASCII 值最小的字符,max()找到最大的字符,用len()函数得到字符的总长度。

str="welcome to Python" 
print(min(str)) 
print(max(str)) 
print(len(str))

迭代字符串

可以用 for 迭代字符串并单独操作每个字符,如下所示:

str="welcome to likegeeks website" 
for i in range(len(str)):
 print(str[i])

其中 len() 函数用来得到字符串的长度。

字符串编码

如果你使用的是Python 3,默认情况下所有字符都是 Unicode 字符集编码,但是如果用的是Python 2,可能需要对字符串进行编码,如下所示:

str="welcome to Python" 
str.encode('utf-8')

操作数字

在 Python 中定义数字变量的方式如下:

a=15

可以定义整数,也可以定义浮点数。

浮点数可以用 int()函数进行舍入,如下所示:

a=15.5 
print(int(a))

舍入数字

可以用 round() 函数对数字进行舍入:

a=15.5652645
print(round(a,2))

只需指定需要舍入到小数点后几位。

自定义精度的数字

很多情况下会用到自定义精度的浮点数。

可以处理用户自定义精度数的 decimal 模块。

这样导入模块并使用:

from decimal import *

a=Decimal(5.5)

生成随机数

Python 中的 random 模块提供了生成随机数的函数。

import random

print(random.random())

生成的随机数介于 0.0 和 1.0 之间。

可以从自己定义的范围中生成一个随机数,如下所示:

import random

numbers=[1,2,3,4,5,6,7]
print(random.choices(numbers))

操作日期和时间

你可以从日期中提取所需的值,如下所示。

import datetime

cur_date = datetime.datetime.now() 
print(cur_date) 
print(cur_date.year) 
print(cur_date.day) 
print(cur_date.weekday()) 
print(cur_date.month) 
print(cur_date.time())

可以得到两个时间或日期之间的差,如下所示:

import datetime

time1 = datetime.datetime.now() 
time2 = datetime.datetime.now() 
timediff = time2 - time1 
print(timediff.microseconds())

上例中的 timediff 变量是 timedelta 类型的对象,你也可以自己创建这种对象:

time1 = datetime.datetime.now() 
time2 = datetime.timedelta(days=3) 
time3=time1+time2 
print(time3.date())

格式化日期和时间

可以用 strftime() 格式化日期或时间。

下表指定了一些常用的格式选项:

%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身
import datetime

date1 = datetime.datetime.now() 
print(date1.strftime('%d. %B %Y %I:%M%p'))

从字符串创建日期

可以用 strptime()函数从字符串创建日期,如下所示:

date1=datetime.datetime.strptime(“2015-11-21”, “%Y-%m-%d”)

也可以像这样创建:

date1= datetime.datetime(year=2015, month=11, day=21)

处理文件系统

在 Python 中处理文件非常容易,不管你信不信,在所欲语言中是是最简单的。当然你也可以说 Python 是一种做什么事情都最简单的语言。

复制文件

shutil 模块中包含用于复制文件的功能。

import shutil 
copied_path = shutil.copy('my_file.txt', 'copied_file.txt')

如果 my_file.txt 是一个软连接的话,那么上面的代码将会把 copied_file.txt 创建为独立的文件。

你也可以创建一个软链接的副本,如下所示:

copied_path = shutil.copy('my_file.txt', 'copied_file.txt',follow_symlinks=False)

移动文件

你可以像这样移动一个文件:

import shutil 
shutil.move('file1.txt', 'file3.txt')

也可以使用 os 模块中的 rename 函数重命名文件,如下所示:

import os 
os.rename('file1.txt', 'file3.txt')

读写文本文件

可以用 open 函数打开文件,然后再用 read 或write 方法进行读写。

fd = open('file1.txt') 
content = fd.read() 
print(content)

首先,使用 open 函数打开文件并读取,然后我再用 read 函数读取文件内容,最后,将得到的内容放入变量 content 中。

你可以指定 read()()函数读取的字节数:

fd.read(20)

如果文件不是太大的话,你可以将整个内容读入一个列表,然后再遍历列表打印输出。

content = fd.readlines() 
print(content[0])

可以通过指定打开的模式来写入文件。有两种写入模式,即写入模式和追加模式。

下面是写入模式,会覆盖掉文件中的旧内容。

fd = open('file1.txt','w') 
content = fd.write('YOUR CONTENT GOES HERE')

下面是附加模式:

fd = open('file1.txt','a') 
content = fd.write('YOUR CONTENT GOES HERE')

创建目录

可以用 os模块中的 mkdir 函数创建一个新目录,如下所示:

import os

os.mkdir('./NewFolder)

如果目录已经存在将会引发错误。不过不用担心,在以后的文章中会讨论异常处理,可以帮你避免此类错误。

获取访问和修改以及创建时间可以用 getmtime()、 getatime() 和 getctime() 分别获取修改时间、访问时间和创建时间。

返回的时间格式为 Unix 时间戳,我们可以把它转换为人类可读的格式,如下所示:

import os 
import datetime

tim=os.path.getctime('./file1.txt') 
print(datetime.datetime.fromtimestamp(tim))

迭代文件

你可以用 os 模块中的 listdir() 函数来获取文件:

import os

files = os.listdir('.')
print(files)

此外,你可以用 glob 模块执行相同的操作:

import glob 
files = glob.glob('*') 
print(files)

你可以为 glob()设定任何一种扩展名,例如设定为 * .doc 获取所有word文档。

序列化Python对象

此过程用于将 Python 对象序列化为字节流,以便以后重用。

你可以用 pickle 模块做到这一点:

import pickle

fd = open('myfile.pk ', 'wb') 
pickle.dump(mydata,fd)

可以用 load() 函数反序列化此数据,如下所示:

import pickle

fd = open('myfile.pk ', 'rb') 
mydata = pickle.load(fd)

压缩文件

Python 标准库使你可以处理不同格式的压缩文件,如tar,zip,gzip,bzip2。

要处理 zip文件,你可以使用 zipfile模块:

import zipfile

my_zip = zipfile.ZipFile('zipped_file.zip', mode='r') 
print(file.namelist())

你可以把一个文件压缩成 zip 格式,如下所示:

import zipfile

file=zipfile.ZipFile('files.zip','w') 
file.write('file1.txt') 
file.close()

可以用 extractall() 方法提取 zip 压缩包中的文件:

import zipfile

file=zipfile.ZipFile('files.zip','r') 
file.extractall() 
file.close()

另外还可以用附加模式将文件附加到现有的zip文件,如下所示:

import zipfile

file=zipfile.ZipFile('files.zip','a') 
file.write('file2.txt') 
file.close()

在处理 gz 或 bz 文件时,可以用和上面相同的套路。不过要导入 gzip 模块或 bz2 模块。

import gzip 
import bz2

gz_file=gzip.GzipFile('files.gz','r') 
bz_file=bz2.BZ2File('fiels.bz2','r')

然后用同样的方式读写。

你可以使用 unrar 包处理rar文件。首先,安装包:

pip install unrar

然后用同样的方式使用。

import unrar.rarfile

m=unrar.rarfile.RarFile('file.rar') 
m.namelist() 
m.extractall()

解析CSV文件

一个非常有用的包叫做 pandas。它可以解析 CSV 和 Excel 文件,并轻松地从中提取数据。

首先,安装包

pip install pandas

然后你可以在自己的代码中使用它,如下所示:

import pandas

data=pandas.read_csv('file.csv)

默认情况下,Pandas 将第一列视为每行的标签。如果列索引不是第一列,则可以通过传递 index_col 参数来指定列索引。

如果文档中没有行标签,则应使用参数 index_col = False。

要写入CSV文件,可以使用 to_csv() 方法。

data.to_csv('file.csv)

解析Excel文件

可以用 pandas 模块中的 read_excel() 方法来解析excel文件。

data = pd.read_excel('file.xls', sheetname='Sheet1')

如果有多个工作表,可以这样加载:

ta = pd.ExcelFile('file.xls')

这样写入excel文件:

ta.to_excel('file.xls', sheet='Sheet1')

网络和连接

Python 有一个 socket 类,它提供了一种通过低级 API 访问网络的方法,它支持许多网络协议。

import socket 
host = '192.168.1.5' 
port = 5050 
m_sock = socket.create_connection ((host, port))

这段代码与 IP 地址为 192.168.1.5 的主机通过 5050 端口建立连接。

打开 socket 后,就可以发送和接收数据了。

m_sock.sendall(b'Hello World')

注意,我在字符串之前使用了 b 字符,因为数据需要是字节字符串。

如果发送的数据太大,你应该通过循环分割并发送,如下所示:

msg = b'Longer Message Goes Here' 
mesglen = len(msg)
total = 0
while total < msglen: 
 sent = m_sock.send(msg[total:])
 total = total + sent

要接收数据,你需要告诉 recv() 方法一次读入多少个字节。

data_in = m_sock.recv(2000)

这是有效的,因为你能够确定发送的消息长度小于2000个字节。

如果消息很大,则必须反复循环,直到收到所有的数据块。

buffer = bytearray(b' ' * 2000) 
m_sock.recv_into(buffer)

在这里定义了一个空缓冲区,然后将消息写入缓冲区。

从POP邮件服务器接收电子邮件 poplib 模块使你可以与 POP 服务器进行通信。

import getpass,poplib

pop_serv = poplib.POP3('192.168.1.5') 
pop_serv.user("myuser") 
pop_serv.pass_(getpass.getpass())

getpass 模块可以安全地处理密码。

如果需要安全连接,可以用 POP3_SSL 类。

要获取邮件列表和邮件计数,可以这样做:

msg_list = pop_serv.list() # to list the messages 
msg_count = pop_serv.msg_count() # to get message count

处理完毕后,一定要记得关闭所有打开的连接。

pop_serv.quit()

从IMAP邮件服务器接收电子邮件

可以用 imaplib 模块与 IMAP 邮件服务器通信。

import imaplib, getpass

my_imap = imaplib.IMAP4('imap.server.com') 
my_imap.login("myuser", getpass.getpass())

如果你的 IMAP 服务器上使用 SSL,则应用 IMAP4_SSL 类。

要获取电子邮件列表,需要先执行查询操作:

data = my_imap.search(None, 'ALL')

然后,通过迭代 data 变量中的邮件索引获取邮件内容

msg = my_imap.fetch(email_id, '(RFC822)')

最后,不要忘记关闭连接:

my_imap.close() 
my_imap.logout()

发送电子邮件

想要通过 SMTP 协议发送电子邮件。可以用 smtplib 。

import smtplib, getpass

my_smtp = smtplib.SMTP(smtp.server.com') 
my_smtp.login("myuser", getpass.getpass())

如果在 SMTP服务器上使用SSL,则应用 SMTP_SSL 类。

打开连接后,你可以这样发送邮件:

from_addr = 'me@example.com' 
to_addr = 'you@example.com' 
msg = 'From: me@example.com\r\nTo: you@example.com\r\n\r\nHello, this is a test message' 
my_smtp.sendmail(from_addr, to_addr, msg)

抓取网页

要与Web服务器进行通信,需要用到 urllib.request 子模块。

import urllib.request

my_web = urllib.request.urlopen('https://www.google.com') 
print(my_web.read())

提交 Web 表单

如果你想要提交 Web 表单,应该向网页发送POST请求。

import urllib.request 
my_data = b'Your Data Goes Here' 
my_req = urllib.request.Request('http://localhost', data=my_data,method='POST') 
my_frm = urllib.request.urlopen(my_req) 
print(my_frm.status)

另外还可以用 mechanize或 urllib2 模块,还有很多方法可以实现这个功能。

创建一个微型服务器

socket 类支持侦听连接请求。

import socket

host = ''
port = 3535 
my_server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
my_server.bind((host, port)) 
my_server.listen(1)

现在你可以接受这样的连接请求:

addr = my_server.accept() 
print('Connected ... ', addr) 
data = conn.recv(1024)

最后不要忘记在操作完成后关闭连接

conn.close()

Python 中的线程

并发运行任务是非常有用的,Python 有一个名为 threading 的模块,它包含一个 Thread 类。

import threading 
def print_message(): 
 print('The message got printed from a different thread') 
my_thread = threading.Thread(target=print_message) 
my_thread.start()

如果函数需要很长时间才能完成,可以用 is_alive()方法检查它是否仍在运行。

有时你的线程需要安全地访问全局资源。这时候就需要用到锁。

import threading
num = 1 
my_lock = threading.Lock()
def my_func():
 global num, my_lock
 my_lock.acquire()
 sum = num + 1
 print(sum)
 my_lock.release() 
my_thread = threading.Thread(target=my_func)
my_thread.start()

使用树莓派

使用树莓派是一种价格便宜的单板电脑,可以在上面开发各种有趣的应用。

可以用 Python 的 RPi.GPIO 模块使树莓派与外接的传感器通信。

首先,在你的树莓派中安装包,如下所示:

$ sudo apt-get install python-dev python-rpi.gpio

然后你就能在Python脚本中使用它了。可以在树莓派的 GPIO 总线上写输出:

import RPi.GPIO as GPIO 
GPIO.setmode(GPIO.BOARD) 
GPIO.setup(1, GPIO.OUT, initial=GPIO.LOW) 
GPIO.output(1, GPIO.HIGH)

通过树莓派的GPIO中读取数据你可以用 RPi.GPIO 模块从 GPIO 接口读取数据,如下所示:

import RPi.GPIO 
RPi.GPIO.setup(1, GPIO.IN)
if RPi.GPIO.input(1):
 print('Input was HIGH') 
else:
 print('Input was LOW')

以上只是 Python 的一小部分基础知识,还有很长的路需要走。

总结

以上所述是小编给大家介绍的Python 编程速成,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对码农之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

以上就是本次给大家分享的全部知识点内容总结,大家还可以在下方相关文章里找到儿童python编程入门书籍推、 vue项目中使用md5加密以及、 解决axios.interceptors.respon、 等python文章进一步学习,感谢大家的阅读和支持。

上一篇:怎么在win系统下读取python文件夹

下一篇:Python字符串模板知识点总结

展开 +

收起 -

学习笔记
网友NO.295144

有关Python的22个编程技巧

1. 原地交换两个数字 Python 提供了一个直观的在一行代码中赋值与交换(变量值)的方法,请参见下面的示例: x,y= 10,20print(x,y)x,y= y,xprint(x,y)#1 (10, 20)#2 (20, 10) 赋值的右侧形成了一个新的元组,左侧立即解析(unpack)那个(未被引用的)元组到变量 a 和 b。 一旦赋值完成,新的元组变成了未被引用状态并且被标记为可被垃圾回收,最终也完成了变量的交换。 2. 链状比较操作符 比较操作符的聚合是另一个有时很方便的技巧: n= 10result= 1 n 20print(result)# Trueresult= 1 n= 9print(result)# False 3. 使用三元操作符来进行条件赋值 三元操作符是 if-else 语句也就是条件操作符的一个快捷方式: [表达式为真的返回值] if [表达式] else [表达式为假的返回值] 这里给出几个你可以用来使代码紧凑简洁的例子。下面的语句是说“如果 y 是 9,给 x 赋值 10,不然赋值为 20”。如果需要的话我们也可以延长这条操作链。 x = 10 if (y == 9) else 20 同样地,我们可以对类做这种操作: x = (classA if y == 1 else classB)(param1, param2) 在上面的例子里 classA 与 classB 是两个类,其中一个类的构造函数会被调用。 下面是另一个多个条件表达式链接起来用以计算最小值的例子: def small(a,b,c):returnaifa= banda= celse(bifb= aandb= celsec)print(small(1,0,1))print(small(1,2,2))print(small(2,2,3))print(small(5,4,3)……

网友NO.412368

使用EduBlock轻松学习Python编程

如果你正在寻找一种方法将你的学生(或你自己)从使用Scratch编程转移到学习Python,我建议你了解一下EduBlocks。它为 Python 3 编程带来了熟悉的拖放式图形用户界面(GUI)。 从 Scratch 过渡到 Python 的一个障碍是缺少拖放式 GUI,而正是这种拖放式 GUI 使得 Scratch 成为 K-12 学校的应用程序。EduBlocks 的拖放版的 Python 3 改变了这种范式。它的目的是“帮助教师在较早的时候向儿童介绍基于文本的编程语言,如 Python ” EduBlock的硬件需求相当有限-一个Raspberry PI和一个互联网连接-并且应该可以在许多教室中使用。 EduBlocks 是由来自英国的 14 岁 Python 开发人员 Joshua Lowe 开发的。我看到 Joshua 在 2018 年 5 月的PyCon 2018上展示了他的项目。 入门 安装 EduBlocks 很容易。该网站提供了清晰的安装说明,你可以在项目的GitHub仓库中找到详细的截图。 使用以下命令在 Raspberry Pi 命令行安装 EduBlock: 编程模块 在 EduBlock 中编程安装完成后,从桌面快捷方式或 Raspberry Pi 上的编程菜单启动 EduBlocks。 启动程序后,你可以使用 EduBlock 的拖放界面开始创建 Python 3 代码。它的菜单有清晰的标签。你可以通过单击Samples菜单按钮使用示例代码。你还可以通过单击Theme为你的编程界面选择不同的配色方案。使用Save菜单,你可以保存你的作品,然后Download你的 Python 代……

网友NO.135897

Python编程图形库之Pillow使用方法讲解

PIL vs Pillow PIL: Python Imaging Library,是python的图像处理库。由于PIL不兼容setuptools,再加上更新缓慢等因素,Alex Clark等一些社区好心人还是希望能够继续支持PIL,所以fork了PIL,这就是Pillow的缘起。 Pillow的目标 推动和促进PIL的发展是Pillow的目标,主要通过如下的方式来进行 结合Travis CI和AppVeyor进行持续集成测试 活用github进行开发 结合Python Package Index进行例行发布 其实可以看出,所做的改善就是在CI和CD,改善用户感知,定期/快速地与使用者进行沟通和交流,是pillow获得好感的一个重要因素。 安装 安装可以通过pip,只需要执行pip install pillow即可 liumiaocn:~ liumiao$ pip install pillowCollecting pillow Downloading https://files.pythonhosted.org/packages/df/aa/a25f211a4686f363d8ca5a1752c43a8f42459e70af13e20713d3e636f0af/Pillow-5.1.0-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (3.6MB) 100% |████████████████████████████████| 3.6MB 157kB/s Installing collected packages: pillowSuccessfully installed pillow-5.1.0liumiaocn:~ liumiao$ 安装确认 liumiaocn:~ liumiao$ pip show pillowName: PillowVersion: 5.1.0Summary: Python Imaging Library (Fork)Home-page: https://python-pillow.orgAuthor: Alex Clark (Fork Author)Author-email: aclark@aclark.netLicense: Standard PIL LicenseLocation: /usr/local……

网友NO.203848

python编程怎么学

这是一篇 Python 入门指南,针对那些没有任何编程经验,从零开始学习 Python 的同学。不管你学习的出发点是兴趣驱动、拓展思维,还是工作需要、想要转行,都可以此文作为一个参考。 在这个信息爆炸的时代,以 “Python入门” 为关键字搜索出的结果成千上万。不少小白选手难免会东一榔头西一棒槌,最终看了很多文章,却仍没跨过新手那道门槛。 结合自身的学习经验以及与很多自学者的沟通了解,我们整理出一条可操作性较强的自学路线,同时收集了多种形式的 Python 优质学习资源,供诸位尚未入门或刚入门不久的同学参考。 心态准备 编程是一门技术,也可说是一门手艺。如同书法、绘画、乐器、雕刻等,技艺纯熟的背后肯定付出了长时间的反复练习。编程的世界浩瀚无边,所以请保持一颗敬畏的心态去学习,认真对待写下的每一行代码,甚至每一个字符。收拾好自己的心态,向着编程的世界出发。 入门阶段 第一步至关重要,是关系到初学者从入门到精通还是从入门到放弃。选一条合适的入门道路,并坚持下去。 1.1 配置 Python 学习环境 Python2 还是 Python3? 很多人都在纠结入门应该学 Python2 还是 Python3。这其实不是个问题。我从没听过某个人是 Python2 程序员或 Python3 程序员。二者只是程序不兼容,思想上并无大差别,……

<
1
>

Copyright 2018-2019 xz577.com 码农之家

版权责任说明