>백엔드 개발 >파이썬 튜토리얼 >파이썬의 기원과 사용법 소개

파이썬의 기원과 사용법 소개

零下一度
零下一度원래의
2017-07-18 15:16:402235검색

Python 언어는 간결하고 명확한 스타일은 물론 널리 적용 가능한 수많은 클래스 라이브러리와 사용할 수 있는 Python 오픈 소스 프레임워크로 인해 IT 업계에서 많은 사람들에게 사랑받고 있습니다. 파이썬의 기원과 발전 역사를 간단히 살펴볼까요?

Python 언어의 기원을 추적해 보면 1990년대 초 암스테르담의 Guido van Rossum이 개발한 새로운 스크립트 해석기였습니다. Guido가 Python이 언젠가 가장 인기 있는 프로그래밍 언어 중 하나가 될 것이라고 생각한 적이 있었는지 궁금합니다.

어떤 사람들은 다른 언어로 작성된 모듈을 쉽게 결합할 수 있기 때문에 Python을 설명하기 위해 Glue 언어를 사용하는 것을 좋아합니다. 관심이 있는 경우 여기에서 자세히 설명하지 않겠습니다. 알아두셔야 할 점은 국내외 많은 대학에서도 Python 언어를 필수과목으로 수강하고 있으며, 국내에서도 Python 언어를 활용하여 업무를 수행하는 단위도 늘어나고 있다는 점입니다.

파이썬 언어를 배운 친구들에게 매력이 무엇인지 물어보세요. 대부분의 사람들은 사용하기 쉽고, 읽기 쉽고, 유지 관리하기 쉬운 언어라고 생각할 것이므로 많은 사용자가 사용하고 배우기를 좋아하며 실제로 다양한 용도로 사용되는 언어입니다.

Python 언어의 가장 기본적인 구문은 들여쓰기, 제어문, 표현식, 함수, 객체 메서드, 유형 및 수학 연산입니다. Python의 기본 구문을 학습한 후에만 그래픽 처리, 수학적 처리, 텍스트 처리, 데이터베이스, 웹 프로그래밍, 크롤러 등의 실제 응용 프로그램과 같은 공식 응용 프로그램을 배울 수 있습니다.

Python 3.3이 최신 버전이지만 여전히 많은 사람들이 Python 2부터 배우기를 좋아합니다. Python 3에 대한 타사 지원이 아직 완료되지 않았다고 이전에 언급했기 때문에 학습 과정에서 설명할 수 없는 문제에 직면하게 됩니다. 이미 매우 완성된 Python 2부터 학습을 시작하는 것이 좋습니다. 그 이후에는 Python 3으로의 전환이 쉬울 것입니다.

TIOBE 2017년 6월 프로그래밍 언어 순위:

위 그림에서 알 수 있듯이 Python 언어의 사용률이 상승세를 보이고 있는 반면, 상위 3개 언어의 사용률은 2위를 기록하고 있습니다. 하락세.

Python의 장점과 단점

장점:

  1. Python의 위치는 "우아함", "명확함", "단순함"이므로 Python 프로그램은 항상 단순하고 초보자가 Python을 배우기 쉽습니다. 시작하기는 쉽지만 앞으로 더 깊이 들어가면 매우 복잡한 프로그램을 작성할 수 있습니다.

  2. 개발 효율성이 매우 높습니다. Python에는 매우 강력한 타사 라이브러리가 있습니다. 기본적으로 컴퓨터를 통해 어떤 기능을 구현하려는 경우 공식 Python 라이브러리에 직접 다운로드하여 지원하면 됩니다. 기본 라이브러리를 기반으로 개발이 상위에서 수행되어 개발 주기를 크게 단축하고 바퀴를 재발명하는 것을 방지합니다.

  3. 고급 언어————Python 언어로 프로그램을 작성할 때 프로그램에서 사용하는 메모리를 관리하는 방법과 같은 저급 세부 사항을 생각할 필요가 없습니다.

  4. 이식성— ———오픈 소스 특성으로 인해 Python은 많은 플랫폼으로 이식되었습니다(다른 플랫폼에서 작동할 수 있도록 수정). 시스템 종속 기능을 주의 깊게 사용하지 않으면 모든 Python 프로그램을 수정 없이 시장에 있는 거의 모든 시스템 플랫폼에서 실행할 수 있습니다.

  5. 확장성————키가 필요한 경우 코드를 더 빠르게 실행하거나 유지하려면 특정 알고리즘이 비공개인 경우 프로그램의 일부를 C 또는 C++로 작성하여 Python 프로그램에서 사용할 수 있습니다.

  6. 임베디드 가능성——Python을 C/C++ 프로그램에 내장하여 프로그램 사용자에게 스크립팅 기능을 제공할 수 있습니다.

