python expected an indented block error

 

파이썬 코드 작성 시 흔히 보이는 에러이다.

 

에러 line 34를 보면 if문인데 들여쓰기가 없다.

 

python if문을 쓸때에는 다음과 같이 들여쓰기로 코드를 구분해야한다.

# Python
if 조건문1:
	명령문1
elif 조건문2:
	명령문2
else:
	명령문3

** IndentationError: expected an indented block 에러는 들여쓰기를 잘해주면 해결이 된다.

 

 

'개발일지 > Python' 카테고리의 다른 글

[Python] 문자열에서 특정 문자 찾기  (0) 2020.08.04
python 버전 upgrade  (0) 2020.05.27
[Python] 리스트 초기화  (0) 2020.05.25
[Python] 소켓통신 (server, client)  (0) 2020.05.22
[Python] 파이썬 백그라운드 실행  (0) 2020.04.29

1. in

host = "chichi-story.tistory.com"
search = "story"
if search in host:
  print("Okay")
else:
  print("None")

 

위 예제에서는 변수 host에서 해당 문자 search가 존재하는지 확인한 후 해당하는 메시지를 출력합니다.

실제 동일한 텍스트가 존재하므로 "Okay"가 출력될 것입니다.

 

2. find()

find()를 사용하면 존재 여부에 따라 해당하는 위치값 반환

str = "abcdefghijklmn"
search = "e"

indexNo = str.find(search)
print indexNo


# 결과값 : 4

이제 위의 코드의 실행하면 다음과 같이 해당하는 위치값을 나타나게됩니다. 시작점부터 0을 기준으로 합니다.

값이 존재하지 않으면 "-1"을 반환

str = "abcdef"
search = "t"

result = str.find(search)

if result == -1:
  print "None"

 

▶ id로 name/class 가져오기

var id_name = $('#id').attr('name');    // id로 name값 가져오기

var class_name = $('#id').attr('class');   // id로 class값 가져오기

 

 class로 name/id 가져오기

var class_name = $('.class').attr('name');  // class로 name값 가져오기

var class_id = $('.class').attr('id');  // class로 id값 가져오기

 

 name으로 id/class 가져오기

var name_id = $('[name="name"]').attr('id');  // name으로 id값 가져오기

var name_class = $('[name="name"]').attr('class');  // name으로 class값 가져오기

MyBatis mapper 설정시 resultMap과 resultType값을 잘못 설정하게 되면

java.lang.IllegalArgumentException: Result Maps collection does not contain value for xxx 와 비슷한 에러가 발생

<select id="preView" parameterType="java.lang.String" resultMap="java.util.HashMap">
  select content from board where seq = #{seq}";
</select>

==> resultMap 을 resultType 으로

<select id="preView" parameterType="java.lang.String" resultType="java.util.HashMap">
  select content from board where seq = #{seq}";
 </select>

 

 

Mybatis mapper resultType HashMap

 

1. mapper resultType을 HashMap으로 설정

<select id="siteState" resultType="java.util.HashMap">    
	SELECT * FROM tableName
</select>

 

2. Controller 설정

HashMap<String, Object> map = admin_service.siteState();
System.out.println(map);

- Console로 확인

Table paging (bootstrap)

1. html

<!-- paging -->
<nav aria-label="Page navigation example">
	<ul class="pagination pagination-seperated "></ul>
</nav>

- 원하는 위치에 nav 삽입

 

2. js

