Рубрики
Без рубрики

Какая разница? Ruby vs. Python

Потратив полтора месяца, работая исключительно в Ruby и Rails, я чувствую, что у меня есть красивая … Tagged with Ruby, Python, новички.

Потратив полтора месяца, работая исключительно в 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”