01.variable

 '''
 변수(variable)
  - 자료(data)를 임시(휘발성) 저장하는 역할
  - 실제 자료가 아닌 자료의 주소를 저장한다.(참조변수)
 '''

 # 1. 변수와 자료
 print('변수와 자료') # 콘솔 출력
 var1 = "hello python" # or 'hello python'
 print(var1) # 변수 내용 출력 

 print(type(var1)) # 자료형 확인 - <class 'str'>

 # 변수명 = 자료
 var1 = 150 # 문자열 -> 숫자 

 print(type(var1)) # <class 'int'>

 '''
 python 변수 특징
  - 자료를 저장하는 역할
  - 가장 최근 내용 저장
  - 자료형에 따라서 type 결정
 '''

 # 2. 변수명 작성 규칙
 '''
  - 첫단어 영문자, 두번째[숫자, 특수문자(_)]
  - 대문자, 소문자 구분(Num != num)
  - 숫자, 명령어(키워드) 사용불가(한글 비권장)
  - 낙타체 : 두 개이상 단어 조합
     ex) korScore = 90
 ''' 

 Num = 10; num = 100
 print(Num); print(num)

 num_10 = 10
 print(num_10)

 korScore = 90
 matScore = 85
 engScore = 75

 totScore = korScore + matScore + engScore
 print('총점 :', totScore) # 총점 : 250

 # python 명령어 보기
 import keyword # 모듈 추가 

 print('키워드 :', keyword.kwlist)
 # 키워드 : ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
 print('키워드 수 =', len(keyword.kwlist))
 # 키워드 수 = 33

 # 3. 참조변수 : 메모리 주소를 갖는 변수
 a = 250
 b = 35.12
 c = b
 d = 250

 print(a, b, c, d) # 내용 출력
 print(id(a), id(b), id(c), id(d)) # 주소 출력
 '''
 250 35.12 35.12 250
 1742766080 1511904 1511904 1742766080
 '''

 # 변수 내용 출력
 print('a=', a) # a= 250
 print('b=', b) # b= 35.12

 # 변수 : 값이 저장된 주소 저장(참조변수)
 # 변수 주소 출력 

 # 내용 비교
 print(a == 250) # True

 # 주소 비교
 print(a is 250) # True

