Skip to content

Instantly share code, notes, and snippets.

@stormvirux
Forked from svaksha/pythontojulia.md
Created January 2, 2020 10:52
Show Gist options
  • Select an option

  • Save stormvirux/160b15111a79b92d9c6806c44f312be4 to your computer and use it in GitHub Desktop.

Select an option

Save stormvirux/160b15111a79b92d9c6806c44f312be4 to your computer and use it in GitHub Desktop.
Python to Julia Quick translation / conversion reference Guide

A quick and dirty syntax translation guide to ease the transition between Python and Julia.

Some important differences

  • Arrays in Julia are indexed starting from 1.
  • In Julia classes (i.e. types) don't own methods. Methods are implementations of generic functions and are invoked in a "static style", i.e. instead of Python's str1.rstrip(), we will have rstrip( str1 ), instead of file1.close(), close( file1 ).

Core

Python Julia
True true
False false
None nothing
type( obj ) typeof( obj )
{} Dict{KeyType,ValueType}()
elif elseif
lambda x, y : y + x * 2 (x,y) -> y + x * 2
"string %s interpolation %d" % ( str1, i1) "string $str1 interpolation $i1 "
str1.startswith( x ) ??? write your own suc as the one in pytojul.jl

Basic String operations

Python Julia
str1 + str2 string( str1, str2 )
len( str1 ) length( str1 )
str1.rstrip() rstrip( str1 )

Regular expressions

Python Julia
m = re.match( r"(\d+):(\d+)", mystr ) m = match( r"(\d+):(\d+)", mystr )
m is not None m != nothing
arr = m.groups() arr = m.captures

File processing

Python Julia
f = open( "file.txt" ) f = open( "file.txt")
for line in f for line in eachline( f )
f.close() close( f )
function startswith( x::ASCIIString, y::ASCIIString )
# Disclaimer: This function is still buggy. Please help me find the bug...
if length(y) > length(x)
return false
else
for i = 1 : length(y)
if x[i] != y[i]
return false
end
end
return true
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment