2019
[과소사] 2.2 Basic math
20192019. 4. 16. 23:21숫자 자료형
int (정수)
float (실수)
complex (복소수)
사친연산 연산자
+ 덧셈
- 뺄셈
* 곱하기
/ 나누기
** 제곱
// 몫
% 나머지
비트연산자
-비트 논리 연산자
& 비트 논리 곱 (같으면 1 다르면 0)
| 비트 논리 합 (하나라도 1이면1 아니면 0)
^ 비트 xor (다르면 1 같으면 0)
~ 비트 논리 부정 (0 -> 1 , 1-> 0
a = 23 = 0b10111
b = 5 = 0b101 = 0b00101 =
a & b = 0b00101 = 5
a | b = 0b10111 = 23
a ^ b = 0b10010 = 18
if(a&1): <<< 홀수일때
비트 쉬프트
a << b 하면 a를 b만큼 왼쪽으로 이동 ( 2^b 곱하는거랑 같음)
a >> b 하면 a를 b만큼 오른쪽으로 이동 (2
ex ) 12 << 2 = 0b00001100 << 2 = 0b00110000 = 32 + 16 = 48 = 12 * 2^2
ex ) 23 >> 2 = 0b00010111 >> 2 = 0b00000101 = 4 + 1 = 5 = 23 // 2^2 = ???
비트 마스크 (x의 오른쪽에서부터 n번재 비트값)
x = 1024 = 0b10000000000
1 & (x >>10) = 11번째 비트값 = 1
x = 4 0b100
1 & (x>>0) = 1번째 비트값 = 0
1 & (x>>1) = 2번째 비트값 = 0
1 & (x>>2) = 3번째 비트값 = 1
e 표기법
x =123000000
print('%e' %x)
= 1.230000e+08
= 1.230000 * 10^8
y = 0.00000123
print(y)
= 1.23e-06
= 1.23 * 10^-6
2진수 -> 16진수 ) 4비트를 하나로 변환
2진수 -> 8진수 ) 3비트를 하나로 변환
12 = 0b00001100 = 0o14 = 0xc
2진수 bin()
8진수 oct()
16진수 hex()
[과소사] 2.1 Turtle Graphics
20192019. 4. 15. 04:38turtle 모듈 사용
import turtle
s = turtle.Screen()
t = turtle.Turtle()
기본 방향 →
t.forward() ()만큼 전진
t.left() ()도 만큼 왼쪽으로 회전 ( ↑ 이상태)
t.undo () 취소
t.goto(x, y) x, y 좌표로 이동
t.setx() x좌표를 ()로 지정
t.sety() y좌표를 ()로 지정
t.setheading() 방향을 ()도로 지정
t.circle() 반지름이 ()인 원 그리기
t.dot() 점찍기
t.penup() 펜 들고 그리지 않기
t.pendown() 펜 내리고 그리기
t.pensize() 펜사이즈를 ()로 하기
t.pencolor() 펜 색을 ()로 하기
실습 - 스마일 그리기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | import turtle t = turtle.Turtle() t.circle(100) t.penup() t.goto(-40, 125) t.pendown() t.dot(15) t.penup() t.setx(40) t.pendown() t.dot(15) t.penup() t.goto(-62, 50) t.right(53) t.pendown() t.circle(80, 120) | cs |
[과소사] 2. Memory & Variables
20192019. 4. 15. 04:09input() 함수 = 입력받음, ()안은 입력할때 출력할 내용
print() 함수 = 출력함, () 안은 출력하고 싶은 것
print("어쩌고 저쩌고", end='')
print("샬라샬라)
>> 어쩌고 저쩌고샬라샬라
파이썬에서 입력하는 값들은 컴퓨터 메모리에 저장됨
1Byte = 8bits
4GB = 1Byte(8bits)가 4G가 존재
-> 4 * 10^9 Bytes = 4 * 2^30 Bytes
윈도우 운영체제 64비트와 32비트의 차이는
기본 처리 단위가 8바이트냐 4바이트냐 차이
Teacher 란 변수 생성, T e a c h e r 로 각각 메모리에 저장후 변수이름으로 범위를 지정하는 꼴임
My_teacher = Teacher로 변수 생성시 각 개체의 id값은 같음
id() 함수는 객체의 id값을 return
자주 사용하는 객체는 파이썬이 미리 id를 생성해놓음
변수를 생성하지 않고 id함수를 사용할 경우 오류 발생
pc 부팅시마다 id()값이 다른 이유는 컴퓨터가 꺼질때 메모리의 값이 초기화되므로
a = 10 ( a: 변수이름 , 10 : 값 객체)
b = a ( 10이라는 값 객체에 b 라는 변수이름만 하나 더 생성)
이때 객체 10의 참조 횟수는 2
del a 실행후 >> 객체 10의 참조 횟수는 1
del b 실행수 >> 객체 10의 참조 횟수는 0 -> 의미 없는 객체로 메모리에서 제거해야함
-> 이 작업을 쓰레기 수집(garbage collection)이라 하고 파이썬은 이를 자동으로 수거함
del 명령 사용할 일 적음 (타 언어는 del 하지 않으면 메모리 누수 발생)
식별자 (identifier)
파이썬에서 이름을 붙일때(변수, 함수, 모듈, 클래스, 객체 식별)
문자, 숫자, '_'
대문자 소문자 구별
시작은 문자, '_' 만 가능 (숫자 x)
올바른 예제 first_number =15, student_name = "John"
잘못된 예제 23answer, my name, your-answer

숫자와 문자열
문자열(string)은 문자나 문자들의 나열
숫자 5, 문자열 "5"
문자열 생성은 "" 과 '' 모두 가능
긴 문자열 (long string)
''' ''' or """ """ (주석처리와 같음)
파이썬 이스케이프 코드
\n (개행)
\v (수직 탭)
\t (수평 탭)
\r (캐리지 리턴)
\f (폼 피드)
\a (벨 소리)
\b (백스페이스)
\000 (널문자)
\\ (문자 "\(역슬래시)")
\' (단일 인용부호 ')
\" (이중 인용부호 ")
실습
이름과 학번 변수 선언 후
이름과 학번을 string concatenation(문자열 연결)시켜서 출력, 단 중간에 tab 문자 넣을 것
|
1
2
3
4
|
name = "김민정"
id = "20191556"
print(name, '\t', id)
|
cs |
출력 : 김민정 20191556
a = "python"
print(a*3)
>>> pythonpythonpython