This document summarizes a lecture on knowledge representation in digital humanities. It discusses formalizing the modeling of real-world domains and representing complex objects. The lecture covers more complex data types in Python like lists, tuples, and dictionaries. It explains accessing, modifying, and deleting items from these data types. The document also discusses object-oriented programming concepts like classes, objects, attributes and methods for modeling domains.
This document discusses strings and characters in Python. It defines strings as sequences of characters and describes how to define, access elements of, slice, and perform operations on strings. It also discusses string methods like upper(), lower(), find(), and chaining methods. Functions for working with strings like len() are also covered. The document provides examples and exercises to help understand strings and characters in Python.
This document discusses authorship attribution and forensic linguistics using machine learning techniques. It defines authorship attribution as identifying the author of an anonymous text. Authorship attribution has applications in plagiarism detection, author profiling, and detecting multiple collaborators. The process involves defining author classes, extracting features like word ngrams, character ngrams and part-of-speech tags from texts, training a machine learning classifier, and evaluating it using cross-validation. A demo applies these techniques to correctly attribute tweets and legal judgments to authors with over 90% accuracy. Open questions around authorship attribution with more authors, shorter texts, detecting author mood and obfuscation are also discussed.
This document provides an overview of a lecture on knowledge representation in digital humanities. It begins with an introduction to the course, its justification and goals, including explaining why knowledge representation and skills like modeling, programming, and natural language processing are important for digital humanities. It then discusses what digital humanities encompasses and provides some definitions of the field from various scholars. Examples are given of digital humanities projects, including the Sylva Project, which involves modeling, knowledge representation, data visualization, and collaboration.
This document contains a lecture on knowledge representation in digital humanities. It discusses using strings to represent text in Python programming. The lecture includes exercises on defining functions to print prime numbers under 100 and exploring string indices. It also covers functions, data types like integers and strings, and using strings to access individual characters and slices of text.
The document provides an introduction to Building Information Modeling (BIM). It discusses how BIM is a process that leverages integrated data management across the entire life cycle of construction projects. BIM involves creating an intelligent digital representation of the building that contains information about the building's components. Some benefits of BIM include improved design coordination, constructability analysis, cost estimating, and facility operations. Challenges to adopting BIM include the learning curve for new software and costs of BIM tools.
Bridging the Semantic Gap in Multimedia Information Retrieval: Top-down and B...Jonathon Hare
Mastering the Gap: From Information Extraction to Semantic Representation / 3rd European Semantic Web Conference, Budva, Montenegro. May 2006.
http://eprints.soton.ac.uk/262737/
Semantic representation of multimedia information is vital for enabling the kind of multimedia search capabilities that professional searchers require. Manual annotation is often not possible because of the shear scale of the multimedia information that needs indexing. This paper explores the ways in which we are using both top-down, ontologically driven approaches and bottom-up, automatic-annotation approaches to provide retrieval facilities to users. We also discuss many of the current techniques that we are investigating to combine these top-down and bottom-up approaches.
Mechanisms of bottom-up and top-down processing in visual perceptionThomas Serre
This document discusses mechanisms of bottom-up and top-down visual processing. It outlines that rapid recognition in humans can occur through feedforward processing alone, extracting the gist of scenes at 7 images per second without eye movements or expectations. Beyond this, top-down feedback and attention are needed to solve the "clutter problem" in complex scenes. It also describes the hierarchical architecture of object recognition in the ventral visual stream, from primary visual cortex to anterior inferior temporal cortex, with increasing complexity and invariance properties.
This document discusses strings and characters in Python. It defines strings as sequences of characters and describes how to define, access elements of, slice, and perform operations on strings. It also discusses string methods like upper(), lower(), find(), and chaining methods. Functions for working with strings like len() are also covered. The document provides examples and exercises to help understand strings and characters in Python.
This document discusses authorship attribution and forensic linguistics using machine learning techniques. It defines authorship attribution as identifying the author of an anonymous text. Authorship attribution has applications in plagiarism detection, author profiling, and detecting multiple collaborators. The process involves defining author classes, extracting features like word ngrams, character ngrams and part-of-speech tags from texts, training a machine learning classifier, and evaluating it using cross-validation. A demo applies these techniques to correctly attribute tweets and legal judgments to authors with over 90% accuracy. Open questions around authorship attribution with more authors, shorter texts, detecting author mood and obfuscation are also discussed.
This document provides an overview of a lecture on knowledge representation in digital humanities. It begins with an introduction to the course, its justification and goals, including explaining why knowledge representation and skills like modeling, programming, and natural language processing are important for digital humanities. It then discusses what digital humanities encompasses and provides some definitions of the field from various scholars. Examples are given of digital humanities projects, including the Sylva Project, which involves modeling, knowledge representation, data visualization, and collaboration.
This document contains a lecture on knowledge representation in digital humanities. It discusses using strings to represent text in Python programming. The lecture includes exercises on defining functions to print prime numbers under 100 and exploring string indices. It also covers functions, data types like integers and strings, and using strings to access individual characters and slices of text.
The document provides an introduction to Building Information Modeling (BIM). It discusses how BIM is a process that leverages integrated data management across the entire life cycle of construction projects. BIM involves creating an intelligent digital representation of the building that contains information about the building's components. Some benefits of BIM include improved design coordination, constructability analysis, cost estimating, and facility operations. Challenges to adopting BIM include the learning curve for new software and costs of BIM tools.
Bridging the Semantic Gap in Multimedia Information Retrieval: Top-down and B...Jonathon Hare
Mastering the Gap: From Information Extraction to Semantic Representation / 3rd European Semantic Web Conference, Budva, Montenegro. May 2006.
http://eprints.soton.ac.uk/262737/
Semantic representation of multimedia information is vital for enabling the kind of multimedia search capabilities that professional searchers require. Manual annotation is often not possible because of the shear scale of the multimedia information that needs indexing. This paper explores the ways in which we are using both top-down, ontologically driven approaches and bottom-up, automatic-annotation approaches to provide retrieval facilities to users. We also discuss many of the current techniques that we are investigating to combine these top-down and bottom-up approaches.
Mechanisms of bottom-up and top-down processing in visual perceptionThomas Serre
This document discusses mechanisms of bottom-up and top-down visual processing. It outlines that rapid recognition in humans can occur through feedforward processing alone, extracting the gist of scenes at 7 images per second without eye movements or expectations. Beyond this, top-down feedback and attention are needed to solve the "clutter problem" in complex scenes. It also describes the hierarchical architecture of object recognition in the ventral visual stream, from primary visual cortex to anterior inferior temporal cortex, with increasing complexity and invariance properties.
This document provides an overview of knowledge representation in natural language processing. It discusses part-of-speech tagging using various taggers like the default tagger, regular expression tagger, and lookup tagger. It also covers n-gram tagging using a unigram tagger. The document compares the performance of these taggers on test data from the Brown corpus and finds that the lookup tagger and unigram tagger perform best with accuracies of around 58% and higher.
This document summarizes tuples and dictionaries in Python. Tuples are immutable sequences that are defined using round brackets. They can contain heterogeneous elements and support operations like indexing, slicing, and iteration. Dictionaries allow storing elements with non-integer keys and accessing them via indexing. They are mutable and support operations like adding/deleting elements and various functions. The next lecture will involve practicing with tuples and dictionaries.
This document discusses a lecture on knowledge representation in digital humanities. It covers:
1. An introduction to the lecture, which teaches Python programming and develops programming skills for knowledge representation and modeling.
2. A discussion of the previous assignment to consolidate concepts from readings and discuss specific solutions.
3. An overview of Chapter 4 on the Python programming language, covering features of Python, programming in Python using variables, expressions, conditionals and iterations.
This document discusses Python data types. It introduces common data types like integers, floats, strings, lists, tuples, dictionaries, booleans and sets. For each data type, it provides examples of how to define variables of that type, check the type, perform operations like slicing, concatenation and repetition. Standard data types like numbers, sequences, booleans, sets and dictionaries are covered in detail with examples showing how to create and manipulate variables of each type.
Processing data with Python, using standard library modules you (probably) ne...gjcross
Tutorial #2 from PyCon AU 2012
You have data.
You have Python.
You also have a lot of choices about the best way to work with that data...
Ever wondered when you would use a tuple, list, dictionary, set, ordered dictionary, bucket, queue, counter or named tuple? Phew!
Do you know when to use a loop, iterator or generator to work through a data container?
Why are there so many different "containers" to hold data?
What are the best ways to work with these data containers?
This tutorial will give you all the basics to effectively working with data containers and iterators in Python. Along the way we will cover some very useful modules from the standard library that you may not have used before and will end up wondering how you ever did without them.
This tutorial is aimed at Python beginners. Bring along your laptop so you can interactively work through some of the examples in the tutorial. If you can, install ipython (http://ipython.org/) as we will use it for the demonstrations.
This document provides an introduction to Python programming concepts including data types, operators, control flow statements, functions and modules. It discusses the basic Python data types like integers, floats, booleans, strings, lists, tuples, dictionaries and sets. It also covers Python operators like arithmetic, assignment, comparison, logical and identity operators. Additionally, it describes control flow statements like if/else and for loops. Finally, it touches on functions, modules and input/output statements in Python.
This document provides information about Python lists. Some key points:
- Lists can store multiple elements of any data type. They are versatile for working with multiple elements.
- Lists maintain element order and allow duplicate elements. Elements are accessed via indexes.
- Lists support operations like concatenation, membership testing, slicing, and methods to add/remove elements.
- Nested lists allow lists within lists, for representing matrices and other complex data structures.
The document discusses container data types in Python, including lists, tuples, sets, and dictionaries.
Lists allow indexing, slicing, and various methods like append(), insert(), pop(), and sort(). Tuples are like lists but immutable, and have methods like count(), index(), and tuple comprehension. Sets store unique elements and support operations like union and intersection. Dictionaries map keys to values and allow accessing elements via keys along with functions like get() and update().
BFNP –
Functional
Program-
ming
Niels
Hallenberg
Tagged
values.
Construc-
tors
Values
Types
BFNP – Functional Programming
Lecture 3: Records, tagged values and lists
Niels Hallenberg
These slides are based on original slides by Michael R.
Hansen, DTU. Thanks!!!
The original slides has been used at a course in functional
programming at DTU.
1 IT University of Copenhagen Lecture 3: Records, tagged values and lists NH 09/02/2013
BFNP –
Functional
Program-
ming
Niels
Hallenberg
Tagged
values.
Construc-
tors
Values
Types
Disjoint Sets – An Example
A shape is either a circle, a square, or a triangle
• the union of three disjoint sets
type shape =
Circle of float
| Square of float
| Triangle of float*float*float;;
The tags Circle, Square and Triangle are constructors:
> Circle;;
val it : float -> shape = <fun:[email protected]>
- Circle 2.0;;
> val it : shape = Circle 2.0
- Triangle(1.0, 2.0, 3.0);;
> val it : shape = Triangle(1.0, 2.0, 3.0)
- Square 4.0;;
> val it : shape = Square 4.0
2 IT University of Copenhagen Lecture 3: Records, tagged values and lists NH 09/02/2013
BFNP –
Functional
Program-
ming
Niels
Hallenberg
Tagged
values.
Construc-
tors
Values
Types
Constructors in Patterns
A shape-area function is declared
let area = function
| Circle r -> System.Math.PI * r * r
| Square a -> a * a
| Triangle(a,b,c) ->
let s = (a + b + c)/2.0
sqrt(s*(s-a)*(s-b)*(s-c)) ;;
> val area : shape -> real
following the structure of shapes.
• a constructor only matches itself
area (Circle 1.2)
(System.Math.PI * r * r, [r 7→ 1.2])
. . .
How would you structure a program for this in C#?
3 IT University of Copenhagen Lecture 3: Records, tagged values and lists NH 09/02/2013
BFNP –
Functional
Program-
ming
Niels
Hallenberg
Tagged
values.
Construc-
tors
Values
Types
Enumeration types – the months
Months are naturally defined using tagged values::
type month = January | February | March | April
| May | June | July | August | September
| October | November | December ;;
The days-in-a-month function is declared by
let daysOfMonth = function
| February -> 28
| April | June | September | November -> 30
| _ -> 31 ;;
val daysOfMonth : month -> int
4 IT University of Copenhagen Lecture 3: Records, tagged values and lists NH 09/02/2013
BFNP –
Functional
Program-
ming
Niels
Hallenberg
Tagged
values.
Construc-
tors
Values
Types
The option type
type ’a option = None | Some of ’a
Distinguishes the cases ”nothing” and ”something”.
predefined
The constructor Some and None are polymorphic:
Some false;;
val it : bool option = Some false
Some (1, "a");;
val it : (int * string) option = Some (1, "a")
None;;
val it : ’a option = None
5 IT University of Copenhagen Lecture 3: Records, tagged values and lists NH 09/02/2013
BFNP –
Functional
Program-
ming
Niels
Hallenberg
Tagged
values.
Construc-
tors
Values
TypesLISTs
6 IT University of Copenhagen Lecture 3: Records, tagged values and lists NH 09/02/2013
...
The document discusses type systems and type checking in programming languages. It covers key concepts such as:
- Types specify valid operations on values and ensure operations are used correctly.
- Languages can be statically, dynamically, or untyped depending on when type checking occurs.
- Type expressions represent types using basic types and type constructors like arrays and pointers.
- Type checking verifies that expressions have the correct type by analyzing expression types. It catches errors and allows implicit conversions.
mooc_presentataion_mayankmanral on the subject puthongarvitbisht27
Python prr ppt hai so plzz nsjsiskbdbdjdjdkdjdndndndndmmdmdndndndndndndndnndndndnndndndmememdmsjakksmwbshskammanahaialemneeuislmeheuiekememejkeksmwjejekekmemenejekmemrme
This document provides an overview of the Python programming language. It discusses Python's history and design, data types like integers, floats, strings, lists, tuples and dictionaries. It also covers core concepts like variables, expressions, control flow with if/else statements and loops. The document demonstrates how to take user input, read and write files, and describes moving Python code to files to make it reusable.
The document discusses lists in Python. It defines lists as collections of values separated by commas and enclosed in square brackets. It provides examples of creating lists and performing common operations like concatenation, repetition, slicing, membership testing, indexing, updating/changing elements, and built-in functions/methods like len(), min(), max(), sort(), and reverse(). The document also covers iterating through lists using for loops and deleting elements using the del statement.
Declare Your Language: Name ResolutionEelco Visser
Scope graphs are used to represent the binding information in programs. They provide a language-independent representation of name resolution that can be used to conduct and represent the results of name resolution. Separating the representation of resolved programs from the declarative rules that define name binding allows language-independent tooling to be developed for name resolution and other tasks.
This document provides an overview of collections in computer science and Python. It defines a collection as a grouping of variable data items that need to be operated on together. Collections include common data structures like arrays, lists, sets, trees and graphs. In Python, built-in collection types include lists, sets, dictionaries and tuples, while the collections module provides additional types like deque. The document discusses lists and arrays in detail, covering how to access and modify elements, basic operations, and when each type is best suited depending on the needs of the problem.
This document summarizes common Python data types including numbers, strings, lists, tuples, dictionaries, and sets. It describes that Python data types can be sequential (allow indexes) or nonsequential (no indexes) and changeable or unchangeable. For numbers, basic math operations like addition and multiplication are covered. Strings are described as sequences of characters that can be concatenated or multiplied. Lists are described as sequences that can hold elements of any type and support operators like addition and multiplication. Example list operations like append, remove, and insert are demonstrated.
Python Programming for basic beginners.pptxmohitesoham12
The document provides an overview of Python programming concepts including data types, variables, operators, and collections like lists and tuples. It defines Python as a general purpose programming language created in 1991 that can be used for desktop, web, machine learning, and data science apps. Key data types covered include numbers, strings, lists, and tuples. Operators for arithmetic, comparison, logical, membership, and identity are also summarized. Various list and tuple methods for accessing, modifying, sorting, and joining their items are demonstrated through examples.
This document summarizes Python's standard data types including numbers, strings, lists, tuples, and dictionaries. It provides examples of how to define and manipulate each type. Numbers can be used for mathematical operations while strings support slicing and concatenation. Lists are versatile and allow different data types, with items accessed via indexes. Tuples are similar to lists but immutable. Dictionaries store key-value pairs and are accessed via keys.
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
This document provides an overview of knowledge representation in natural language processing. It discusses part-of-speech tagging using various taggers like the default tagger, regular expression tagger, and lookup tagger. It also covers n-gram tagging using a unigram tagger. The document compares the performance of these taggers on test data from the Brown corpus and finds that the lookup tagger and unigram tagger perform best with accuracies of around 58% and higher.
This document summarizes tuples and dictionaries in Python. Tuples are immutable sequences that are defined using round brackets. They can contain heterogeneous elements and support operations like indexing, slicing, and iteration. Dictionaries allow storing elements with non-integer keys and accessing them via indexing. They are mutable and support operations like adding/deleting elements and various functions. The next lecture will involve practicing with tuples and dictionaries.
This document discusses a lecture on knowledge representation in digital humanities. It covers:
1. An introduction to the lecture, which teaches Python programming and develops programming skills for knowledge representation and modeling.
2. A discussion of the previous assignment to consolidate concepts from readings and discuss specific solutions.
3. An overview of Chapter 4 on the Python programming language, covering features of Python, programming in Python using variables, expressions, conditionals and iterations.
This document discusses Python data types. It introduces common data types like integers, floats, strings, lists, tuples, dictionaries, booleans and sets. For each data type, it provides examples of how to define variables of that type, check the type, perform operations like slicing, concatenation and repetition. Standard data types like numbers, sequences, booleans, sets and dictionaries are covered in detail with examples showing how to create and manipulate variables of each type.
Processing data with Python, using standard library modules you (probably) ne...gjcross
Tutorial #2 from PyCon AU 2012
You have data.
You have Python.
You also have a lot of choices about the best way to work with that data...
Ever wondered when you would use a tuple, list, dictionary, set, ordered dictionary, bucket, queue, counter or named tuple? Phew!
Do you know when to use a loop, iterator or generator to work through a data container?
Why are there so many different "containers" to hold data?
What are the best ways to work with these data containers?
This tutorial will give you all the basics to effectively working with data containers and iterators in Python. Along the way we will cover some very useful modules from the standard library that you may not have used before and will end up wondering how you ever did without them.
This tutorial is aimed at Python beginners. Bring along your laptop so you can interactively work through some of the examples in the tutorial. If you can, install ipython (http://ipython.org/) as we will use it for the demonstrations.
This document provides an introduction to Python programming concepts including data types, operators, control flow statements, functions and modules. It discusses the basic Python data types like integers, floats, booleans, strings, lists, tuples, dictionaries and sets. It also covers Python operators like arithmetic, assignment, comparison, logical and identity operators. Additionally, it describes control flow statements like if/else and for loops. Finally, it touches on functions, modules and input/output statements in Python.
This document provides information about Python lists. Some key points:
- Lists can store multiple elements of any data type. They are versatile for working with multiple elements.
- Lists maintain element order and allow duplicate elements. Elements are accessed via indexes.
- Lists support operations like concatenation, membership testing, slicing, and methods to add/remove elements.
- Nested lists allow lists within lists, for representing matrices and other complex data structures.
The document discusses container data types in Python, including lists, tuples, sets, and dictionaries.
Lists allow indexing, slicing, and various methods like append(), insert(), pop(), and sort(). Tuples are like lists but immutable, and have methods like count(), index(), and tuple comprehension. Sets store unique elements and support operations like union and intersection. Dictionaries map keys to values and allow accessing elements via keys along with functions like get() and update().
BFNP –
Functional
Program-
ming
Niels
Hallenberg
Tagged
values.
Construc-
tors
Values
Types
BFNP – Functional Programming
Lecture 3: Records, tagged values and lists
Niels Hallenberg
These slides are based on original slides by Michael R.
Hansen, DTU. Thanks!!!
The original slides has been used at a course in functional
programming at DTU.
1 IT University of Copenhagen Lecture 3: Records, tagged values and lists NH 09/02/2013
BFNP –
Functional
Program-
ming
Niels
Hallenberg
Tagged
values.
Construc-
tors
Values
Types
Disjoint Sets – An Example
A shape is either a circle, a square, or a triangle
• the union of three disjoint sets
type shape =
Circle of float
| Square of float
| Triangle of float*float*float;;
The tags Circle, Square and Triangle are constructors:
> Circle;;
val it : float -> shape = <fun:[email protected]>
- Circle 2.0;;
> val it : shape = Circle 2.0
- Triangle(1.0, 2.0, 3.0);;
> val it : shape = Triangle(1.0, 2.0, 3.0)
- Square 4.0;;
> val it : shape = Square 4.0
2 IT University of Copenhagen Lecture 3: Records, tagged values and lists NH 09/02/2013
BFNP –
Functional
Program-
ming
Niels
Hallenberg
Tagged
values.
Construc-
tors
Values
Types
Constructors in Patterns
A shape-area function is declared
let area = function
| Circle r -> System.Math.PI * r * r
| Square a -> a * a
| Triangle(a,b,c) ->
let s = (a + b + c)/2.0
sqrt(s*(s-a)*(s-b)*(s-c)) ;;
> val area : shape -> real
following the structure of shapes.
• a constructor only matches itself
area (Circle 1.2)
(System.Math.PI * r * r, [r 7→ 1.2])
. . .
How would you structure a program for this in C#?
3 IT University of Copenhagen Lecture 3: Records, tagged values and lists NH 09/02/2013
BFNP –
Functional
Program-
ming
Niels
Hallenberg
Tagged
values.
Construc-
tors
Values
Types
Enumeration types – the months
Months are naturally defined using tagged values::
type month = January | February | March | April
| May | June | July | August | September
| October | November | December ;;
The days-in-a-month function is declared by
let daysOfMonth = function
| February -> 28
| April | June | September | November -> 30
| _ -> 31 ;;
val daysOfMonth : month -> int
4 IT University of Copenhagen Lecture 3: Records, tagged values and lists NH 09/02/2013
BFNP –
Functional
Program-
ming
Niels
Hallenberg
Tagged
values.
Construc-
tors
Values
Types
The option type
type ’a option = None | Some of ’a
Distinguishes the cases ”nothing” and ”something”.
predefined
The constructor Some and None are polymorphic:
Some false;;
val it : bool option = Some false
Some (1, "a");;
val it : (int * string) option = Some (1, "a")
None;;
val it : ’a option = None
5 IT University of Copenhagen Lecture 3: Records, tagged values and lists NH 09/02/2013
BFNP –
Functional
Program-
ming
Niels
Hallenberg
Tagged
values.
Construc-
tors
Values
TypesLISTs
6 IT University of Copenhagen Lecture 3: Records, tagged values and lists NH 09/02/2013
...
The document discusses type systems and type checking in programming languages. It covers key concepts such as:
- Types specify valid operations on values and ensure operations are used correctly.
- Languages can be statically, dynamically, or untyped depending on when type checking occurs.
- Type expressions represent types using basic types and type constructors like arrays and pointers.
- Type checking verifies that expressions have the correct type by analyzing expression types. It catches errors and allows implicit conversions.
mooc_presentataion_mayankmanral on the subject puthongarvitbisht27
Python prr ppt hai so plzz nsjsiskbdbdjdjdkdjdndndndndmmdmdndndndndndndndnndndndnndndndmememdmsjakksmwbshskammanahaialemneeuislmeheuiekememejkeksmwjejekekmemenejekmemrme
This document provides an overview of the Python programming language. It discusses Python's history and design, data types like integers, floats, strings, lists, tuples and dictionaries. It also covers core concepts like variables, expressions, control flow with if/else statements and loops. The document demonstrates how to take user input, read and write files, and describes moving Python code to files to make it reusable.
The document discusses lists in Python. It defines lists as collections of values separated by commas and enclosed in square brackets. It provides examples of creating lists and performing common operations like concatenation, repetition, slicing, membership testing, indexing, updating/changing elements, and built-in functions/methods like len(), min(), max(), sort(), and reverse(). The document also covers iterating through lists using for loops and deleting elements using the del statement.
Declare Your Language: Name ResolutionEelco Visser
Scope graphs are used to represent the binding information in programs. They provide a language-independent representation of name resolution that can be used to conduct and represent the results of name resolution. Separating the representation of resolved programs from the declarative rules that define name binding allows language-independent tooling to be developed for name resolution and other tasks.
This document provides an overview of collections in computer science and Python. It defines a collection as a grouping of variable data items that need to be operated on together. Collections include common data structures like arrays, lists, sets, trees and graphs. In Python, built-in collection types include lists, sets, dictionaries and tuples, while the collections module provides additional types like deque. The document discusses lists and arrays in detail, covering how to access and modify elements, basic operations, and when each type is best suited depending on the needs of the problem.
This document summarizes common Python data types including numbers, strings, lists, tuples, dictionaries, and sets. It describes that Python data types can be sequential (allow indexes) or nonsequential (no indexes) and changeable or unchangeable. For numbers, basic math operations like addition and multiplication are covered. Strings are described as sequences of characters that can be concatenated or multiplied. Lists are described as sequences that can hold elements of any type and support operators like addition and multiplication. Example list operations like append, remove, and insert are demonstrated.
Python Programming for basic beginners.pptxmohitesoham12
The document provides an overview of Python programming concepts including data types, variables, operators, and collections like lists and tuples. It defines Python as a general purpose programming language created in 1991 that can be used for desktop, web, machine learning, and data science apps. Key data types covered include numbers, strings, lists, and tuples. Operators for arithmetic, comparison, logical, membership, and identity are also summarized. Various list and tuple methods for accessing, modifying, sorting, and joining their items are demonstrated through examples.
This document summarizes Python's standard data types including numbers, strings, lists, tuples, and dictionaries. It provides examples of how to define and manipulate each type. Numbers can be used for mathematical operations while strings support slicing and concatenation. Lists are versatile and allow different data types, with items accessed via indexes. Tuples are similar to lists but immutable. Dictionaries store key-value pairs and are accessed via keys.
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on automated letter generation for Bonterra Impact Management using Google Workspace or Microsoft 365.
Interested in deploying letter generation automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Trusted Execution Environment for Decentralized Process MiningLucaBarbaro3
Presentation of the paper "Trusted Execution Environment for Decentralized Process Mining" given during the CAiSE 2024 Conference in Cyprus on June 7, 2024.
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfflufftailshop
When it comes to unit testing in the .NET ecosystem, developers have a wide range of options available. Among the most popular choices are NUnit, XUnit, and MSTest. These unit testing frameworks provide essential tools and features to help ensure the quality and reliability of code. However, understanding the differences between these frameworks is crucial for selecting the most suitable one for your projects.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
GraphRAG for Life Science to increase LLM accuracyTomaz Bratanic
GraphRAG for life science domain, where you retriever information from biomedical knowledge graphs using LLMs to increase the accuracy and performance of generated answers
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on integration of Salesforce with Bonterra Impact Management.
Interested in deploying an integration with Salesforce for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
2. Lecture 6
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard
* Contents:
1. Why this lecture?
2. Discussion
3. Chapter 6
4. Assignment
5. Bibliography
2
3. Why this lecture?
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard
* This lecture...
· formalizes the modelling of real-world
domains
· goes in depth into the representation of
complex objects
3
4. Last assignment discussion
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard
* Time to...
· consolidate ideas and
concepts dealt in the readings
· discuss issues arised in the specific
solutions to the projects
4
5. Chapter 6
Domain Modelling
and
Complex Object Representation
in Python
1. More complex data types
2. Object-oriented programming
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard5
6. Chapter 6
1 More complex data types
1.1 Lists
1.2 Tuples
1.3 Dictionaries
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard6
7. Chapter 6
2 Object-oriented programming
2.1 General ideas
2.2 Classes and objects
2.3 Attributes and methods
2.4 Modelling domains
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard7
8. More complex data types
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard8
9. Lists
* Debugging
· Syntax errors
+ not closing []
· Logic errors
+ accessing to a non-existing element
- index out of range
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard9
10. Lists
* Debugging
· Semantic errors
+ not accessing the first and/or last
element
+ not considering the empty list, []
+ modifying a list inside a function
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard10
11. Lists
* list
· Type for lists
· Examples: [1, 2, 3], ['a', 'b', 'c'],
[1, 'abc', [], True]
· A list is a sequence of values
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard11
12. Lists
* Indexes
· Same index system as strings
· Access:
+ A whole
+ One element at a time
+ A slice
· Range: 0 .. list's length - 1
· The index [-1] accesses the last element
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard12
13. Lists
* Indexes
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard13
In [1]: l = [1, 'abc', [], True]
In [2]: l
Out[2]: [1, 'abc', [], True]
In [3]: l[0]
Out[3]: 1
In [4]: l[1:3]
Out[4]: ['abc', []]
In [5]:
14. Lists
* Mutability
· Lists are mutable (can be modified)
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard14
In [1]: l = [1, 'abc', [], True]
In [2]: l
Out[2]: [1, 'abc', [], True]
In [3]:
15. Lists
* Mutability
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard15
In [3]: l[1] = 3.1416
In [4]: l
Out[4]: [1, 3.1416, [], True]
In [5]: l[2:4] = [False, 'xyz']
In [6]: l
Out[6]: [1, 3.1416, False, 'xyz']
In [7]: l.append(2)
In [8]: l
Out[8]: [1, 3.1416, False, 'xyz', 2]
16. Lists
* Mutability
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard16
In [9]: l.insert(2, [1, 2, 3])
In [10]: l
Out[10]: [1, 3.1416, [1, 2, 3], False, 'xyz', 2]
In [11]: l.remove(False)
In [12]: l
Out[12]: [1, 3.1416, [1, 2, 3], 'xyz', 2]
In [13]: del l[1]
In [14]: l
Out[14]: [1, [1, 2, 3], 'xyz', 2]
17. Lists
* Mutability
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard17
In [15]: l.extend([True, 7.3])
In [16]: l
Out[16]: [1, [1, 2, 3], 'xyz', 2, True, 7.3]
In [17]: x = l.pop(3)
In [18]: l
Out[18]: [1, [1, 2, 3], 'xyz', True, 7.3]
In [19]: x
Out[19]: 2
In [20]:
18. Lists
* Some functions and operators
· index(x): returns the (first) index of
the element x
· count(x): returns the number of
ocurrences of x
· sort(): orders the elements of the list
· reverse(): inverts the elemens of the
list
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard18
19. Lists
* Exercise 1
· Write a function called invert that
returns the reverse of a list (do not
use the function reverse of lists)
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard19
20. Lists
* Exercise 1 (solution)
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard20
def invert(l):
result = []
for elem in l:
result.insert(0, elem)
return result
21. Lists
* Some functions and operators
· The function range generates a list of
ordered integers
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard21
In [1]: range(10)
Out[1]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
In [2]: range(2, 8)
Out[2]: [2, 3, 4, 5, 6, 7]
In [3]: range(0, 10, 3)
Out[3]: [0, 3, 6, 9]
In [4]:
22. Lists
* Some functions and operators
· +: concatenates lists
· *: repeats a list a given number of times
· [:]: slices a list
- General syntax: l[n:m]
- l[n:] ≡ l[n:len(l)]
- l[:m] ≡ l[0:m]
- l[:] ≡ l[0:len(l)] ≡ l
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard22
23. Lists
* Some functions and operators
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard23
In [1]: l1 = ['a', 'b', 'c']
In [2]: l2 = ['d', 'e', 'f']
In [3]: l3 = l1 + l2
In [4]: l3
Out[4]: ['a', 'b', 'c', 'd', 'e', 'f']
In [5]: l4 = l1 * 3
In [5]: l4
Out[5]: ['a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c']
In [6]:
24. Lists
* Some functions and operators
· The operator in checks if a value is
contained in a list
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard24
25. Lists
* Exercise 2
· Write a function called repeat
that returns the result of repeating a
list a number of times (do not use the
operator * of lists)
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard25
26. Lists
* Exercise 2 (solution)
(Consider the case n=0)
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard26
def repeat(l, n):
result = []
i = 1
while i <= n:
result = result + l
return result
27. Lists
* Lists as arguments/parameters of functions
· The parameter is a reference to the list
· Modifying the paremeter (list inside the
function) implies modifying the argument
(list passed to the function)
· To avoid this, make a copy of the list
with [:]
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard27
28. Lists
* Lists vs strings
· Lists are mutable
· Strings are inmutable
· A string is a sequence of characters
· A list is a sequence of values
· A list of characters is not a string
· The function list converts a string to
a list
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard28
29. References
Downey, Allen. “Chapter 10: Lists.” Think Python. Sebastopol, CA: O’Reilly, 2012. Print.
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard29
30. Tuples
* tuple
· Type for tuples
· Examples: (1, 2, 3), ('a', 'b', 'c'),
(1, 'abc', [], True)
· A tuple is an inmutable list
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard30
31. Dictionaries
* Debugging
· Syntax errors
+ not closing {}
· Logic errors
+ accessing to a non-existing element
- key not found
· Semantic errors
+ modifying a dictionary inside a
function Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard31
32. Dictionaries
* dict
· Type for dictionaries
· A dictionary is a kind of list that
establishes a mapping between a set of
indices (called keys) and a set of values
· Keys can be any type (not exclusively
integer)
· Each pair key-value is called item
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard32
33. Dictionaries
* dict
· Examples: {1:'a', 2:'b', 3:'c'},
{'one':'uno', 'two':'dos',
'three':'tres', 'four':'cuatro',
'five':'cinco', 'six':'seis',
'seven':'siete', 'eight':'ocho',
'nine':'nueve', 'ten':'diez',}
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard33
34. Dictionaries
* Access
· As a whole
- Example: d
· Its values one at a time (lookup)
- Syntax: dictionary[key]
- Example: d[1]
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard34
35. Dictionaries
* Access
· All items
- Syntax: dictionary.items()
- Example: d.items()
- It returns a list of tuples
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard35
36. Dictionaries
* Access
· Only (all) keys
- Syntax: dictionary.keys()
- Example: d.items()
· Only (all) keys
- Syntax: dictionary.keys()
- Example: d.items()
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard36
37. Dictionaries
* Access
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard37
In [1]: d = {1: 'a', 2: 'b', 3: 'c'}
In [2]: d
Out[2]: {1: 'a', 2: 'b', 3: 'c'}
In [3]: d[1]
Out[3]: 'a'
In [4]: d.items()
Out[4]: [(1, 'a'), (2, 'b'), (3, 'c')]
In [5]: d.keys()
Out[5]: [1, 2, 3]
In [6]: d.values()
Out[6]: ['a', 'b', 'c']
38. Dictionaries
* Modifying dictionaries
· Modifying existing item
- Syntax: dictionary[key] = new_value
- Example: d[1] = 'x'
· Adding new item
- Syntax: dictionary[new_key] = value
- Example: d[4] = 'd'
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard38
39. Dictionaries
* Modifying dictionaries
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard39
In [7]: d[1] = 'x'
In [8]: d
Out[8]: {1: 'x', 2: 'b', 3: 'c'}
In [9]: d[4] = 'd'
In [10]: d
Out[10]: {1: 'x', 2: 'b', 3: 'c', 4: 'd'}
In [11]:
40. Dictionaries
* Deleting items
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard40
In [11]: x = d.popitem()
In [12]: x
Out[12]: (1, 'x')
In [13]: d
Out[13]: {2: 'b', 3: 'c', 4: 'd'}
In [14]: y = d.pop(3)
In [15]: y
Out[15]: 'c'
In [16]: d
Out[16]: {2: 'b', 4: 'd'}
41. Dictionaries
* Deleting items
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard41
In [17]: del d[2]
In [18]: d
Out[18]: {4: 'd'}
In [19]:
42. Dictionaries
* Some functions and operators
· update(d): receives a dictionary d and
- if d contains keys included in the
dictionary, this function updates the
values of the dictionary with the values
of d
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard42
43. Dictionaries
* Some functions and operators
· update(d): receives a dictionary d and
- if d contains keys not included in the
dictionary, the new items (pairs
key-value) are added to the
dictionary
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard43
44. Dictionaries
* Some functions and operators
· The operator in checks if a key is
contained in a dictionary
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard44
45. Dictionaries
* Exercise 3
· Write a function called histogram
that receives a string and returns the
frequency of each letter
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard45
46. Dictionaries
* Exercise 3 (solution)
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard46
def histogram(word):
d = {}
for letter in word:
if letter in d:
d[letter] += 1
else:
d[letter] = 1
return d
47. Dictionaries
* Exercise 4
· Write a function called
invert_histogram that receives an
histogram and returns the inverted
histogram, where the keys are the
frequencies and the values are lists of
the letters that have that frequency
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard47
48. Dictionaries
* Exercise 4
· Example:
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard48
49. Dictionaries
* Exercise 4 (solution)
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard49
def invert_histogram(h):
inverse = {}
for key in h:
value = h[key]
if value in inverted_h:
inverse[value].append(key)
else:
inverse[value] = [key]
return inverse
50. References
Downey, Allen. “Chapter 11: Dictionaries.” Think Python. Sebastopol, CA: O’Reilly, 2012. Print.
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard50
52. General ideas
* Programs made up of object definitions
and functions that operate on them
* Objects correspond to concepts in the real
world
* Functions correspond to the ways
real-world objects interact
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard52
53. General ideas
* Debugging
· Logic errors
+ accessing to a non-existing element
- attribute not found
- attribute not initialized
- method not found
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard53
54. Classes and objects
* Classes
· A class is the representation of an idea
or a concept
· A class is a user-defined type
· Examples: Author, Book
· Syntax:
class ClassName(SuperclassNames):
attributes and methods
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard54
55. Classes and objects
* Objects
· An object is an instance of the class
· An object is a concrete element that
belongs to a class of objects
· Examples: William Shakespeare (Author),
Romeo and Juliet (Book)
· Syntax:
object_name = ClassName(arguments)
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard55
56. Attributes and methods
* A class is defined by features that are
common to all objects that belong to the
class
* Those features are:
· Attributes
· Methods
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard56
57. Attributes and methods
* Attributes
· Data
· Syntax: object.attribute
· Take specific values for each object
· Examples: base, height (Rectangle)
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard57
58. Attributes and methods
* Methods
· Functions that operate with data
· Syntax: object.method(arguments)
· Get different results for each object
· Examples: calculateArea()
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard58
59. Modelling domains
* Exercise 5
· In Literature, authors write
novels, poems, short stories...
Let us call them books in general
· Model the classes Author and Book
(abstract relevant data in both cases)
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard59
60. Modelling domains
* Exercise 5
· Write the method birthday for
the class Author that increases by one
the author's age
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard60
61. Modelling domains
* Exercise 5
· Write the method write for the
class Author that receives a title
and a text and add a new Book with this
author, title and text to his/her
bibliography
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard61
62. Modelling domains
* Exercise 5
· Write the method read for the
class Author that receives a title,
searches the book in his/her bibliography
and prints its text
· Add as many attributes as needed
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard62
63. Modelling domains
* Exercise 5 (solution)
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard63
class Author:
def __init__(self, name, age, bibliography={}):
self.name = name
self.age = age
self.bibliography = bibliography
def birthday(self):
self.age += 1
def write(self, title, text):
new_book = Book(title, self, text)
self.bibliography[title] = new_book
64. Modelling domains
* Exercise 5 (solution)
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard64
def read(self, title):
book = self.bibliography[title]
print book.text
def __repr__(self):
return self.name
65. Modelling domains
* Exercise 5 (solution)
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard65
class Book:
def __init__(self, title, author, text):
self.title = title
self.author = author
self.text = text
def __repr__(self):
return self.title
66. References
Downey, Allen. “Chapter 15: Classes and Objects.” Think Python. Sebastopol, CA: O’Reilly, 2012. Print.
Downey, Allen. “Chapter 16: Classes and Functions.” Think Python. Sebastopol, CA: O’Reilly, 2012. Print.
Downey, Allen. “Chapter 17: Classes and Methods.” Think Python. Sebastopol, CA: O’Reilly, 2012. Print.
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard66
67. Assignment
* Assignment 6: The library
· Readings
+ Data Structure Selection (Think
Python)
+ An Introduction to OOP Using Python
(A Hands-On Introduction to Using
Python in the Atmospheric and Oceanic
Sciences)
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard67
68. Assignment
* Assignment 6: The library
· Project
+ Read the description of the library in
the attached file
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard68
69. Assignment
* Assignment 6: The library
· Project
+ Model the scenario described by
defining classes and using suitable
data types
+ Try the solution with the test
provided
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard69
70. References
Downey, Allen. “Chapter 13: Case Study: Data Structure Selection.” Think Python. Sebastopol, CA: O’Reilly, 2012. Print.
Lin, Johnny Wei-Bing. “Chapter 7: An Introduction to OOP Using Python: Part I—Basic Principles and Syntax.” A Hands-on
Introduction to Using Python in the Atmospheric and Oceanic Sciences. San Francisco: Creative Commons, 2012.
Print.
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard70
71. Bibliography
Downey, Allen. Think Python. Sebastopol, CA: O’Reilly, 2012. Print.
Lin, Johnny Wei-Bing. A Hands-on Introduction to Using Python in the Atmospheric and Oceanic Sciences. San Francisco:
Creative Commons, 2012. Print.
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard71