Потратив полтора месяца, работая исключительно в Ruby и Rails, я чувствую, что у меня есть довольно прочная база знаний для языка. Но на данный момент Python очень воодушевляет язык, и я снова и снова слышал, что языки очень похожи и оба в использовании. Это действительно вызвало мое любопытство, и изначально я решил, что после моего кодирования Bootcamp я попробовал свои силы в Python, посмотрите, о чем идет речь. Но только что работая от работы в Ruby, я подумал, что это будет идеальное время, чтобы сравнить и сопоставить их как в логистике, так и технически, чтобы дать кому -либо идею, если вы смотрите на использование одного или обоих этих языков.
Как Ruby, так и Python являются динамическими, объектно -ориентированными языками программирования, которые можно использовать для множества целей, от создания веб -приложений до хостинга и доступа к базам данных.
Рубин
- Сделано, чтобы их легко прочитать и понятно таким же, как и на английском языке
- Несколько способов, которыми что -то может быть написано, что позволяет настраивать и персонализацию пользователя
- Используется в основном для бесплатной и гибкой веб -разработки
- Самая популярная структура – Rails
- Примеры веб -сайтов, сделанных с использованием Ruby, включают Airbnb, Hulu, Zendesk, Github, Basecamp, Kickstarter
Питон
- Очень строгий способ, которым что -то может быть написано, одна общая формула для достижения вещей
- Существенно используется для науки о данных и научных программ
- Самая популярная рамка – Django
- Примеры веб -сайтов с использованием Python включают Spotify, YouTube, Dropbox, Reddit, Instagram
Теперь, чтобы опустить наши ноги в технические различия, мы можем начать со старика, но пример Classic Hello World.
#Python message = "Hello World!" print(message)
#Ruby message = "Hello World!" puts(message)
Для простого регистрации в консоли Руби использует ставит тогда как Python использует Печать Анкет И Ruby, и Python выполняют код сверху вниз, поэтому все остальное, что мы добавим в этот фрагмент, будет напечатано на терминал после нашего оригинального «Hello World!» линия. Это также будет перезаписать все, что было ранее объявлено, и последняя строка кода будет окончательным выводом.
Но они оба не различаются по тому, как переменные объявляются или назначаются. Это так же просто, как и имя вашей переменной, равное его значению. Они немного отличаются с точки зрения типов данных, так как вы можете сравнивать и сопоставить из таблицы ниже:
✓ | ✓ | целое число |
✓ | ✓ | плавать |
✓ | сложный | |
✓ (Истинно или ложь) | ✓ (Истинно или ложь) | логический |
✓ | ✓ | нить |
ноль | Никто | неопределенный |
В Ruby, как правило, сбор данных может отображаться либо в массиве, либо в хэш. В Python данные хранятся аналогичным образом, но обозначаются как список или словарь.
#Ruby array nums = [1, 2, 3, 4, 5] puts nums[1] #2
#Python list nums = [1, 2, 3, 4, 5] print nums[1] #2
При доступе к предметам из массива или списка Ruby и Python, как правило, такие же, как обозначены выше. Но при принятии ряда элементов они отличаются только по используемому символу. Руби использует ...
и Python :
Анкет Python’s :
имеет тенденцию быть эксклюзивным, тогда как Руби ...
имеют тенденцию быть инклюзивными.
nums = [1, 2, 3, 4, 5] puts nums[0..3] #1, 2, 3, 4 #prints from index 0 to 3, inclusive
#Python nums = [1, 2, 3, 4, 5] print nums[0:3] #1, 2, 3 #prints from index 0 to 2, exclusive print nums[1:] #2, 3, 4, 5 #will print from index 1 to end print nums[:4] #1, 2, 3, 4 #will print from first(index 0) to index 3
Как вы можете сказать, эти языки разделяют замечательные сходства. Единственная заметная разница в терминах рубиновых хэшей и словарей Python заключается в том, что Ruby позволяет использовать A => при назначении ключа его значения, а Python строго использует Colons. Ruby также может использовать Colons для назначения значений, но немного зависит от того, как доступ к значению.
#Ruby hash colors = { 1 => 'red', 2 => 'green', 3 => 'blue'} puts(colors[1]) #red
#Python dictionary colors = {1 : 'red', 2 : 'green', 3 : 'blue' } print(colors[1]) #red
В дополнение к спискам, Python также имеет несколько других типов сбора данных, известных как Tuple и Set.
В отличие от списков, кортежи обозначены скобками и упорядочены и неизменны. Чтобы добавить или удалить элементы, кортеж должен быть изменен в список, а затем вернуться в кортеж. Данные внутри кортежа доступны так же, как и список.
#Python tuple teas = ("black", "green", "chamomile") print(teas[-1]) #chamomile
Последний – это набор, который является коллекцией, которая обозначена вьющимися скобками, но не имеет порядка или индекса. Это означает, что невозможно получить доступ к значению, используя индекс, но его можно пройти, чтобы увидеть все значения. Значения также могут быть добавлены в набор.
flowers = {"lily", "azalea", "buttercup"} print(flowers) #azalea, lily, buttercup
(Примечание: заказ будет случайным при печати на консоли)
Петля
И в то время как петли очень, очень похожи в Ruby и Python. Единственное заметное отличие состоит в том, что Python использует толстую кишку для обозначения, когда петля начинается, и Ruby должен закончить каждый цикл с помощью конец
Анкет
#Ruby nums = [1, 2, 3, 4, 5] for i in nums do puts i end #1, 2, 3, 4, 5 j = 0 while j < 7 puts j j += 1 end #1, 2, 3, 4, 5, 6
fruits = ["apple", "banana", "cherry"] for i in fruits: print(i) #apple, banana, cherry j = 1 while j < 6: print(j) j += 1 #1, 2, 3, 4, 5
У них есть несколько особых случаев, так как Руби имеет пока
и у Python Продолжить
Анкет Но они не с готовностью влияют на их общее использование для для
и В то время как
петли.
Если утверждения
Эти два также очень похожи в Ruby и Python. Отличается только от Python, используя :
Обозначать начало заявления и их интересные написания для другого, если.
i = 2 if i <= 3 puts "aww, what a small number." elsif i > 3 and i < 10 puts "that's a medium sized number" else puts "wow, that's a big number!" end #aww, what a small number.
c = 5 d = 1 if c > d: print("c is greater than d") elif c == d: print("c and d are equal") else: print("c is greater than d") #c is greater than d
Интерполяция и струнные литералы
Оба языка используют кудрявые брекеты {}
чтобы интерполировать в строки. Но Руби требует #
Перед вьющимися скобками и питоном нет. Кроме того, Ruby использует одиночные или двойные кавычки, чтобы охватывать несколько строк (для интерполяции требуются двойные кавычки), а Python использует тройные кавычки.
name = "Leslie" occupation = "park director" "Hello, my name is #{name} & I'm a(n) #{occupation}."
pet = 'dog' age = '6' print(f'''I have a {pet} who is {age} years old. {pet}s are very fun!''') #I have a dog who is 6 years old. dogs are very fun.
Python3 требует F для форматированной строки, что означает строку, которая будет включать в нее интерполяцию.
Наконец, есть также несколько других мелочей, которые я заметил при сравнении этих двух языков:
- печать требует скобков для функционирования, тогда как Puts не
- # работает для комментирования как в Ruby, так и в Python
Если вы новичок в Python, как я, интересовались Ruby и хотели увидеть различия или просто узнать немного об обоих, я надеюсь, что это было полезно и, возможно, дало вам немного понимания двух самых Популярные и динамичные языки программирования сегодня.
Оригинал: “https://dev.to/mwong068/what-s-the-difference-ruby-vs-python-20cb”