02.operator

 '''
 연산자(operator)
  1. 변수에 값 할당(대입연산자 =)
  2. print 출력 양식
  3. 산술,관계,논리 연산자
  4. 키보드 입력과 형변환
 '''

 # 1. 변수에 값 할당(대입연산자 =)
 v1 = v2 = v3 = 100
 print(v1, v2, v3) # 100 100 100

 # 같은 줄에 중복 출력
 print('출력1', end = ', ') # 출력1, 출력2
 print('출력2')

 v1, v2 = 100, 200
 print(v1, v2)

 # 패킹(packing) 할당
 v1, *v2 = [1,2,3,4]
 print(v1, v2) # 1 [2, 3, 4]

 *v1, v2 = [1,2,3,4]
 print(v1, v2) # [1, 2, 3] 4

 # 2. print 출력 양식

 # 1) format(value, 양식)
 print('원주율=',format(3.14159, '8.3f'))#원주율=    3.142
 '''
 '8.3f' : 전체8자리에서 소숫점 3자리 표현
 '''
 print(format(123456, '3,d'))#123,456

 #help(format)

 # 2) 양식문자와 값 표현
 # print('%양식문자'%값)
 num1 = 10
 num2 = 20
 add = num1 + num2
 print('%d + %d = %d'%(num1,num2,add)) #10 + 20 = 30

 name = "홍길동"
 age = 35

 print('이름은 %s이고, 나이는 %d 입니다.'%(name, age))
 # 이름은 홍길동이고, 나이는 35 입니다.

 pi = 3.14159
 print('원주율 = %.3f'%pi) # 원주율 = 3.142

 # 3) 외부 상수 받기
 print('이름은 {}이고, 나이는 {}입니다.'.format('홍길동', 35))
 # 이름은 홍길동이고, 나이는 35입니다.
 print('이름은 {1}이고, 나이는 {0}입니다.'.format(35,'홍길동'))

 # 3. 산술,관계,논리 연산자

 # 산술연산자
 print('산술 연산자 : ', 10+3, 10-3, 10*3, 10/3, 10//3, 10%3, 10**3)
 # 산술 연산자 : 13 7 30 3.3333333333333335 3 1 1000

 # 2차 함수 : y = 2.5 + x**2 + 3.3 + x + 6
 x = 2
 y = 2.5 + x**2 + 3.3 + x + 6
 print('y=', y) # y= 17.8

 # 관계연산자
 print('관계연산자 : ', 5 > 3, 5 >= 2, 5 != 4, 5 == 4)
 # 관계연산자 :  True True True False

 # 논리연산자
 print('논리연산자 : ', 5>4 and 5!=4, 5<4 or 5>=3, not(5<=2))
 # 논리연산자 :  True True True

 # 카운터변수/누적변수
 cnt = tot = 0 # 카운터, 누적 초기화
 cnt = cnt + 1 # 카운터 변수
 tot = tot + cnt # 누적변수
 cnt += 1 # 카운터 변수(권장)
 tot += cnt # 누적변수
 print('cnt=', cnt) # cnt= 2
 print('tot=', tot) # tot= 3

 # 4. 키보드 입력과 형변환

 # 1) 키보드 입력
 a = int(input("숫자 입력 : ")) # 숫자(문자) -> 숫자(정수) 변환
 #print(type(a)) # <class 'int'>
 b = float(input("숫자 입력 : ")) # 문자 -> 숫자(실수) 변환
 print('%d + %.3f = %.3f'%(a, b, a+b)) # 30.5
 print('%d + %.3f = %.3f'%(a, b, a*b)) 

 # 2) 형변환
 #True=> 1, False => 0

03.type_string

 '''
 자료형과 문자열 처리
  1. 자료형(data type)
  2. 문자열(string) 처리
  3. escape 처리
 '''

 # 1. 자료형(data type)
 print(10, type(10)) # 10 <class 'int'>
 '''
 저장 : Ctrl+S
 실행 : Ctrl+F11
 '''
 print(12.1542, type(12.1542)) # 12.1542 <class 'float'>

 print(True, type(False)) # True <class 'bool'>

 a = 10; b = 5
 print(a > b, type(a > b)) # True <class 'bool'>

 string = "대한민국" # or '대한민국'
 print(string, type(string)) # 대한민국 <class 'str'>

 num_str = '

 num = int(num_str) # 문자열 -> 정수
 print(num * 2) # 2468 

 # 진법변환(10진수 -> 2,8,16진수)
 print(10, bin(10), oct(10), hex(10))
 # 10 0b1010 0o12 0xa

 # 진법변환(2,8,16진수 -> 10진수)
 print(10, 0b1010, 0o12, 0xa)
 # 10 10 10 10

 # 2. 문자열(string) 처리
 '''
  문자열 객체 처리
   - 문자열(string) : 문자들의 집합
   - 문자 분리 기능 : 순서 존재
   - indexing/slicing 가능
 '''

 # 1) 문자열 연산(+, *)
 st1 = "대한민국"
 st2 = "우리나라"

 st3 = "="
 print(st3*20) # 반복
 print(st1 + " " + st2) # 결합 : 대한민국 우리나라
 print(st3*20) # 반복
 '''
 ====================
 대한민국 우리나라
 ====================
 '''

 # 2) 한줄, 여러줄 문자열
 string = "우리나라 대한민국"
 multi_line ="""우리나라
 대한민국
 나는 홍길동 입니다."""
 print(string)
 print(multi_line)
 '''
 우리나라
 대한민국
 나는 홍길동 입니다.
 '''
 sql='''create table test(
 id int,
 su int,
 dan int)'''
 print(sql)

 # 3) 문자열 처리 함수(내장함수)
 st = "우리나라 대한민국 나의 조국은 대한민국 입니다."
 print(st, type(st)) # <class 'str'>

 # 문자열 길이
 size = len(st)
 print('st 길이 : ', size) # st 길이 :  26

 # 특정 문자 길이
 print('국 문자 수 :', st.count('국')) # 국 문자 수 : 3

 # 접두어 - T/F
 print(st.startswith('우리')) # True
 print(st.startswith('일본')) # False

 # 문자열 분리(split)와 결합(join)
 st2 = "나는 홍길동 입니다. 나이는 35세이고, 주소는 서울 입니다."

 # 1) 문자열 분리

 # 문단 -> 문장
 st3 = st2.split(sep='.', maxsplit=2)
 print('st3 문장 : ', st3)
 # st3 문장 :  ['나는 홍길동 입니다', ' 나이는 35세이고, 주소는 서울 입니다', '']

 # 문단 -> 단어(공백)
 st4 = st2.split(' ') # sep=''
 print('st4 단어 : ', st4)
 # st4 단어 :  ['나는', '홍길동', '입니다.', '나이는', '35세이고,', '주소는', '서울', '입니다.']
 print('st4 단어 길이 :', len(st4)) # st4 단어 길이 : 8
 '''
 형태소 분석 : 문장 성분 분석(명사, 수사, 조사 등)
 '''

 # 2) 문자열 결합
 # 형식) '구분자'.join(str)
 st5 = ','.join(st4)
 print('st5 결합 : ', st5)
 # st5 결합 :  나는홍길동,입니다.,나이는,35세이고,,주소는,서울,입니다.

 print(multi_line)
 '''
 우리나라
 대한민국
 나는 홍길동 입니다.
 '''

 doc = multi_line.split('\n') # sep='\n'
 print(doc)
 # ['우리나라', '대한민국', '나는 홍길동 입니다.']
 print('문장 수 :', len(doc)) # 문장 수 : 3

 # indexing/slicing
 name = "강호동"

 # 색인 : object[n]
 print(name[0]) # 성 - 강
 print(name[1:]) # 이름 - 호동
 print(name[1:3]) # [시작:종료전] - 호동
 print(name[:3]) # [~:종료전] - 강호동
 print(name[0:]) # [시작:~] - 강호동

 # [-n] : 오른쪽 기준
 print(name[-1]) # 동
 print(name[-2:]) # 호동

 # 3. escape 처리
 '''
 escape : 탈출하다, 기능 차단
 특수기능 : '', "", \n(엔터), \t(탭)
 '''
 print('나는 \n 홍길동 \t 입니다.')
 '''
 나는
  홍길동      입니다.
 '''

 # 경로 표현 : c:\Python\test\test.txt
 print('path = ', 'c:\Python\test\test.txt')
 # path =  c:\Python    est    est.txt

 # escape 처리 방법1(r)
 print('path = ', r'c:\Python\test\test.txt')
 # path =  c:\Python\test\test.txt

 # escape 처리 방법2(\)
 print('path = ', 'c:\\Python\\test\\test.txt')
 # path =  c:\Python\test\test.txt

 # 문) c:\'aa'\"abc.txt" 출력 하시오.(방법2) 

Python Basic 01.Basic的更多相关文章

  1. Python学习--01入门

    Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...

  2. Python网络01 原始Python服务器

    原文:Python网络01 原始Python服务器 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 之前我的Python教程中有人 ...

  3. python进阶01 面向对象、类、实例、属性封装、实例方法

    python进阶01 面向对象.类.实例.属性封装.实例方法 一.面向对象 1.什么是对象 #一切皆对象,可以简单地将“对象”理解为“某个东西” #“对象”之所以称之为对象,是因为它具有属于它自己的“ ...

  4. Python函数01/函数的初识/函数的定义/函数调用/函数的返回值/函数的参数

    Python函数01/函数的初识/函数的定义/函数调用/函数的返回值/函数的参数 内容大纲 1.函数的初识 2.函数的定义 3.函数的调用 4.函数的返回值 5.函数的参数 1.函数初识 # def ...

  5. Python模块01/自定义模块/time模块/datetime模块/random模块

    Python模块01/自定义模块/time模块/datetime模块/random模块 内容大纲 1.自定义模块 2.time模块 3.datetime模块 4.random模块 1.自定义模块 1. ...

  6. Python面向对象01 /面向对象初识、面向对象结构、类、self、实例化对象

    Python面向对象01 /面向对象初识.面向对象结构.类.self.实例化对象 目录 Python面向对象01 /面向对象初识.面向对象结构.类.self.实例化对象 1. 面向对象初识 2. 面向 ...

  7. 《Using Databases with Python》 Week2 Basic Structured Query Language 课堂笔记

    Coursera课程<Using Databases with Python> 密歇根大学 Week2 Basic Structured Query Language 15.1 Relat ...

  8. [Python Study Notes] Basic I\O + File 操作

    列表操作 Python 文件I/O 本章只讲述所有基本的的I/O函数,更多函数请参考Python标准文档. 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式. ...

  9. Python笔记 #09# Basic plots with matplotlib

    源:DataCamp 气泡的大小表示人口的多少,横坐标表示人均GDP(美元),纵坐标表示预期寿命.-- 作者:Hans Rosling Python 中有许许多多用于可视化的包,而 matplotli ...

随机推荐

  1. saltstack运维软件

    一.saltstack介绍 1.介绍 SaltStack管理工具允许管理员对多个操作系统创建一个一致的管理系统,包括VMware vSphere环境. SaltStack是一个服务器基础架构集中化管理 ...

  2. Go语言公开或未公开的标识符

    Go语言公开或未公开的标识符的基本概念 Go语言支持从包里公开或者隐藏标志符,通过这个特性,可以让用户按照自己的规则控制标识符的可见性. Go语言中的可见性,是通过声明类型的大小写来进行区别的. 例如 ...

  3. CF932 E. Team Work 结题报告

    CF932 E. Team Work 题意 求 \[ \sum_{i=0}^n\binom{n}{i}i^k \] 其中\(n\le 10^9,k\le 5000\),对\(mod=998244353 ...

  4. [curl]convert curl to python Ruby

    https://curl.trillworks.com/

  5. kafka 发送确认参数acks的几种模式

    1. acks=0 意味着生产者能够通过网络吧消息发送出去,那么就认为消息已成功写入Kafka 一定会丢失一些数据 2. acks=1 意味着首领在疏导消息并把它写到分区数据问津是会返回确认或者错误响 ...

  6. Tomcat 日志文件分割

    新到公司, 拿到了前辈们留下的 程序 “病历书” , 上面记载了项目上的一些 经常会犯的毛病,  还有相应的解决方法. 其中有的是因为后台 代码逻辑上的一些原因 , N手代码通病了吧 (这个还是以后再 ...

  7. python+turtle 笔记

    用Python+turtle绘制佩琪: from turtle import * def nose(x,y):#鼻子 penup()#提起笔 goto(x,y)#定位 pendown()#落笔,开始画 ...

  8. Docker:手动制作镜像 [五]

    一.制作docker镜像的步骤 1.启动容器安装软件服务 2.将安装好服务的容器commit提交为镜像 3:.启动新容器来测试新提交的镜像 二.制作支持ssh远程登录的docker镜像 1.启动容器安 ...

  9. [Android] Android 锁屏实现与总结 (二)

    上接: [Android] Android 锁屏实现与总结 (一) 系列文章链接如下: [Android] Android 锁屏实现与总结 (一) [Android] Android 锁屏实现与总结 ...

  10. HTML常用知识点代码演示

    1 HTML部分常用知识点 <!-- 版本声明 --> <!DOCTYPE html> <!-- 唯一根元素 --> <html> <!-- 对网 ...