Typy danych, cd. Łańcuchy znaków

Podobne dokumenty
Listy, krotki, słowniki, funkcje

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Język Python. Język Python 1/35

Algorytmy i struktury danych

Podstawy programowania. Python wykład 6

Algorytmy i struktury danych

Wykład 2 Składnia języka C# (cz. 1)

Języki i metody programowania

Podstawy bioinformatyki 2017/18

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Podstawy i języki programowania

Powtórka algorytmów. Wprowadzenie do języka Java.

Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python

Środowisko programisty

Obliczenia, zmienne. Proste działania, zmienne, rodzaje zmiennych, proste operacje i działania na zmiennych.

Tablice (jedno i wielowymiarowe), łańcuchy znaków

Język Python (2) Język Python (2) 1/36

Programowanie w języku Python. Grażyna Koba

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program.

Python. Wprowadzenie. Jolanta Bachan

Powtórka algorytmów. Wprowadzenie do języka Java.

Zaawansowane programowanie obiektowe - wykład 5

Java Podstawy. Michał Bereta

Podstawy JavaScript ćwiczenia

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Funkcje są prawdopodobnie najważniejszą częścią każdego poważnego programu (w każdym języku programowania).

1 P roste e t ypy p d a d n a ych c - c ąg ą g d a d l a szy 2 T y T py p z ł z o ł żo ż ne e d a d n a ych c : T BLICE

Algorytmy i struktury danych

Rys.2.1. Trzy warstwy stanowiące podstawę popularnego podejścia w zakresie budowy stron internetowych [2]

ZMIENNE. Podstawy PHP

2. Łańcuchy tekstowe w PHP

Biuletyn techniczny. Funkcje dodatkowe dla Clarion Report Writer CDN OPT!MA Copyright 2006 COMARCH S.A.

Nazwa implementacji: Nauka języka Python pętla for. Autor: Piotr Fiorek

Podstawy bioinformatyki 2017/18

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Python. Skąd taka nazwa? Kurs systemu UNIX 1

int tab[5]; tab[1]; ciągły obszar pamięci, w którym umieszczone są elementy tego samego typu macierz [ ] - dwuargumentowy operator indeksowania

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe

Python! Lekcja 1 podstawy języka, typy danych

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

Języki programowania obiektowego Nieobiektowe elementy języka C++

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Delphi Laboratorium 3

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel

Przykład 1: Funkcja jest obiektem, przypisanie funkcji o nazwie function() do zmiennej o nazwie funkcja1

Wskaźnik może wskazywać na jakąś zmienną, strukturę, tablicę a nawet funkcję. Oto podstawowe operatory niezbędne do operowania wskaźnikami:

Ćwiczenie nr 6. Poprawne deklaracje takich zmiennych tekstowych mogą wyglądać tak:

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Oczywiście plik musi mieć rozszerzenie *.php

Podstawy informatyki. Elektrotechnika I rok. Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

Oracle Application Express

Programista samouk : profesjonalny przewodnik do samodzielnej nauki kodowania / Cory Althoff. Gliwice, copyright Spis treści

1. Prawie wszystko jest obiektem (poza nullem i 'undefined'). 3. Dostęp do metod uzyskuje się analogicznie do właściwości:

VII. Ciągi znaków łańcuchy

Narzędzia informatyczne w językoznawstwie

Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop Spis treści

Podstawy i języki programowania

Test przykładowy 2 PAI WSB Wrocław /06/2018

1. Wprowadzenie do języka PHP

Programowanie w Ruby

Systemy operacyjne. Laboratorium 9. Perl wyrażenia regularne. Jarosław Rudy Politechnika Wrocławska 28 lutego 2017

Tablice. Jones Stygar na tropie zmiennych

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Lab 9 Podstawy Programowania

W dowolnym momencie można zmienić typ wskaźnika.

Aplikacje w środowisku Java

Smarty PHP. Leksykon kieszonkowy

9 Zakup [ Zakup ] Zakup

Podstawy bioinformatyki 2017/18

