29,99 €
This book bridges Python 3 programming and Generative AI, equipping readers with the skills to navigate both domains confidently. It starts with Python basics, covering data types, number formatting, text manipulation, loops, functions, data structures, NumPy, Pandas, conditional logic, and reserved words. You'll also learn about handling user input, managing exceptions, and working with command-line arguments.
The journey continues into Generative AI, distinguishing it from Conversational AI. It introduces popular platforms and models, including Bard (now called Gemini) and its competitors, providing insights into their capabilities, strengths, weaknesses, and applications. The final chapters show how to generate various Python 3 code samples using Gemini.
Understanding these concepts is crucial for modern programming and AI applications. This book transitions readers from basic Python programming to advanced AI techniques, blending theoretical knowledge with practical skills. Companion files with source code and figures enhance the learning experience, making this an essential resource for mastering Python 3 and Generative AI.
Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:
Seitenzahl: 232
Veröffentlichungsjahr: 2024
LICENSE, DISCLAIMER OF LIABILITY, AND LIMITED WARRANTY
By purchasing or using this book and companion files (the “Work”), you agree that this license grants permission to use the contents contained herein, including the disc, but does not give you the right of ownership to any of the textual content in the book / disc or ownership to any of the information or products contained in it. This license does not permit uploading of the Work onto the Internet or on a network (of any kind) without the written consent of the Publisher. Duplication or dissemination of any text, code, simulations, images, etc. contained herein is limited to and subject to licensing terms for the respective products, and permission must be obtained from the Publisher or the owner of the content, etc., in order to reproduce or network any portion of the textual material (in any media) that is contained in the Work.
MERCURY LEARNING AND INFORMATION (“MLI” or “the Publisher”) and anyone involved in the creation, writing, or production of the companion disc, accompanying algorithms, code, or computer programs (“the software”), and any accompanying Web site or software of the Work, cannot and do not warrant the performance or results that might be obtained by using the contents of the Work. The author, developers, and the Publisher have used their best efforts to ensure the accuracy and functionality of the textual material and/or programs contained in this package; we, however, make no warranty of any kind, express or implied, regarding the performance of these contents or programs. The Work is sold “as is” without warranty (except for defective materials used in manufacturing the book or due to faulty workmanship).
The author, developers, and the publisher of any accompanying content, and anyone involved in the composition, production, and manufacturing of this work will not be liable for damages of any kind arising out of the use of (or the inability to use) the algorithms, source code, computer programs, or textual material contained in this publication. This includes, but is not limited to, loss of revenue or profit, or other incidental, physical, or consequential damages arising out of the use of this Work.
The sole remedy in the event of a claim of any kind is expressly limited to replacement of the book and/or disc, and only at the discretion of the Publisher. The use of “implied warranty” and certain “exclusions” varies from state to state and might not apply to the purchaser of this product.
Companion files for this title are available by writing to the publisher at [email protected].
Coding with Bard
Oswald Campesato
MERCURY LEARNING AND INFORMATION
Boston, Massachusetts
Copyright ©2024 by MERCURY LEARNING AND INFORMATION.An Imprint of DeGruyter Inc. All rights reserved.
This publication, portions of it, or any accompanying software may not be reproduced in any way, stored in a retrieval system of any type, or transmitted by any means, media, electronic display or mechanical display, including, but not limited to, photocopy, recording, Internet postings, or scanning, without prior permission in writing from the publisher.
Publisher: David Pallai
MERCURY LEARNING AND INFORMATION
121 High Street, 3rd Floor
Boston, MA 02110
www.merclearning.com
800-232-0223
O. Campesato. Google® Gemini for Python: Coding with Bard.
ISBN: 978-1-50152-274-1
The publisher recognizes and respects all marks used by companies, manufacturers, and developers as a means to distinguish their products. All brand names and product names mentioned in this book are trademarks or service marks of their respective companies. Any omission or misuse (of any kind) of service marks or trademarks, etc. is not an attempt to infringe on the property of others.
Library of Congress Control Number: 2024930869
242526321 This book is printed on acid-free paper in the United States of America.
Our titles are available for adoption, license, or bulk purchase by institutions, corporations, etc. For additional information, please contact the Customer Service Dept. at 800-232-0223 (toll free).
All of our titles are available in digital format at academiccourseware.com and other digital vendors. Companion files (figures and code listings) for this title are available by contacting [email protected]. The sole obligation of MERCURY LEARNING AND INFORMATION to the purchaser is to replace the files, based on defective materials or faulty workmanship, but not based on the operation or functionality of the product.
I’d like to dedicate this book to my parents– may this bring joy and happiness into their lives.
Preface
Chapter 1: Introduction to Python 3
Tools for Python
easy_install and pip
virtualenv
IPython
Python Installation
Setting the PATH Environment Variable (Windows Only)
Launching Python on Your Machine
The Python Interactive Interpreter
Python Identifiers
Lines, Indentation, and Multilines
Quotation and Comments in Python
Saving Your Code in a Module
Some Standard Modules in Python
The help() and dir() Functions
Compile Time and Runtime Code Checking
Simple Data Types in Python
Working With Numbers
Working With Other Bases
The chr() Function
The round() Function in Python
Formatting Numbers in Python
Working With Fractions
Unicode and UTF-8
Working With Unicode
Working With Strings
Comparing Strings
Formatting Strings in Python
Slicing and Splicing Strings
Testing for Digits and Alphabetic Characters
Search and Replace a String in Other Strings
Remove Leading and Trailing Characters
Printing Text without NewLine Characters
Text Alignment
Working With Dates
Converting Strings to Dates
Exception Handling in Python
Handling User Input
Command-Line Arguments
Summary
Chapter 2: Conditional Logic, Loops, and Functions
Precedence of Operators in Python
Python Reserved Words
Working with Loops in Python
Python for Loops
A for Loop with try/except in Python
Numeric Exponents in Python
Nested Loops
The split() Function With for Loops
Using the split() Function to Compare Words
Using the split() Function to Print Justified Text
Using the split() Function to Print Fixed-Width Text
Using the split() Function to Compare Text Strings
Using the split() Function to Display Characters in a String
The join() Function
Python while Loops
Conditional Logic in Python
The break/continue/pass Statements
Comparison and Boolean Operators
The in/not in/is/is not Comparison Operators
The and, or, and not Boolean Operators
Local and Global Variables
Uninitialized Variables and the Value None
Scope of Variables
Pass by Reference Versus Value
Arguments and Parameters
Using a while loop to Find the Divisors of a Number
Using a while loop to Find Prime Numbers
User-Defined Functions in Python
Specifying Default Values in a Function
Returning Multiple Values From a Function
Functions With a Variable Number of Arguments
Lambda Expressions
Recursion
Calculating Factorial Values
Calculating Fibonacci Numbers
Calculating the GCD of Two Numbers
Calculating the LCM of Two Numbers
Summary
Chapter 3: Python Data Structures
Working with Lists
Lists and Basic Operations
Reversing and Sorting a List
Lists and Arithmetic Operations
Lists and Filter-Related Operations
Sorting Lists of Numbers and Strings
Expressions in Lists
Concatenating a List of Words
The Bubble Sort in Python
The Python range() Function
Counting Digits and Uppercase and Lowercase Letters
Arrays and the append() Function
Working with Lists and the split() Function
Counting Words in a List
Iterating Through Pairs of Lists
Other List-Related Functions
Using a List as a Stack and a Queue
Working with Vectors
Working with Matrices
The NumPy Library for Matrices
Queues
Tuples (Immutable Lists)
Sets
Dictionaries
Creating a Dictionary
Displaying the Contents of a Dictionary
Checking for Keys in a Dictionary
Deleting Keys from a Dictionary
Iterating Through a Dictionary
Interpolating Data from a Dictionary
Dictionary Functions and Methods
Dictionary Formatting
Ordered Dictionaries
Sorting Dictionaries
Python Multi Dictionaries
Other Sequence Types in Python
Mutable and Immutable Types in Python
The type() Function
Working with Bard
Counting Digits and Uppercase and Lowercase Letters
Bard Python Code for a Queue
Bard Python Code for a Stack
Summary
Chapter 4: Introduction to NumPy and Pandas
What is NumPy?
Useful NumPy Features
What are NumPy arrays?
Working with Loops
Appending Elements to Arrays (1)
Appending Elements to Arrays (2)
Multiply Lists and Arrays
Doubling the Elements in a List
Lists and Exponents
Arrays and Exponents
Math Operations and Arrays
Working with “-1” Subranges with Vectors
Working with “–1” Subranges with Arrays
Other Useful NumPy Methods
Arrays and Vector Operations
NumPy and Dot Products (1)
NumPy and Dot Products (2)
NumPy and the “Norm” of Vectors
NumPy and Other Operations
NumPy and the reshape() Method
Calculating the Mean and Standard Deviation
Calculating Quartiles With Numpy
What is Pandas?
Pandas Data Frames
DataFrames and Data Cleaning Tasks
A Labeled Pandas DataFrame
Pandas Numeric DataFrames
Pandas Boolean DataFrames
Transposing a Pandas DataFrame
Pandas DataFrames and Random Numbers
Combining Pandas DataFrames (1)
Combining Pandas DataFrames (2)
Data Manipulation with Pandas DataFrames (1)
Data Manipulation with Pandas DataFrames (2)
Data Manipulation with Pandas DataFrames (3)
Pandas DataFrames and CSV Files
Pandas DataFrames and Excel Spreadsheets
Select, Add, and Delete Columns in DataFrames
Pandas DataFrames and Scatterplots
Pandas DataFrames and Simple Statistics
Useful One-Line Commands in Pandas
Working with Bard
A Pandas DataFrame with Random Values
Pandas DataFrame and a Bar Chart
Pandas DataFrames and Statistics
Summary
Chapter 5: Generative AI, Bard, and Gemini
What is Generative AI?
Key Features of Generative AI
Popular Techniques in Generative AI
What Makes Generative AI Unique
Conversational AI Versus Generative AI
Primary Objective
Applications
Technologies Used
Training and Interaction
Evaluation
Data Requirements
Is Gemini Part of Generative AI?
DeepMind
DeepMind and Games
Player of Games (PoG)
OpenAI
Cohere
Hugging Face
Hugging Face Libraries
Hugging Face Model Hub
AI21
InflectionAI
Anthropic
What is Prompt Engineering?
Prompts and Completions
Types of Prompts
Instruction Prompts
Reverse Prompts
System Prompts Versus Agent Prompts
Prompt Templates
Poorly-Worded Prompts
What is Gemini?
Gemini Ultra Versus GPT-4
Gemini Strengths
Gemini’s Weaknesses
Gemini Nano on Mobile Devices
What is Bard?
Sample Queries and Responses from Bard
Alternatives to Bard
YouChat
Pi from Inflection
CoPilot (OpenAI/Microsoft)
Codex (OpenAI)
Apple GPT
Claude 2
Summary
Chapter 6: Bard and Python Code
CSV Files for Bard
Simple Web Scraping
Basic Chatbot
Basic Data Visualization
Basic Pandas
Generating Random Data
Recursion: Fibonacci Numbers
Generating a Python Class
Asynchronous Programming
Working with Requests in Python
Image Processing with PIL
Exception Handling
Generators in Python
Roll 7 or 11 with Two Dice
Roll 7 or 11 with Three Dice
Roll 7 or 11 with Four Dice
Mean and Standard Deviation
Summary
Index
This book starts with an introduction to fundamental aspects of Python programming, which include various data types, number formatting, Unicode and UTF-8 handling, and text manipulation techniques. In addition. you will learn about loops, conditional logic, and reserved words in Python. You will also see how to handle user input, manage exceptions, and work with command-line arguments.
Next, the text transitions to the realm of Generative AI, discussing its distinction from Conversational AI. Popular platforms and models, including Bard and its competitors, are presented to give readers an understanding of the current AI landscape. The book also sheds light on the capabilities of Bard, its strengths, weaknesses, and potential applications. In addition, you will learn how to generate a variety of Python 3 code samples via Bard.
In essence, this book provides a modest bridge between the worlds of Python programming and AI, aiming to equip readers with the knowledge and skills to navigate both domains confidently.
This book is intended primarily for people who want to learn both Python and how to use Bard with Python. This book is also intended to reach an international audience of readers with highly diverse backgrounds in various age groups. In addition, this book uses standard English rather than colloquial expressions that might be confusing to those readers. This book provides a comfortable and meaningful learning experience for the intended readers.
The answer depends on the extent to which you plan to become involved in working with Bard and Python, perhaps involving LLMs and generative AI. In general, it’s probably worthwhile to learn the more theoretical aspects of LLMs that are discussed in this book.
Although this book is introductory in nature, some knowledge of Python 3.x with certainly be helpful for the code samples. Knowledge of other programming languages (such as Java) can also be helpful because of the exposure to programming concepts and constructs.
This book contains basic code samples that are written in Python, and their primary purpose is to familiarize you with basic Python to help you understand the Python code generated via Bard. Moreover, clarity has higher priority than writing more compact code that is more difficult to understand (and possibly more prone to bugs). If you decide to use any of the code in this book, you ought to subject that code to the same rigorous analysis as the other parts of your code base.
All the code samples and figures in this book may be obtained by writing to the publisher at [email protected].
If you are primarily interested in machine learning, there are some subfields of machine learning, such as deep learning and reinforcement learning (and deep reinforcement learning) that might appeal to you. Fortunately, there are many resources available, and you can perform an Internet search for those resources. One other point: the aspects of machine learning for you to learn will depend on your career: the needs of a machine learning engineer, data scientist, manager, student, or software developer are all different.
Oswald Campesato
January 2024