function pagination() {
	var req_num_row = 10;  //화면에 표시할 목록 개수
	var $tr = jQuery('.paging');  // paging 대상 class 명
	var total_num_row = $tr.length;
	var num_pages = 0;
	if (total_num_row % req_num_row == 0) {
		num_pages = total_num_row / req_num_row;
	}
	if (total_num_row % req_num_row >= 1) {
		num_pages = total_num_row / req_num_row;
		num_pages++;
		num_pages = Math.floor(num_pages++);
	}

	jQuery('.pagination').append('<li class="page-item">'
					+ '<a class="page-link" href="#" aria-label="Previous">'
					+ '<span aria-hidden="true" class="mdi mdi-chevron-left"></span>'
					+ '<span class="sr-only">Previous</span></a></li>');

	for (var i = 1; i <= num_pages; i++) {
		jQuery('.pagination').append('<li class="page-item "><a class="page-link" href="#">' + i + '</a></li>');
		jQuery('.pagination li:nth-child(2)').addClass("active");
		jQuery('.pagination a').addClass("pagination-link");
	}

	jQuery('.pagination').append('<li class="page-item">'
					+ '<a class="page-link" href="#" aria-label="Next">'
					+ '<span aria-hidden="true" class="mdi mdi-chevron-right"></span>'
					+ '<span class="sr-only">Next</span></a></li>');

	$tr.each(function(i) {
		jQuery(this).hide();
		if (i + 1 <= req_num_row) {
			$tr.eq(i).show();
		}
	});

	jQuery('.pagination a').click('.pagination-link', function(e) {
		e.preventDefault();
		$tr.hide();
		var page = jQuery(this).text();
		var temp = page - 1;
		var start = temp * req_num_row;
		var current_link = temp;

		jQuery('.pagination li').removeClass("active");
		jQuery(this).parent().addClass("active");

		for (var i = 0; i < req_num_row; i++) {
			$tr.eq(start + i).show();
		}

		if (temp >= 1) {
			jQuery('.pagination li:first-child').removeClass("disabled");
		} else {
			jQuery('.pagination li:first-child').addClass("disabled");
		}

	});

	jQuery('.prev').click(function(e) {
		e.preventDefault();
		jQuery('.pagination li:first-child').removeClass("active");
	});

	jQuery('.next').click(function(e) {
		e.preventDefault();
		jQuery('.pagination li:last-child').removeClass("active");
	});

}

jQuery('document').ready(function() {
	pagination();

	jQuery('.pagination li:first-child').addClass("disabled");

});

- paging 대상 : jQuery('tbody tr'); 로 대체하면 paging대상이 tbody tr이 됨. (대체적으로 이렇게 사용)

 

3.  결과 이미지

python version upgrade

2.7에서 3.5로 버전 UP

- 현재 python 버전 확인

$ python –V 
Python 2.7.12

 

 

- python  위치 확인

$ which python 
/usr/bin/python

 

- 어떤 파일을 가리키는지 확인

$ ls –al /usr/bin/python 
lrwxrwxrwx 1 root root 9 4월 14 14:40 /usr/bin/python -> python2.7

 

- python 실행 파일 목록 확인

$ ls /usr/bin/ | grep python 
dh_python2
dh_python3
python
python-config
python2
python2-config
python2-pbr
python2.7
python2.7-config
python3
python3.5
python3.5m
python3m
x86_64-linux-gnu-python-config
x86_64-linux-gnu-python2.7-config

 

- python 옵션 변경

$ sudo update-alternatives —config python
update-alternatives: 오류: no alternatives for python //--등록된 버전이 없음을 의미

 

- 실행파일을 등록

 

$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
update-alternatives: using /usr/bin/python2.7 to provide /usr/bin/python (python) in auto mode
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.5 2
update-alternatives: using /usr/bin/python3.5 to provide /usr/bin/python (python) in auto mode

$ sudo update-alternatives --config python
대체 항목 python에 대해 (/usr/bin/python 제공) 2개 선택이 있습니다.


선택 경로 우선순위 상태

------------------------------------------------------------

* 0 /usr/bin/python3.5 2 자동 모드

1 /usr/bin/python2.7 1 수동 모드

2 /usr/bin/python3.5 2 수동 모드


Press <enter> to keep the current choice[*], or type selection number: 2

 

 

- 변경 완료된 python 버전 확인

$ python -V
Python 3.5.2

python list 초기화

1. list data만 삭제 (list를 비어있는채로 만들때)

list = [1,2,3,4,5]
del list[:]

2. list 자체를 메모리에서 삭제

del list

'개발일지 > Python' 카테고리의 다른 글

[Python] 문자열에서 특정 문자 찾기  (0) 2020.08.04
python 버전 upgrade  (0) 2020.05.27
[Python] 소켓통신 (server, client)  (0) 2020.05.22
[Python] 파이썬 백그라운드 실행  (0) 2020.04.29
[Python] MQTT 사용  (0) 2020.04.07

+ Recent posts