Zdarzenia Zdarzenia onload i onunload

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)

Spis treści. Funkcje. 1 Funkcje 1.1 Zadanie Zadanie Zadanie Zadanie Zadanie Zadanie Zadanie 7

Wykład nr 3. Temat: Wskaźniki i referencje. Edward Morgan Forster

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Autor: Joanna Karwowska

Programowanie w Ruby

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady

Serwer WWW Apache. Plik konfiguracyjny httpd.conf Definiujemy m.in.: Aktualne wersje 2.4.6, , zakończony projekt

TEMAT : KLASY DZIEDZICZENIE

Programowanie obiektowe Wykład 3. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21

Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz

Python dla początkujących. Małgorzata Niewiem AGH, GGiOŚ, Katedra Geoinformatyki i Informatyki Stosowanej SATIM Satelitarny Monitoring

Pracownia Komputerowa wykład VI

INFORMATYKA Studia Niestacjonarne Elektrotechnika

Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

Pliki. Informacje ogólne. Obsługa plików w języku C

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem

Programowanie robota mobilnego E-puck w języku Python

Informatyka I. Wykład 4. Tablice. Dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Transkrypt:

Typy danych, cd. Łańcuchy znaków Typ danych string, jest rozumiany jako łańcuch znaków - liter, cyfr i symboli. Stringi definiuje się w podwójnych lub pojedyńczych cudzysłowach. typ_ kawy = " latte " typ_herbaty = zielona cena = " 10. 99" Są pewne znaki, które użyte w stringach sprawiają kłopoty. sentence = There s a snake in my boot! W powyższym wypadku Python uważa, że po There string doszedł do końca. Ten problem można rozwiązać na dwa sposoby. Albo użyć backslash przed pojedyńczym cudzysłowem wewnątrz stringa, sentence = There \ s a snake in my boot! albo użyć podwójnych cudzysłowów. sentence = " There s a snake in my boot!" Indeksacja Każdy znak w stringu ma przyporządkowany numer, tzw. indeks. W pythonie, podobnie jak w C indeksy zaczynamy liczyć od 0. W poniższym przykładzie do zmiennej p zostanie przypisana pierwsza litera słowa "pingwin", analogicznie w drugim do zmiennej i przypisana zostanie piąta litera słowa "burrito". p = " pingwin "[0] i = " burrito "[4] Poza prostym indeksowaniem zgodnie z pozycją stringi obsługują również bardziej ogólną formę indeksowania znaną jako wycinki (ang. slice). Polega ona na ekstrakcji całej części (wycinka) za jednym razem, np.: a = " Mielonka " print a [1:2] # Wyswietli znaki od pozycji 1 do 2 ie 1

W wycinku lewą domyślną granicą jest zero, prawą natomiast długość sekwencji, z której następuje wycinanie. print a [1:] ielonka print a [0:7] print a [:7] print a[: -1] # Wszystkie elementy bez ostatniego w latwiejszej postaci print a [:] # Calosc Mielonka Wynik zwracany jest w nowym obiekcie, bez zapisania zmian w pierwotnym stringu. W Pythonie wszystko jest obiektem. Co za tym idzie, podstawowe typy danych mają charakter obiektowy i posiadają wbudowane metody. Do działania na stringach można użyć zatem: len() - określa długość stringa lower() - zamienia wszystkie wielkie litery na małe upper() - zamienia wszystkie małe litery na wielkie str() - konwertuje zmienną na stringa imie = "Marlenka" waga = "342.24" #gram imie.lower() imie.upper() len(imie) str(waga) lub bez przypisania do zmiennej: "Marlenka".lower() Dlaczego niektóre metody wywoływane są w notacji kropkowej - jak string.funkcja(), a niektóre, jak len(imie) inaczej? 2

