본문 바로가기

syntax26

Flutter 플러터에서 왜 stateful 위젯은 두 개의 클래스로 정의되는 건가요?, Why are stateful widgets defined as two classes in flutter? 질문 나는 플러터/다트에 새로 왔으므로 앱을 만들려고 노력하는 동안 왜 일부 사항들이 특정한지 이해하려고 노력합니다. 플러터 문서에는 다음과 같이 상태를 가지는 위젯의 예제 코드가 있습니다: class YellowBird extends StatefulWidget { const YellowBird({ Key key }) : super(key: key); @override _YellowBirdState createState() => new _YellowBirdState(); } class _YellowBirdState extends State { @override Widget build(BuildContext context) { return new Container(color: const Color(0xFF.. 2023. 12. 18.
Python 제너레이터나 리스트에서 처음 N개의 항목을 가져오는 방법은 무엇인가요? [중복됨], How to take the first N items from a generator or list? [duplicate] 질문 linq을 사용하면 var top5 = array.Take(5); 파이썬으로 이것을 어떻게 할 수 있을까요? 답변 리스트 슬라이싱 top5 = array[:5] 리스트를 슬라이싱하기 위해 간단한 구문이 있습니다: array[start:stop:step] 어떤 매개변수도 생략할 수 있습니다. 다음은 모두 유효합니다: array[start:], array[:stop], array[::step] 제너레이터 슬라이싱 import itertools top5 = itertools.islice(my_list, 5) # 첫 다섯 개의 요소 가져오기 파이썬에서는 직접적으로 제너레이터를 슬라이싱할 수 없습니다. itertools.islice()는 객체를 새로운 슬라이싱 제너레이터로 감싸주며 다음과 같은 구문을 사용합.. 2023. 12. 4.
Python 파이썬에서 추상 클래스를 만들 수 있을까요?, Is it possible to make abstract classes in Python? 질문 파이썬에서 클래스나 메소드를 추상화하는 방법은 무엇인가요? 다음과 같이 __new__()를 재정의해 보았습니다: class F: def __new__(cls): raise Exception("추상 클래스 %s의 인스턴스를 생성할 수 없습니다" %cls) 하지만, 이제 F를 상속받는 G 클래스를 다음과 같이 만들면: class G(F): pass G를 인스턴스화할 수 없습니다. 왜냐하면 G는 슈퍼 클래스의 __new__ 메소드를 호출하기 때문입니다. 추상 클래스를 정의하는 더 좋은 방법이 있을까요? 답변 추상 클래스를 만들기 위해 abc 모듈을 사용하세요. 메서드를 추상으로 선언하기 위해 abstractmethod 데코레이터를 사용하고, 파이썬 버전에 따라 세 가지 방법 중 하나를 사용하여 클래스를 .. 2023. 11. 16.
Python jinja2 템플릿에서 리스트의 길이를 가져옵니다., Get lengths of a list in a jinja2 template 질문 jinj2 템플릿에서 리스트의 요소 수를 어떻게 얻을 수 있을까요? 예를 들어, Python에서는 다음과 같이 할 수 있습니다: print(template.render(products=[???])) 그리고 jinja2에서는 다음과 같습니다. You have {{what goes here?}} products 답변 당신은 {{products|length}}개의 제품을 가지고 있습니다. 또한 다음과 같은 문법을 사용할 수도 있습니다. {% if products|length > 1 %} jinja2의 내장 필터는 여기에 문서화되어 있으며, 특히 이미 찾은 것처럼 length (그리고 그 동의어인 count)는 다음과 같이 문서화되어 있습니다: 시퀀스나 매핑의 항목 수를 반환합니다. 그러므로, 템플릿에서 .. 2023. 11. 14.