python 반복문
enumerate - 색인값을 해준다.
enumerate 사용시
리스트에서 ['a', 'b', 'c']라면,
(0, 'a'), (1,'b') (2,'c')이런식.
->튜플로 넘겨줌.
for문 사용 할 때 각각 받아올 수 있음.
for index,name in enumerate(name_list) :
print("index=", index)
print("이름=",name)
=> index = 0 , 이름 = a
=> unpacking
=> 앞에 있는게 index(순서)가져오고, 뒤에있는게 값(name)가져옴.
한번에 받아올 때는 index,name부분에 하나 (ex.item)만 넣어주면 됨.
for item in enumerate(name_list)
둘 중에 하나만 받아오고 싶을 때는
for index, _ in enumerate(name_list) :
이렇게 언더바 사용.(name)안받아오겠다.
list(range(3))
->[0, 1, 2]
zip()내장 함수
zip
print (list(zip(name_list,age_list))
-> 튜플로 정보가 출력됨.
[('a',20),('b',30),('c',40)]이런식.
리스트 내포
-for문을 이용하여 리스트 생성하는 방법
-cf. 사전 내포 (dictionary comprehension)
-반복문 내에서 리스트에 원소를 추가하는 방법보다 훨씬빠름
=> 많이 쓰이기 때문에 꼭 알고있기!
values = [8, 23, -2, 7, 11]
result = list()
for value in values:
if value %2 == 0:
result.append(value)
result = tuple(result)
print(result)
names =["홍길동", "장다인", "김철수"]
ages = [500, 5, 12]
result=dict[i for i in names : k for k in ages]
=>내가 처음에 만든 것 ; 오류
# 사전 내포01
names =["홍길동", "장다인", "김철수"]
ages = [500, 5, 12]
person = {}
for key,value in zip(names,ages):
person[key] = value
print(person)
# 사전 내포02
person = {k:v for k,v in zip(names,ages)}
print(person)
복합대입연산자
; 이항연산자 + 대입연산자
a = 10
a = a + 1
print(a)
a += 1
print(a)
result = []
for value in range(10):
if value % 2 == 1:
continue
result.append(value)
print(result)
continue; 다음 순번 실행 안하고 루프시키는 !!!
에러 발생하지 않으면 except실행되지 않음
파이썬 함수의 특징;
1급 객체 :변수에 저장되고, 함수의 인자로 사용, 함수로부터 반환 가능한 객체
파라미터(매개변수)는 함수의 지역변수(로컬변수)
로컬 변수 : 코드 블록 내에서 선언(생성)되고 블록이 종료되면 사라짐
cf)글로벌변수
변수는 스코프 : 변수의 생애주기
def funcAdd(a,b):
return a+ b +g #로컬 변수
a= 1 #글로벌 변수
g = 100 #글로벌변수
c= funcAdd(1,a)
아규먼트(인자)는 넘겨주는
매개변수는 함수와 그 밖을 연결해주는
파라미터는 변수만 될 수 있고 아규먼트는 숫자도 될 수 있꼬.
아규먼트로 넘겨준게 파라미터로 쓰이니까 혼용해서 쓰이기도 함.
파이썬 식별자
변수,함수,메서드 : snale_case
클래스:PascalCase
상수:SNALE_CASE
변수, 클래스 : 명사형 위주
함수, 메서드 : 동사
인자/인수(argument)
1)위치 인자 (positional args.)
2)키워드 인자 (keyword afgs.)
-default 값
object = instance같은 의미
클래스로부터 일너 객체를 만ㄷ는 과정을 인스턴스화.라고 한다.
object method 용어는 안쓰고 instance mathod 라고.
instance method vs class method
special method : 밑줄 두개로 메써드 이름을 감싼다.
ex)__init__
마우스 대보면 [a,b]이렇게 되어있음 그러면 경계값표함.
1~100 랜덤임 .(1,100)이면 1~99임.
랜덤연습
print(random.random())
print(random.uniform(3,150))
print(random.choice('ilovemj'))
random.randint(3,100)
random.randrange(3,100)
=>randint ; 100포함
=>randrange ; 100포함하지 않음. range랑 같은 느낌.
file:///C:/Users/r2com/Desktop/share/conda-cheatsheet.pdf
C:\Users\r2com>conda update conda
C:\Users\r2com>conda create --name forty python=3.10
C:\Users\r2com>conda env list
# conda environments:
#
base * C:\ProgramData\Anaconda3
forty C:\ProgramData\Anaconda3\envs\forty
C:\Users\r2com>conda activate forty
(forty) C:\Users\r2com>python --version
Python 3.10.4
conda install -n forty ipykernel --update-deps --force-reinstall
파이썬 문제들!! 코테 대비 ㅠㅠㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
https://codeup.kr/problemsetsol.php?psid=33