W tym wypadku funkcje wywoływane metodą kropkową - lower() i upper() działają tylko dla stringów, natomiast len() i str() również dla innych typów danych. Konkatenacja, czyli łączenie stringów print " Mielonka " + " i " + " jajka " Do łączenia stringów używamy operatora dodawania. W przypadku konkatenacji stringów z nie-stringami pomocna okazuje się funkcja konwersji str(), którą można zastosować bezpośrednio przy operacji łączenia, np.: print " Mam " + str (2) + " orzechy " + " kokosowe!" Przy wyświetlaniu stringów i zmiennych niekoniecznie trzeba używać operacji konkatenacji. W tym wypadku lepiej użyć operatora %. word_1 = " ZOO " word_2 = " place " print " Let s escape from this %s, it s such a stupid %s!" % (word_1, word2 ) Chcąc pobrać wartość zmiennej od użytkownika i wykorzystać ją przy wyświetleniu można zastosować następujący kod: name = raw_ input (" What is your name? ") print "Ah, so your name is %s" % ( name ) Niezmienność Żadna z dotychczas wykonywanych operacji nie zmieniła oryginalnego łańcucha znaków. Dzieje się tak dlatego, że operacje te działają w taki sposób, by w rezultacie zwrócić nowy łańcuch znaków, ponieważ łańcuchy są w Pythonie niezmienne. Nie mogą być zmienione już po utworzeniu. Można jednak zawsze stworzyć nowy łańcuch znaków i przypisać go do tej samej nazwy (zmiennej). >>>a Mielonka >>>a [0] = z (...) TypeError : str object does not support item assignment >>>a = z + a [1:] >>>a zielonka Każdy obiekt Pythona klasyfikowany jest jako zmienny (niemodyfikowalny) lub zmienny (modyfikowalny). Wśród typów podstawowych niezmienne są liczby, łańcuchy znaków oraz krotki. Listy i słowniki można dowolnie 3

modyfikować. Niezmienność gwarantuje, że obiekt pozostanie stały w czasie całego cyklu działania programu. Introspekcja jest mechanizmem pozwalającym postrzegać funkcje i moduły znajdujące się w pamięci jako obiekty, a także pobierać o nich informacje, np. określać typ obiektu, budowę klasy obiektu. Ćwiczenia Wykonaj zadania zapisując każde z nich osobno w pliku.py. Zadbaj, żeby były możliwe do sprawdzenia. 1. Utwórz stringa o dowolnej nazwie przypisując do niego zdanie There s no light here! w pojedyńczych cudzysłowach. Popraw błąd, który się pojawił. 2. Zdefiniuj trzy stringi, pierwszy będący wybranyn przedmiotem, drugi przymiotnikiem go opisującym, a trzeci ceną. Dokonaj konkatenacji korzystając z operatora + wg wzoru: To jest..., kosztowal... i jest bardzo.... Następnie korzystając z tego samego wzoru wyświetl utworzone zmienne używając operatora %. 3. Utwórz stringa z imieniem wymyślonego zwierzątka. Następnie utwórz zmienną podając jego wysokość w formacie zmiennoprzecinkowym. Korzystając z wbudowanych metod wyświetl: a. imię zwierzątka bez wielkich liter, b. imię wielkimi literami, c. ilość znaków jego imienia, d. wypisz zdanie przedstawiając swoje zwierzątko podając informację ile ma wzrostu, stosując konwersję zmiennej. 4. Utwórz zmienną o dowolnej nazwie i pobierz jej wartość od użytkownika. Następnie wyświetl ją w pełnym zdaniu. 5. Stwórz string o dowolnej nazwie przypisując mu dowolny lecz niepusty ciąg znaków. Bez nadpisania całego stringa wstaw na pierwsze miejsce (o indeksie 0) pierwszą literę swojego imienia, lub następną w alfabecie, jeśli jakimś trafem okażą się te same). Wytłumacz co się stało. Zaproponuj rozwiązanie problemu. 6. Znajdź dwie inne metody operujące na stringach i napisz dowolny mały program, który je wykorzystuje. 4

Źródła M. Lutz, Python - wprowadzenie, Helion, 2011 https://www.learnpython.org/ https://www.codecademy.com/courses/learn-python https://pl.wikipedia.org/wiki/python/ 5