오늘은 #14일이고 플라스크로 달려가기 전에 간단한 Python 프로젝트를 떠났던 곳으로 돌아왔습니다. ㅋㅋㅋ! 코딩은 흥미롭기도 하고 때로는 좌절스럽기도 합니다(또는 대부분의 경우...). 어쨌든, 당신은 경험을 통해 더 잘 알고 있습니다. 그래서 나는 내 것을 기록하는 것을 기쁘게 생각합니다. 그래서 오늘은 Python 모듈, 다형성, JSON, 수학, 날짜/시간, 범위 및 반복자를 배웠습니다. 뛰어들어 보세요.
Python의 모듈은 다양한 스크립트나 프로젝트에서 재사용할 수 있는 Python 코드(함수, 변수 또는 클래스)가 포함된 파일입니다. 모듈을 생성하면 코드 재사용이 촉진되어 프로젝트가 더욱 깔끔하고 모듈화됩니다.
모듈 생성 및 가져오기:
모듈은 단순히 .py 확장자로 저장된 Python 파일입니다. 한 모듈에서 함수, 변수, 클래스를 정의하고 이를 다른 모듈로 가져올 수 있습니다.
예: 모듈 생성 및 사용
# mymodule.py def greeting(name): print(f"Hello, {name}")
import mymodule mymodule.greeting("Jonathan") # Output: Hello, Jonathan
가져올 때 모듈에 별칭을 지정할 수도 있습니다.
import mymodule as mx mx.greeting("Jane") # Output: Hello, Jane
내장 모듈 사용:
Python에는 다양한 모듈이 내장되어 있습니다. 예를 들어 플랫폼 모듈을 사용하여 시스템 정보를 검색할 수 있습니다.
import platform print(platform.system()) # Output: The OS you're running (e.g., Windows, Linux, etc.)
JSON(JavaScript Object Notation)은 웹 애플리케이션에서 데이터를 전송하는 데 널리 사용됩니다. Python은 JSON을 구문 분석하고 생성하는 json 모듈을 제공합니다.
JSON 구문 분석:
json.loads()를 사용하여 JSON 문자열을 Python 사전으로 변환할 수 있습니다.
import json json_data = '{ "name": "John", "age": 30, "city": "New York" }' parsed_data = json.loads(json_data) print(parsed_data['age']) # Output: 30
Python 객체를 JSON으로 변환:
json.dumps()를 사용하여 Python 객체(예: dict, list, tuple)를 JSON 문자열로 변환할 수도 있습니다.
예:
import json python_obj = {"name": "John", "age": 30, "city": "New York"} json_string = json.dumps(python_obj) print(json_string) # Output: {"name": "John", "age": 30, "city": "New York"}
JSON 출력 형식 지정 및 사용자 정의:
indent 매개변수를 사용하면 JSON 문자열을 더 읽기 쉽게 만들 수 있습니다.
json_string = json.dumps(python_obj, indent=4) print(json_string)
이렇게 하면 올바른 형식의 JSON 문자열이 출력됩니다.
{ "name": "John", "age": 30, "city": "New York" }
Python은 다양한 수학 작업을 수행하기 위한 내장 함수와 수학 모듈을 모두 제공합니다.
기본 수학 함수:
min() 및 max(): iterable에서 최소값과 최대값을 찾으려면:
print(min(5, 10, 25)) # Output: 5 print(max(5, 10, 25)) # Output: 25
abs(): 숫자의 절대값을 반환합니다.
print(abs(-7.25)) # Output: 7.25
pow(): 숫자의 거듭제곱을 계산합니다.
print(pow(4, 3)) # Output: 64 (4 to the power of 3)
수학 모듈:
고급 수학 연산을 위해 수학 모듈은 광범위한 기능 세트를 제공합니다.
import math print(math.sqrt(64)) # Output: 8.0
print(math.ceil(1.4)) # Output: 2 print(math.floor(1.4)) # Output: 1
print(math.pi) # Output: 3.141592653589793
4. 날짜 작업: Python에서 시간 관리
Python의 datetime 모듈은 날짜와 시간을 관리하는 데 도움이 됩니다. 현재 날짜를 생성하거나, 특정 구성 요소(예: 연, 월, 일)를 추출하거나 날짜 개체를 조작할 수 있습니다.
현재 날짜 및 시간 가져오기:
datetime.now() 함수는 현재 날짜와 시간을 반환합니다.
import datetime current_time = datetime.datetime.now() print(current_time) # Output: 2024-09-06 05:15:51.590708 (example)
구체적인 날짜 설정:
datetime() 생성자를 사용하여 사용자 정의 날짜를 만들 수 있습니다.
custom_date = datetime.datetime(2020, 5, 17) print(custom_date) # Output: 2020-05-17 00:00:00
strftime()을 사용하여 날짜 형식 지정:
strftime()을 사용하여 날짜 객체의 형식을 문자열로 지정할 수 있습니다.
예:
formatted_date = custom_date.strftime("%B %d, %Y") print(formatted_date) # Output: May 17, 2020
다음은 strftime()에서 사용되는 몇 가지 일반적인 형식 코드 표입니다.
Directive | Description | Example |
---|---|---|
%a | Short weekday | Wed |
%A | Full weekday | Wednesday |
%b | Short month name | Dec |
%B | Full month name | December |
%Y | Year (full) | 2024 |
%H | Hour (24-hour format) | 17 |
%I | Hour (12-hour format) | 05 |
Polymorphism refers to the ability of different objects to be treated as instances of the same class through a common interface. It allows methods to do different things based on the object it is acting upon.
Method Overriding
In Python, polymorphism is often achieved through method overriding. A subclass can provide a specific implementation of a method that is already defined in its superclass.
Example:
class Animal: def make_sound(self): pass class Dog(Animal): def make_sound(self): return "Woof!" class Cat(Animal): def make_sound(self): return "Meow!" # Using polymorphism def animal_sound(animal): print(animal.make_sound()) dog = Dog() cat = Cat() animal_sound(dog) # Output: Woof! animal_sound(cat) # Output: Meow!
In the above example, animal_sound() can handle both Dog and Cat objects because they both implement the make_sound() method, demonstrating polymorphism.
Operator Overloading
Polymorphism also allows you to define how operators behave with user-defined classes by overloading them.
Example:
class Vector: def __init__(self, x, y): self.x = x self.y = y def __add__(self, other): return Vector(self.x + other.x, self.y + other.y) def __repr__(self): return f"Vector({self.x}, {self.y})" v1 = Vector(2, 3) v2 = Vector(4, 1) v3 = v1 + v2 print(v3) # Output: Vector(6, 4) Here, the + operator is overloaded to handle Vector objects, allowing us to add vectors using the + operator. 2. Iterators in Python An iterator is an object that allows you to traverse through a container, such as a list or tuple, and retrieve elements one by one. Python iterators implement two main methods: __iter__() and __next__(). Creating an Iterator You can create your own iterator by defining a class with __iter__() and __next__() methods. Example: python Copy code class CountDown: def __init__(self, start): self.start = start def __iter__(self): return self def __next__(self): if self.start <= 0: raise StopIteration current = self.start self.start -= 1 return current # Using the iterator cd = CountDown(5) for number in cd: print(number) # Output: 5, 4, 3, 2, 1
In this example, CountDown is an iterator that counts down from a starting number to 1.
Using Built-in Iterators
Python provides built-in iterators such as enumerate(), map(), and filter().
Example:
numbers = [1, 2, 3, 4, 5] squared = map(lambda x: x ** 2, numbers) for num in squared: print(num) # Output: 1, 4, 9, 16, 25
Here, map() applies a function to all items in the list and returns an iterator.
Scope determines the visibility of variables in different parts of the code. Python uses the LEGB rule to resolve names: Local, Enclosing, Global, and Built-in.
Local Scope
Variables created inside a function are local to that function.
Example:
def my_func(): x = 10 # Local variable print(x) my_func() # Output: 10
Here, x is accessible only within my_func().
Global Scope
Variables created outside any function are global and accessible from anywhere in the code.
Example:
Copy code x = 20 # Global variable def my_func(): print(x) my_func() print(x) # Output: 20, 20
Enclosing Scope
In nested functions, an inner function can access variables from its enclosing (outer) function.
Example:
def outer_func(): x = 30 def inner_func(): print(x) # Accessing variable from outer function inner_func() outer_func() # Output: 30
Global Keyword
To modify a global variable inside a function, use the global keyword.
Example:
x = 50 def my_func(): global x x = 60 my_func() print(x) # Output: 60
Nonlocal Keyword
The nonlocal keyword allows you to modify a variable in the nearest enclosing scope that is not global.
Example:
def outer_func(): x = 70 def inner_func(): nonlocal x x = 80 inner_func() print(x) outer_func() # Output: 80
In this example, nonlocal allows inner_func() to modify the x variable in outer_func().
Check out my #100daysofMiva repo on GitHub. Follow, Star and Share.
위 내용은 #daysofMiva의 날 || Python 모듈, JSON, 수학 및 날짜 마스터하기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!