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. Kali Linux 发布 2019.1 版

    Kali Linux 是一个基于 Debian 的发行版,关注于高级渗透测试和安全审计并搭载各种常用工具,由 Offensive Security 维护.后者是一个提供信息安全训练的公司. 该项目于日 ...

  2. 笔记本装双系统!win10+Linux!所有的坑自己一个个爬过来,纪念一下。

    笔记本装双系统!win10+Linux!所有的坑自己一个个爬过来,纪念一下. 2018年09月16日 21:27:19 Corax_2ven 阅读数:14038   写在前面,装了大概5遍,装了删删了 ...

  3. webpack学习记录-认识loader(二)

    Loader 就像是一个翻译员,能把源文件经过转化后输出新的结果,并且一个文件还可以链式的经过多个翻译员翻译. loader参考文章:https://webpack.docschina.org/loa ...

  4. vue之——从彩笔的进步之路

    因为这个文章开的有点晚,不可能说从头教学vue的使用,所以大概还是记录一下我的学习路线吧: 一开始是想学一个前端框架,最后选择了vue,一开始是看了表严肃的vue课程,b站有,讲的相当好,就算打个小广 ...

  5. Suffix Automaton

    后缀自动机 先上SAM builder,备用链接.之前的垃圾博客,洛谷的某篇教程,饕餮传奇的题单. 后缀自动机,点数是2n! 首先对着代码讲一遍三种插入. inline void insert(cha ...

  6. 老男孩Python全栈学习 S9 日常作业 003

    1.有变量name = "aleX leNb" 完成如下操作: # 移除 name 变量对应的值两边的空格,并输出处理结果 # 移除name变量左边的"al"并 ...

  7. 使用docker部署SqlServer

    踩了很多坑,来记录一下 首先说sqlserver 1. 安装docker要使用centos 7以上版本,使用centos 6及以下版本会出现各种问题 2. docker CE安装过程 $ sudo y ...

  8. 第九节: 利用RemoteScheduler实现Sheduler的远程控制

    一. RemoteScheduler远程控制 1. 背景: 在A服务器上部署了一个Scheduler,我们想在B服务器上控制这个Scheduler. 2. 猜想: A服务器上的Scheduler需要有 ...

  9. [物理学与PDEs]第5章习题1 矩阵的极分解

    证明引理 2. 1. 证明: (1)  先证明存在正交阵 ${\bf P},{\bf Q}$ 及对角阵 ${\bf D}$ 使得 $$\bex {\bf F}={\bf P}{\bf D}{\bf Q ...

  10. APPLE-SA-2019-3-25-6 iCloud for Windows 7.11

    APPLE-SA-2019-3-25-6 iCloud for Windows 7.11 iCloud for Windows 7.11 is now available and addresses ...