Minor updates

This commit is contained in:
Adam 2013-06-27 09:35:59 -07:00
parent 534c5dcb93
commit 31c16d7eb9
2 changed files with 46 additions and 40 deletions

View File

@ -4,8 +4,6 @@ author: Malcolm Fell
author_url: http://emarref.net/ author_url: http://emarref.net/
--- ---
# PHP
This document describes PHP 5+. This document describes PHP 5+.
## [Basic Syntax](http://www.php.net/manual/en/language.basic-syntax.php) ## [Basic Syntax](http://www.php.net/manual/en/language.basic-syntax.php)
@ -74,7 +72,7 @@ $sgl_quotes
END; // Nowdoc syntax is available in PHP 5.3.0 END; // Nowdoc syntax is available in PHP 5.3.0
// Manipulation // Manipulation
$concatinated = $sgl_quotes + $dbl_quotes; $concatenated = $sgl_quotes + $dbl_quotes;
``` ```
### Compound ### Compound
@ -471,4 +469,4 @@ Visit the [official PHP documentation](http://www.php.net/manual/) for reference
If you're interested in up-to-date best practices, visit [PHP The Right Way](http://www.phptherightway.com/). If you're interested in up-to-date best practices, visit [PHP The Right Way](http://www.phptherightway.com/).
If you're coming from a language with good package management, check out [Composer](http://getcomposer.org/). If you're coming from a language with good package management, check out [Composer](http://getcomposer.org/).

View File

@ -1,20 +1,25 @@
--- ---
language: Python language: python
author: Louie Dinh author: Louie Dinh
author_url: http://ldinh.ca author_url: http://ldinh.ca
--- ---
Python was created by Guido Van Rossum in the early 90's. It is now one of the most popular languages in existence. I fell in love with Python for it's syntactic clarity. It's basically executable pseudocode. Python was created by Guido Van Rossum in the early 90's. It is now one of the most popular
languages in existence. I fell in love with Python for it's syntactic clarity. It's basically
executable pseudocode.
```Python Note: This article applies to Python 2.7 specifically, but should be applicable
to Python 2.x. Look for another tour of Python 3 soon!
```python
# Single line comments start with a hash. # Single line comments start with a hash.
""" Multiline comments can we written """ Multiline comments can we written
using three "'s using three "'s
""" """
---------------------------------------------------- ####################################################
-- 1. Primitive Datatypes and Operators ## 1. Primitive Datatypes and Operators
---------------------------------------------------- ####################################################
# You have numbers # You have numbers
3 #=> 3 3 #=> 3
@ -25,7 +30,8 @@ Python was created by Guido Van Rossum in the early 90's. It is now one of the m
10 * 2 #=> 20 10 * 2 #=> 20
35 / 5 #=> 7 35 / 5 #=> 7
# Division is a bit tricky. It is integer division and floors the results automatically. # Division is a bit tricky. It is integer division and floors the results
# automatically.
11 / 4 #=> 2 11 / 4 #=> 2
# Enforce precedence with parentheses # Enforce precedence with parentheses
@ -58,16 +64,16 @@ not False #=> True
None #=> None None #=> None
---------------------------------------------------- ####################################################
-- 2. Variables and Collections ## 2. Variables and Collections
---------------------------------------------------- ####################################################
# Printing is pretty easy # Printing is pretty easy
print "I'm Python. Nice to meet you!" print "I'm Python. Nice to meet you!"
# No need to declare variables before assigning to them. # No need to declare variables before assigning to them.
some_var = 5 # Convention is to use lower_case_with_underscores for variables some_var = 5 # Convention is to use lower_case_with_underscores
some_var #=> 5 some_var #=> 5
# Accessing a previously unassigned variable is an exception # Accessing a previously unassigned variable is an exception
@ -97,7 +103,7 @@ del li[2] # li is now [1, 2, 3]
li + other_li #=> [1, 2, 3, 4, 5, 6] - Note: li and other_li is left alone li + other_li #=> [1, 2, 3, 4, 5, 6] - Note: li and other_li is left alone
# Concatenate lists with extend # Concatenate lists with extend
li.extend(other_li) # Now li is [1 ,2 ,3 ,4 ,5 ,6] li.extend(other_li) # Now li is [1, 2, 3, 4, 5, 6]
# Check for existence in a list with in # Check for existence in a list with in
1 in li #=> True 1 in li #=> True
@ -120,10 +126,13 @@ filled_dict = {"one": 1, "two": 2, "three": 3}
filled_dict["one"] #=> 1 filled_dict["one"] #=> 1
# Get all keys as a list # Get all keys as a list
filled_dict.keys() #=> ["three", "two", "one"] Note - Dictionary key ordering is not guaranteed. Your results might not match this exactly. filled_dict.keys() #=> ["three", "two", "one"]
# Note - Dictionary key ordering is not guaranteed.
# Your results might not match this exactly.
# Get all values as a list # Get all values as a list
filled_dict.values() #=> [3, 2, 1] Note - Same as above regarding key ordering. filled_dict.values() #=> [3, 2, 1]
# Note - Same as above regarding key ordering.
# Check for existence of keys in a dictionary with in # Check for existence of keys in a dictionary with in
"one" in filled_dict #=> True "one" in filled_dict #=> True
@ -150,9 +159,9 @@ filled_set | other_set #=> set([1, 2, 3, 4, 5, 6])
10 in filled_set #=> False 10 in filled_set #=> False
---------------------------------------------------- ####################################################
-- 3. Control Flow ## 3. Control Flow
---------------------------------------------------- ####################################################
# Let's just make a variable # Let's just make a variable
some_var = 5 some_var = 5
@ -175,7 +184,8 @@ prints:
mouse is a mammal mouse is a mammal
""" """
for animal in ["dog", "cat", "mouse"]: for animal in ["dog", "cat", "mouse"]:
print "%s is a mammal" % animal # You can use % to interpolate formatted strings # You can use % to interpolate formatted strings
print "%s is a mammal" % animal
""" """
While loops go until a condition is no longer met. While loops go until a condition is no longer met.
@ -188,7 +198,7 @@ prints:
x = 0 x = 0
while x < 4: while x < 4:
print x print x
x += 1 # Short hand for x = x + 1 x += 1 # Shorthand for x = x + 1
# Handle exceptions with a try/except block # Handle exceptions with a try/except block
try: try:
@ -197,9 +207,9 @@ except IndexError as e:
pass # Pass is just a no-op. Usually you would do recovery here. pass # Pass is just a no-op. Usually you would do recovery here.
---------------------------------------------------- ####################################################
-- 4. Functions ## 4. Functions
---------------------------------------------------- ####################################################
# Use def to create new functions # Use def to create new functions
def add(x, y): def add(x, y):
@ -209,9 +219,9 @@ def add(x, y):
# Calling functions with parameters # Calling functions with parameters
add(5, 6) #=> 11 and prints out "x is 5 and y is 6" add(5, 6) #=> 11 and prints out "x is 5 and y is 6"
# Another way to call functions is with keyword arguments # Another way to call functions is with keyword arguments
add(y=6, x=5) # Equivalent to above. Keyword arguments can arrive in any order. add(y=6, x=5) # Keyword arguments can arrive in any order.
# You can define functions that take a variable number of positional arguments # You can define functions that take a variable number of arguments
def varargs(*args): def varargs(*args):
return args return args
@ -232,7 +242,6 @@ def create_adder(x):
return x + y return x + y
return adder return adder
# Let's create a new function that always adds 10 to the argument
add_10 = create_adder(10): add_10 = create_adder(10):
add_10(3) #=> 13 add_10(3) #=> 13
@ -247,15 +256,11 @@ filter(lambda x: x > 5, [3, 4, 5, 6, 7]) #=> [6, 7]
[add_10(i) for i in [1, 2, 3]] #=> [11, 12, 13] [add_10(i) for i in [1, 2, 3]] #=> [11, 12, 13]
[x for x in [3, 4, 5, 6, 7] if x > 5] #=> [6, 7] [x for x in [3, 4, 5, 6, 7] if x > 5] #=> [6, 7]
---------------------------------------------------- ####################################################
-- 5. Classes ## 5. Classes
---------------------------------------------------- ####################################################
# We can define classes with the class statement # We subclass from object to get a class.
class Human(): # By convention CamelCase is used for classes.
pass
# We subclass from object to get a "new-style class". All your code should do this.
class Human(object): class Human(object):
# A class attribute. It is shared by all instances of this class # A class attribute. It is shared by all instances of this class
@ -263,18 +268,20 @@ class Human(object):
# Basic initializer # Basic initializer
def __init__(self, name): def __init__(self, name):
self.name = name # We are assigning the argument to the instance's name attribute # Assign the argument to the instance's name attribute
self.name = name
# A method. All methods take self as the first argument, including the initializer # A method. All methods take self as the first argument
def say(self, msg): def say(self, msg):
return "%s: %s" % (self.name, msg) return "%s: %s" % (self.name, msg)
# A class method is shared among all instances # A class method is shared among all instances
# They are called with the calling class as the first argument
@classmethod @classmethod
def get_species(cls): def get_species(cls):
return cls.species return cls.species
# Static methods are called without a parameter reference to the class or instance # Static methods are called without a class or instance reference
@staticmethod @staticmethod
def grunt(): def grunt():
return "*grunt*" return "*grunt*"
@ -283,6 +290,7 @@ class Human(object):
# Instantiate a class # Instantiate a class
h = Human(name="Harry") h = Human(name="Harry")
print h.say("hi") # prints out "Harry: hi" print h.say("hi") # prints out "Harry: hi"
i = Human("Ian") i = Human("Ian")
print i.say("hello") #prints out "Ian: hello" print i.say("hello") #prints out "Ian: hello"