단점:

  1. 느림 Python의 실행 속도는 실제로 C 언어보다 훨씬 느리고 JAVA보다 느립니다. 따라서 소위 말하는 많은 전문가들이 Python 사용을 경멸하는 주된 이유이기도 합니다. 그러나 실제로 여기서 언급하는 느린 실행 속도는 대부분의 경우 사용자가 직접 인식할 수 없으며, 이는 테스트 도구의 도움을 받아 반영되어야 합니다. 예를 들어 C에서는 프로그램을 실행하는 데 0.01초가 걸립니다. 이런 식으로 C 언어는 Python보다 직접적으로 10배 빠르며 이는 매우 과장되어 있지만 일반인이 인지할 수 있는 가장 작은 시간 단위는 약 0.15-0.4이기 때문에 육안으로는 직접적으로 인지할 수 없습니다. 에, 하하. 실제로, 극도로 빠른 속도 요구 사항이 있는 검색 엔진을 작성하려는 경우를 제외하고 대부분의 경우 Python은 프로그램 속도 요구 사항을 완벽하게 충족할 수 있습니다. 물론 이 경우 C를 사용하여 구현하는 것이 좋습니다.

  2. PYTHON은 해석된 언어이고 소스 코드가 텍스트 형식으로 저장되므로 코드를 암호화할 수 없습니다. 그러나 프로젝트에서 소스 코드를 암호화해야 하는 경우에는 이것이 단점이라고 생각하지 않습니다. , 그러면 애초에 Python으로 구현해서는 안 됩니다.

  3. 스레드는 다중 CPU 문제를 활용할 수 없습니다. 이는 Python의 가장 비판적인 단점 중 하나인 GIL(Global Interpreter Lock)은 컴퓨터 프로그래밍 언어 인터프리터가 스레드를 동기화하는 데 사용하는 도구입니다. 실행 중인 스레드이고 Python의 스레드는 운영 체제의 기본 스레드입니다. Linux에서는 pthread이고 Windows에서는 Win 스레드입니다. 스레드 실행은 운영 체제에 의해 완전히 예약됩니다. Python 인터프리터 프로세스에는 기본 스레드와 여러 사용자 프로그램 실행 스레드가 있습니다. 멀티 코어 CPU 플랫폼에서도 GIL의 존재로 인해 멀티 스레드의 병렬 실행이 금지됩니다. 이 문제에 대한 절충 솔루션에 대해서는 나중에 스레드 및 프로세스 장에서 자세히 논의할 것입니다.


2.Python 설치

windows

1、下载安装包

2、安装
安装在C:\Python36
3、配置环境变量
【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用;分割】

linux:

1.解压
tar xf Python-3.6.2.tgz
2.编译安装
cd Python-3.6.2
./configure --prefix=/usr/local/Python3.6
make
make install
3.配置环境变量
vim /etc/profile
PATH=/usr/local/Python3.6/bin:$PATH
source /etc/profile
4.测试
python3.6

3. 안녕하세요, 세계)

pycharm을 열고 새 Python 프로젝트를 만들고 새 Python 파일을 만듭니다.

#!/usr/binl/env python
#encoding: utf-8
#author: YangLei

print("hello,world")

4. 변수

변수는 수학에서 유래하며 계산 결과를 저장하거나 값을 나타낼 수 있는 컴퓨터 언어의 추상 개념입니다. 변수는 변수 이름으로 접근할 수 있습니다. 명령형 언어에서 변수는 일반적으로 변경 가능합니다. 순수 함수형 언어(예: Haskell)에서는 변수가 변경 불가능할 수 있습니다. 일부 언어에서는 변수를 변경 가능한 상태(예: Java 및 Visual Basic)를 나타낼 수 있는 저장 공간이 있는 추상화라고 명시적으로 참조할 수 있지만 다른 언어에서는 이러한 것을 참조하기 위해 다른 개념(예: C의 개체)을 사용할 수 있습니다. 변수는 추상적이지만 "변수"의 정확한 표시를 엄격하게 정의하지는 않습니다.

변수 선언

#!/usr/binl/env python
#encoding: utf-8
#author: YangLei

name = "yanglei"
print(name)

위의 코드는 변수를 선언합니다. 변수 이름은 name, 변수 이름의 값은 "yanglei"

변수 정의 규칙:

    • 변수 이름 문자, 숫자, 밑줄 조합만 가능합니다

    • 변수 이름의 첫 문자는 숫자가 될 수 없습니다.

    • 다음 키워드는 변수 이름으로 선언할 수 없습니다. , 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', '제외', 'exec', 'finally', 'for', ' from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return' , 'try', 'while', 'with', 'yield']

5. 사용자 입력

#!/usr/binl/env python
#encoding: utf-8
#author: YangLei

input_name = input("Please enter your name: ")
print("hi,%s" % input_name)

6. 데이터 유형

1. 숫자

int(정수) )

In 32비트 시스템에서 정수의 자릿수는 32비트이고 값 범위는 -2**31~2**31-1, 즉 -2147483648~2147483647입니다. 64비트 시스템에서는 정수의 자릿수가 64비트입니다. 값 범위는 -2**63~2**63-1, 즉 -9223372036854775808~9223372036854775807
long(긴 정수)
과는 다릅니다. C 언어, Python의 긴 정수는 비트 너비를 지정하지 않습니다. 즉: Python에는 제한이 없습니다. 긴 정수 값의 크기는 실제로 제한된 기계 메모리로 인해 우리가 사용하는 긴 정수 값은 무한할 수 없습니다. ​
​ Python 2.2부터 정수 오버플로가 발생하면 Python은 자동으로 정수 데이터를 긴 정수로 변환하므로 이제 긴 정수 데이터 뒤에 문자 L을 추가하지 않아도 심각한 결과가 발생하지 않습니다.
 참고: Python3에는 더 이상 long 유형이 없으며 모두 int
