[초보자를 향해] 자바골드가 해설한 파이톤의 베이스 2
개요
파이썬의 기초 콘텐츠를 계속 공유할 수 있기를 바랍니다!
안 보신 분들은 일단 1부^^
의사 일정
if문
for 문
함수
예외 처리
pass 문
역할 영역
종류
벽장
매개 변수
끝나다
if문
자바의 switch~case 문장은 존재하지 않지만 "in"이라는 키워드를 사용하면 같은 실현을 할 수 있습니다.'elif'는'else if'의 생략입니다.
if문
val1 = 1
val2 = 2
if val1 == val2:
print('test1')
elif val1 > val2:
print('test2')
else:
print('test3') # test3
· "in"키워드를 사용한 switch 문장 쓰기
val3 = 3
if val3 == 1:
print('test1')
elif val3 in(2,3):
print('test2') # test2
elif val3 in(3,4):
print('test3')
else:
print('test4')
for 문장
for문은 Java의 foreach문과 같다.range 함수와 많이 조합해서 사용합니다.
for 문장과range 함수
for i in range(3):
print(i) # 0、1、2と順に表示
・for 문장과 문자열 (목록과 사전 등을 사용할 수도 있음)
for c in 'test':
print(c) # t, e, s, tと順に表示
겸사겸사 말씀드리지만...파이톤에while 문장이 있지만 do-while 문장은 존재하지 않습니다.
함수.
함수의 정의는 "def"를 사용합니다.※매개변수는 모두 참조로 전달됩니다.물품 인도 가격.
def fnc(a, b=1): # bはデフォルト値付きの引数
return a + b # 戻り値
# 関数呼び出し
print(fnc(10)) # 11
・함수를 호출할 때 매개변수 이름을 지정하여 정의 순서를 무시할 수 있습니다.
def fnc(a, b, c):
print(a, b, c)
# 関数呼び出し
fnc(c=3, a=1, b=2)# 1 2 3
■ 함수와 방법의 차이거의 같은 물건이라고 볼 수 있어요!
함수: 특정한 종류에 속박될 수 없는 것.모듈에서def로 정의했습니다.
클래스 내 실례화 이전 def에서 정의한 것은 함수입니다.
쓰기:함수(매개변수)
방법: 특정 클래스(또는 이 클래스의 실례) 전용입니다.클래스 내에서 def로 정의된 것들클래스를 실례화한 후에 함수는 방법이 된다.
쓰기:값.방법(매개변수)
예를 들어 렌 ('문자열') 은 '문자열' 길이를 얻는 함수이고, '문자열' 은 '문자열' 이다.split () 는 공백 문자로 문자를 분할하는 방법 (대상. 함수) 입니다.
기본적으로 방법의 경우 많은 대상이 고유하게 처리한다.
예를 들면 문자열입니다.split 또는 문자열.startswith 등.이것은 문자열 특유의 것이다.
그러나len은 문자열과 목록에 사용할 수 있습니다.len(문자열) len([0,1,2]).이런 상황에서 파이톤은 함수로 준비한다.
・ Python의 함수(객체)와 객체함수 ()의 차이는 무엇입니까?
섹션 1
※ 함수의 모든 매개 변수는 인용되지만, 전달 대상의 유형(mutable형과immutable형)에 따라 동작이 달라집니다!
변경할 수 있는 유형에서 원값이 변경됩니다.다른 한편, 변경할 수 없는 (immutable) 형식에서는 원시 값이 변경되지 않습니다.
변경할 수 없는 (immutable) 유형의 대상을 건네주었을 때 값을 건네준다.
■ 변경할 수 없는 유형
/int,flat,commplex 등 수치형
• 문자열(string)
· 원조형 (tuple)
・bytes
· Frozen Set형
■변경가능형(mutable)
· 열 표형 (list)
바이트 정렬 (bytearay)
・집합형(set)
・사 전형(dictionary)
예외 처리
"try~except~else~finally"의 문법으로 처리됩니다.
except는 자바에서 말한catch문에서'이상이 발생했을 때 실행된 문장입니다.else는 except에서 보충되지 않은 처리를 기술합니다.
try:
x = 10 / 0
except Exception as e:
print(e) # division by zero
# 例外が発生しなかった場合に行う処理
else:
print('test1')
# 例外発生有無に関係なく必ず走る処理
finally:
print('test2')# test2
· 예외를 명확히 하기 위해'raise'를 사용한다.(Java에서는 throw 문)try:
raise Exception('test3')
except Exception as e:
print(e) # test3
pass문
"아무것도 하지 않는다"는 것을 명확하게 나타내는 문법.Java가 없습니다.
예를 들어 다음과 같은 때에 사용한다.
• 조건이 불일치할 때 아무것도 집행하지 않는다
• 예외 발생 시 아무것도 하지 않음
함수 또는 클래스의 설치가 명확하지 않음
# 偶数のみ出力
for i in range(10):
if(i % 2) == 0:
print(i)
else:
pass
역할 영역
작용역의 종류는 다음과 같은 네 가지가 있다.헤더 문자를 LEGB라고 합니다.
① 로컬 도메인(Local scope)
- 함수에만 해당합니다.로컬 역할 영역에서 내부 역할 영역이나 모듈 역할 영역의 변수나 함수를 참조할 수 있지만 값을 대입(덮어쓰기) 변수에 대입할 수 없습니다.
② 셸
→함수에서 함수를 정의했는데 이런 상황에서 처음으로 의식한 작용역은 극단적으로 함수 외부의 로컬 작용역이다.
③ 글로벌 범위(글로벌 범위)
- 전체 모듈(파일)의 전체
④ 내부 역할 영역(Built-in scope)
→ 포함 변수(None) 또는 포함 함수(print 함수) 범위 내에서 어디서나 참조할 수 있습니다.
오실로그래프에 대한 상세한 정보.참고로 하다.
상세한 기록이 있으니 시간이 있는 사람은 보십시오.
카테고리
구조기아니면'new'.첫 번째 매개 변수는'self'를 정의해야 합니다.self는 관례입니다.this나 좋아하는 이름을 지을 수도 있습니다.
self는 자신의 실례를 나타내는 대상이다.인스턴스의 매개변수 이름을 적용합니다.
Name.class
class Name:
# クラス変数
LANG = 'JP'
# コンストラクタ
def __init__(self):
self.name = ''
# getter
def getName(self):
return self.name
# setter
def setName(self, name):
self.name = name
taro = Name()
taro.setName('イチロー')
print(taro.getName()) # イチロー
print(Member.LANG) # JP
옷장
함수의 로컬 변수입니다.
함수 호출이 끝나도 로컬 변수를 계속 참조합니다.
Javascript의 벽장과 대체로 같다.
옷장에 대한 상세한 상황.에 기재되어 있다.
매개 변수
매개 변수의 종류는 다음과 같은 네 가지가 있다.
①일반 매개 변수
② 기본값이 있는 매개변수
→ 함수 호출 시 생략된 상태에서 기본값의 매개 변수를 정의합니다.
#②デフォルト値付きの引数
def fnc(a, b = 1):
return a + b # 戻り値
③가변 길이 매개변수→ 하나 이상의 값을 적용하는 매개변수입니다.매개변수 이름 앞에 별표(*)를 붙이면 이 매개변수가 됩니다.함수 측면에서 수신된 가변 길이 매개 변수를 원조로 처리합니다.
#③可変長の引数
def fnc(a, b, *args):
print(a, b, args)
fnc('a','b','c','d','e') # a b ('c','d','e')
④ 키워드가 있는 가변 길이 매개변수→ 매개변수를 지정할 때 키워드를 첨부해야 하는 가변 길이 매개변수입니다.
매개변수 이름 앞에 별표(*)를 두 개 더하면 이 매개변수가 됩니다.또한 함수 측면에서 수신된 가변 길이 매개 변수는 정의할 때 이름을 가진 사전형 데이터로 처리됩니다.
#④キーワード付きの可変長の引数
def fnc(a, b, **args):
print(a, b, args)
fnc('a','b',arg1 = 'c',arg2 = 'd',arg3 = 'e')# a b {'arg1': 'c', 'arg3': 'e', 'arg2': 'd'}
#fnc('a','b','c','d','e') ←キーワード指定しないとエラーになる
끝맺다
부분 1&2는 대략적인 파이톤의 기초를 설명한다.
파이톤은 WEB 프레임워크와 머신러닝 라이브러리가 많은데 이 기초를 결합하면 하고 싶은 일을 할 수 있다?마땅히!!
파이톤을 사용하는 웹API를 지금부터 만들고 싶어요.
참고 문헌
・ Python의 함수(객체)와 객체함수 ()의 차이는 무엇입니까?
http://blog.pyq.jp/entry/2017/09/14/100000
・파이썬의 역할 영역
여기 기사.
・[Python] 클론(함수 닫기)은
여기 기사.
・ 파이톤에서의 값 교부 및 참조 교부
http://blog.pyq.jp/entry/2017/09/14/100000
・AmadaShirou.Programming Keikenya NO Tameno Pytohon Saisoku Nyumon(Japanese Edition) Kindle 버전
Reference
이 문제에 관하여([초보자를 향해] 자바골드가 해설한 파이톤의 베이스 2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/UpAllNight/items/1b25dd008cd0755e934a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)