欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

星球大戰(zhàn)與Python之間的那些事

 更新時間:2016年01月07日 11:38:13   投稿:lijiao  
闊別十年時光,全球矚目的第七部星球大戰(zhàn)電影《原力覺醒》將于2016年1月9日在國內(nèi)上映。它將重新燃起那段神秘的太空歲月與具有原力的宇宙時光。但是,星球大戰(zhàn)和Python編程語言又有什么關(guān)系呢?

Python與星球大戰(zhàn)背后的工業(yè)光魔

提起Python語言,很多人會想起系統(tǒng)運維、Web開發(fā)等工作。很少有人會知道Python也能夠用于電影視覺特效的制作,其中就包括了《星球大戰(zhàn)》某些電影特效的制作。

星戰(zhàn)之父喬治·盧卡斯于1975年創(chuàng)建了工業(yè)光魔(全稱:Industrial Light and Magic),從第一部《星球大戰(zhàn)》起便參與了電影的特效制作。據(jù)Python官網(wǎng)介紹,工業(yè)光魔從1996年起開始使用Python語言,取代了此前的Unix shell腳本。工業(yè)光魔做出這個決定的原因,在于Python的學(xué)習(xí)難度低,開發(fā)速度快。當時,Python還只是1.4版本。

電影特效行業(yè)競爭十分激烈,制作公司會不斷地尋找更加優(yōu)秀的編程語言,提高工作效率。工業(yè)光魔也是一直在評估Python語言的使用,但是近20年以來,還沒有找到一個更好的替代品。

工業(yè)光魔的資深技術(shù)總監(jiān)Tommy Burnette曾經(jīng)這樣評價道:

  • Python在我們的生產(chǎn)流程中扮演了至關(guān)重要的作用。如果沒有它,像《星球大戰(zhàn)》第二部這樣的大項目就很難完成。從集體渲染到批量處理再到影片合成,Python將所有步驟都緊密的粘合在了一起。

由此可見Python的強大。

Star Wars API

你知道《星球大戰(zhàn)》系列大戰(zhàn)中出現(xiàn)了多少個種族,多少種飛船嗎?這些答案都可以在Star Wars API中找到。

據(jù)開發(fā)者介紹,Star Wars API是全球首個量化的、可供編程使用的星戰(zhàn)數(shù)據(jù)集。開發(fā)者經(jīng)過漫長的搜集和整理,匯總了星戰(zhàn)系列電影中的人物、種族、星球、飛船等詳細數(shù)據(jù)。目前,這個API中已經(jīng)收錄了《原力覺醒》中的新數(shù)據(jù)。API的作者還用Python開發(fā)了一個helper庫。

我們來看看可以用這個庫做些什么。

將所有星球按大小排列:

import swapi
for planet in swapi.get_all("planets").order_by("diameter"):
  print(planet.name)

查看哪些人開過1艘以上的飛船:

import swapi
for people in swapi.get_all("people").iter():
  if len(people.starships) > 1:
    print(people.name)

檢索Jar Jar Binks是否在電影中出現(xiàn):

import swapi
pm = swapi.get_film(4)
jj = swapi.get_person(36)
for c in pm.get_characters().iter():
  if c.name == jj.name:
    print("Why George, why.")

Python編寫的Star Wars小游戲

最后,再與大家分享一個國外開發(fā)者用Python開發(fā)的星戰(zhàn)相關(guān)游戲,希望大家喜歡。

這個游戲類似現(xiàn)在的跑酷,通過上下左右方向鍵控制。

是不是很酷!很贊!很期待!

相關(guān)文章

  • python一行sql太長折成多行并且有多個參數(shù)的方法

    python一行sql太長折成多行并且有多個參數(shù)的方法

    今天小編就為大家分享一篇python一行sql太長折成多行并且有多個參數(shù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • python批量爬取圖片的方法詳解

    python批量爬取圖片的方法詳解

    這篇文章給大家介紹了如何使用python批量爬取圖片,文中通過代碼示例給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-12-12
  • python讀取中文txt文本的方法

    python讀取中文txt文本的方法

    下面小編就為大家分享一篇python讀取中文txt文本的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Python之string編碼問題

    Python之string編碼問題

    這篇文章主要介紹了Python之string編碼問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 在django項目中,如何單獨運行某個python文件

    在django項目中,如何單獨運行某個python文件

    這篇文章主要介紹了在django項目中單獨運行某個python文件的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • python 3.74 運行import numpy as np 報錯lib\site-packages\numpy\__init__.py

    python 3.74 運行import numpy as np 報錯lib\site-packages\numpy\_

    這篇文章主要介紹了python 3.74 運行import numpy as np 報錯lib\site-packages\numpy\__init__.py,原來需要更新一下numpy即可
    2019-10-10
  • 教你怎么用PyCharm為同一服務(wù)器配置多個python解釋器

    教你怎么用PyCharm為同一服務(wù)器配置多個python解釋器

    當我們在服務(wù)器上創(chuàng)建了多個虛擬環(huán)境時,也可以在 PyCharm 中配置這些虛擬環(huán)境,方便不同的項目使用不同的環(huán)境,然而按照網(wǎng)上教程添加多個python解釋器后,PyCharm會自動幫我們創(chuàng)建多個重復(fù)的服務(wù)器,本文主要給出該問題的解決方法,同時也對添加解釋器做一個詳細的講解
    2021-05-05
  • 如何使用repr調(diào)試python程序

    如何使用repr調(diào)試python程序

    這篇文章主要介紹了如何使用repr調(diào)試python程序,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • Python 面向?qū)ο笾庋b、繼承、多態(tài)操作實例分析

    Python 面向?qū)ο笾庋b、繼承、多態(tài)操作實例分析

    這篇文章主要介紹了Python 面向?qū)ο笾庋b、繼承、多態(tài)操作,結(jié)合實例形式分析了Python面相對象程序設(shè)計中封裝、繼承、多態(tài)相關(guān)操作技巧與使用注意事項,需要的朋友可以參考下
    2019-11-11
  • Python中encode和encoding的區(qū)別小結(jié)

    Python中encode和encoding的區(qū)別小結(jié)

    Python是一種非常流行的高級編程語言,它提供了許多內(nèi)置函數(shù)和庫來方便地處理文本數(shù)據(jù),其中,encode和encoding是處理文本編碼的重要概念,本文就來介紹一下Python中encode和encoding的區(qū)別小結(jié),感興趣的可以了解一下
    2023-11-11

最新評論