float(float 유형)
 부동 소수점 숫자는 실수, 즉 소수가 있는 숫자를 처리하는 데 사용됩니다. C 언어의 double 형과 유사하게 8바이트(64비트)를 차지하며, 그 중 52비트는 밑수, 11비트는 지수, 나머지 비트는 부호를 나타냅니다.
2, 부울 값
 True 또는 false
 1 또는 0
3, String
"hello world"

문자열 접합:

  python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开辟空间,万恶的+号每出现一次就会在内从中重新开辟一块空间。
字符串格式化输出
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei

name = "yanglei"
print("hi,%s" % name)

#输出hi,yanglei

注:字符串是 %s;整数 %d;浮点数%f

字符串常用功能:
  • 移除空白

  • 分割

  • 长度

  • 索引

  • 切片

4、列表
创建列表:
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei

name = ["yanglei","jack","marry","andy"]

基本操作:

  • 索引

  • 切片

  • 追加

  • 删除

  • 长度

  • 切片

  • 循环

  • 包含

5、字典(无序)

创建字典:
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei

user_info = {"name":"yanglei","age":23,"job":"IT"}

常用操作:

  • 索引

  • 新增

  • 删除

  • 键、值、键值对

  • 循环

  • 长度

 

七、数据运算  

算数运算:

比较运算:

赋值运算:

逻辑运算:

成员运算:

身份运算:

位运算:

运算符优先级:

  

八、if判断

场景一、用户登陆验证

#!/usr/binl/env python
#encoding: utf-8
#author: YangLei

input_user = input("Please enter your user name: ")
input_password = input("Please enter your password: ")
if input_user == "yanglei" and input_password == "123456":
    print("\033[32;1m%s login successfully\33[0m" % input_user)
else:
    print("\033[31;1mThe user name or password error,please try again\033[0m")

场景二、猜年龄游戏

在程序里设定好你的年龄,然后启动程序让用户猜测,用户输入后,根据他的输入提示用户输入的是否正确,如果错误,提示是猜大了还是小了

#!/usr/binl/env python
#encoding: utf-8
#author: YangLei

guess_age = 50
input_age = int(input("Please enter your guess age: "))
if input_age > guess_age:
    print("\033[31;1mCan you guess what big\33[0m")
elif input_age < guess_age:
    print("\033[31;1mCan you guess what small\33[0m")
else:
    print("\033[32;1mYou guessed it\33[0m")

外层变量,可以被内层代码使用

内层变量,不应被外层代码使用
 

九、break和continue的区别

continue:

#!/usr/binl/env python
#encoding: utf-8
#author: YangLei

count = 1
while count <= 10:
    if count == 5:
        count += 1
        continue
    print(count)
    count += 1

break:

#!/usr/binl/env python
#encoding: utf-8
#author: YangLei

count = 1
while count <= 10:
    if count == 5:
        count += 1
        break
    print(count)
    count += 1

 由此可以看出continue是跳出当前循环,而break是跳出本层循环。

 

十、while循环

循环语句,计算机的一种基本循环模式。当满足条件时进入循环,不满足跳出。while语句的一般表达式为:
while(表达式)
{
循环体
}

场景一、用户登陆验证升级

#!/usr/bin/env pyhon
#encoding: utf-8
#auth: yanglei

count = 0
while count < 3:
    input_user = input("Please enter your user name: ")
    input_password = input("Please enter your password: ")
    if input_user == "yanglei" and input_password == "123456":
        print("\033[32;1m%s login successfully\33[0m" % input_user)
        break
    elif count == 2:
        print("\033[31;1mThe user name or password mistake,three chances to use up,the program exits\33[0m")
        break
    else:
        count += 1
        print("\033[31;1mThe user name or password error,please try again\033[0m")

场景二、猜年龄游戏升级

 

#!/usr/bin/env pyhon
#encoding: utf-8
#auth: yanglei

guess_age = 50
count = 0
while count <= 3:
    if count == 3:
        input_choose = input("Do you want to continue to play?(Y or y|N or n)")
        if input_choose == "Y" or input_choose == "y":
            count = 0
            continue
        elif input_choose == "N" or input_choose == "n":
            break
        else:
            print("\033[31;1mAre you input errors!\33[0m")
            continue
    input_age = int(input("Please enter your guess age: "))
    if input_age > guess_age:
        print("\033[31;1mCan you guess what big\33[0m")
        count += 1
    elif input_age < guess_age:
        print("\033[31;1mCan you guess what small\33[0m")
        count += 1
    else:
        print("\033[32;1mYou guessed it\33[0m")
        break

 

위 내용은 파이썬의 기원과 사용법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.