0511

망지·2022년 5월 11일
0
post-custom-banner

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급 시민, 1급 객체(1st-class citizen , 1st- class-object)

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

profile
꾸준히, 차근차근
post-custom-banner

0개의 댓글