>  기사  >  백엔드 개발  >  Python 자동화 개발, Day2 - Python 기본 2

Python 자동화 개발, Day2 - Python 기본 2

高洛峰
高洛峰원래의
2017-02-17 11:35:321413검색

이 장의 내용

  1. 홀레 단어

  2. 변수

  3. 문자 인코딩

  4. 사용자 입력

  5. 모듈 초기화

  6. 데이터 유형

  7. 데이터 연산

  8. if...else

  9. for 루프

  10. while 루프

1. Python3.5.2 환경의 첫 번째 프로그램 홀레 단어

 #! /usr/bin/env python
 # -*- coding:utf-8 -*-
 #Author:Lyon
 
  print("holle word")

아래와 같이 실행됩니다. , 실행 결과는 다음과 같습니다.

Python 3.5.2 (v3.5.2:4def2a2901a5,Jun 25 2016, 22:18:55)  [MSC v.1906 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print("holle word")
holle word
>>>

2. 변수

변수는 컴퓨터 프로그램에서 참조하고 조작하는 정보를 저장하는 데 사용됩니다. 변수는 변경 가능한 상태를 나타내는 저장 공간이 있는 추상화로 명시적으로 정의될 수 있습니다(Java 및 Visual Basic에서와 같이). 변수의 유일한 목적은 데이터에 레이블을 지정하고 메모리에 저장하는 것입니다. 이 데이터는 프로그램 전체에서 사용될 수 있습니다.

변수 선언

 #! usr/bin/eve python
 # -*- coding:utf-8 -*-

 name = "Lyon"

위 코드는 변수를 선언하며, 변수 이름은 이름, 값입니다. 변수 이름 규칙: "Lyon"

변수 정의:

  1. 변수 이름은 문자, 숫자 또는 밑줄의 조합만 사용할 수 있습니다.

  2. 변수 이름의 첫 문자는 숫자일 수 없습니다.

  3. 다음 키워드는 변수 이름으로 선언할 수 없습니다.

['and' , 'as' , 'assert' , 'break' , 'class' , 'continue' , 'def' , 'del' , 'eilf' , 'else' , 'exc' , 'exec' , 'finally' , ' for' , 'from' , 'global' , 'if' , 'import' , 'in' , 'is' , 'lambda' , 'not' , 'or' , 'pass' , 'print ' , 'raise' , 'return' , 'try' , 'while' , 'with' , 'yield' ]

3. 문자 인코딩

Python 인터프리터가 코드를 로드할 때 .py 파일, 내용이 인코딩됩니다(기본 Ascill)

ASCII(American Standard Code for Information Interchange, American Standard Code for Information Interchange)는 라틴 알파벳을 기반으로 한 컴퓨터 코딩 시스템으로 주로 다음 작업에 사용됩니다. 현대 언어 및 기타 서유럽 언어는 최대 8비트(1바이트), 즉 2**8 = 256-1로만 표현할 수 있습니다. 따라서 ASCII 코드는 최대 255개의 기호만 표현할 수 있습니다. Python自动化开发,Day2 - Python基础2

중국어에 대해서.

한지(Hanzi)를 처리하기 위해 프로그래머들은 중국어 간체용 GB2132와 중국어 번체용 big5를 설계했습니다.

GB2132(1980)에는 한자 6763자와 기타 기호 682자를 포함하여 총 7445자가 포함되어 있습니다. Hanzi 영역의 내부 코드 범위는 상위 바이트가 B0-F7이고 하위 바이트가 A1-FE입니다. 점유된 코드 비트는 5개의 빈 비트 D7FA-D7FE입니다.

GB2312는 한자가 너무 적습니다. 1995년 한자 확장 규격 GBK1.0에는 21886개의 기호가 포함되어 있으며 이는 한자 영역과 그래픽 기호 영역으로 구분됩니다. 한자 영역에는 21003자가 포함됩니다. 2000년 GB18030은 GBK1.0을 대체한 공식 국가 표준 버전입니다. 이 표준에는 27,484개의 중국어 문자와 티베트어, 몽골어, 위구르어 및 기타 주요 소수민족 언어가 포함됩니다. 현재 PC 플랫폼은 GB18030을 지원해야 하며 임베디드 제품에 대한 요구 사항은 없습니다. 따라서 휴대폰과 MP3는 일반적으로 GB2312만 지원합니다.

ASCII, GB2312, GBK에서 GB18030까지 이러한 인코딩 방법은 이전 버전과 호환됩니다. 즉, 동일한 문자는 이러한 구성표에서 항상 동일한 인코딩을 가지며 이후 표준은 더 많은 문자를 지원합니다. 이들 코드에서는 영어와 중국어를 동일하게 처리할 수 있다. 중국어 인코딩을 구별하는 방법은 상위 바이트의 최상위 비트가 0이 아닌 것입니다. 프로그래머의 이름인 GB2312에 따르면 GBK부터 GB18030까지 모두 DBCS(더블바이트 문자 집합)에 속합니다.

일부 중국어 Windows의 기본 내부 코드는 여전히 GBK이며 GB18030 업그레이드 패키지를 통해 GB18030으로 업그레이드할 수 있습니다. 그러나 GBK에 비해 GB18030이 추가한 문자는 일반 사람들이 사용하기 어렵습니다. 일반적으로 우리는 여전히 중국어 Windows 내부 코드를 참조하기 위해 GBK를 사용합니다.

분명히 ASCII 코드는 세상의 다양한 텍스트와 문자를 모두 표현할 수 없으므로 모든 문자와 기호를 표현할 수 있는 새로운 인코딩이 필요합니다. 즉, 유니코드

유니코드(유니코드, 유니코드, 유니코드)는 컴퓨터에서 사용되는 문자 인코딩입니다. 유니코드는 기존 문자 인코딩 체계의 한계를 해결하기 위해 만들어졌으며 각 언어의 각 문자에 대해 통일되고 고유한 이진 인코딩을 설정하며 모든 문자와 기호는 최소 16비트(2바이트)로 표시되어야 한다고 규정합니다. 2**16=65536,

참고: 여기에 언급된 내용은 최소 2바이트, 그 이상일 수도 있습니다

UTF-8(유니코드 인코딩) 압축 및 최적화를 위해 더 이상 최소 2바이트를 사용하되 모든 문자와 기호를 분류하여 ASCII 코드의 내용은 1바이트, 유럽 문자는 2바이트, 동아시아 문자는 3바이트에 저장됩니다. ...

따라서 Python 인터프리터가 .py 파일의 코드를 로드할 때 다음 코드인 경우 콘텐츠(기본 ascill)를 인코딩합니다.

오류: ascii 코드는 중국어를 나타낼 수 없습니다

 #!/usr/bin/env python
 
 print("你好,世界")

改正:应该显示的告诉python解释器,用什么编码来执行源代码,即:

#!/usr/bin/env python
# -*-  coding=utf-8 -*-
 
print("你好,世界")

 

四、用户输入 

#!usr/bin/env python#-*- coding:utf-8 -*-
#name = raw_input("What is your name?") only on python 
xname = input("What is your name?")print("Hello"+name)

 

输入密码时,如果想要不可见,需要利用getpass模块中的getpass方法,即:

#!usr/bin/env python# -*-  coding:utf-8  -*-import getpass

name = input("username:")
password =getpass.getpass("password:")print(password)

 

五、模块初识

Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持,这里先象征性的学2个简单的。

sys

#!/usr/bin/env python
# -*-  coding:utf-8  -*-

import sys

print(sys.argv)

#输出
$ python test.py hello world
['test.py','hello','world']#把执行脚本时传递的参数获取到了

os

#!/usr/bin/env python
# -*-  coding:utf-8  -*-

import os

os.system("df-h")#调用系统命令

结合一下

 import os,sys
 
 os,system(''.join(sys.argv[1:]))#把用户输入的参数当作一条命令交给os.system来执行

 

模块也可以可以来写,但是如果想在系统的任何一个地方都使用的话,就需要把所写的。py文件放到python全局环境变量目录里,基本一般都放在一个叫site-packages目录下,这个目录在不同os里放的位置不一样,用print(sys.path)可以查看python环境变量列表。

六、数据类型

1、数字

2是一个整数的例子。

长整数不过是大一些的整数。

3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3*10-4。

(-5+4j)和(2.3-4.6j)是复数的例子,其中-5,4为实数,j为虚数,数学中表示复数是什么?

 int(整型)

 在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647

在64位系统上,整数的位数是64位,取值范围为-2**63-2~2**63-1,即-9223372036854775808~9223372036854775807

long(长整型)

跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。

注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。

float(浮点型)

先扫盲 http://www.cnblogs.com/alex3714/articles/5895848.html

浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。

complex(复数)

复数由实数部分和虚数部分组成,一般形式为x+yh,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。

注:Python中存在小数字池:-5~257

2、布尔值

真或假

1或0

3、字符串

字符串拼接:

python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开辟空间,+号每出现一次就会在内存中重新开辟一块空间。

字符串格式化输出

 name = "Lyon"
 print("i am %s"% name)
 
 #输出:i am Lyon

 

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

字符串常用功能:

  • 移除空白

  • 分割

  • 长度

  • 索引

  • 切片

4、列表

创建列表:

name_list = ['Lyon','one','two']
或
name_list =list(['Lyon','one','two'])

 

基本操作:

  • 索引

  • 切片

  • 追加

  • 删除

  • 长度

  • 切片

  • 循环

  • 包含

5、元组(不可变列表)

创建元组:

 ages = (11, 22, 33, 44, 55)
 或
 ages = tuple((11, 22, 33, 44, 55))

 

6、字典(无序)

创建字典:

 person = {"name": "mr.wu", 'age': 18}
 或
 person = dict({"name": "mr.wu", 'age': 18})

 

常用操作:

  • 索引

  • 新增

  • 删除

  • 键值

  • 循环

  • 长度

七、数据运算

算数运算:

Python自动化开发,Day2 - Python基础2

比较运算:

Python自动化开发,Day2 - Python基础2

赋值运算:

Python自动化开发,Day2 - Python基础2

逻辑运算:

Python自动化开发,Day2 - Python基础2

成员运算:

Python自动化开发,Day2 - Python基础2

身份运算:

Python自动化开发,Day2 - Python基础2

 

位运算:

Python自动化开发,Day2 - Python基础2


运算符优先级:

Python自动化开发,Day2 - Python基础2


八、表达式if......else

 场景一:用户登录验证

 #!usr/bin/env python
# -*-  coding:utf-8  -*-
#Author:Lyon

import getpass

name = input("请输入用户名:")
password = getpass.getpass("请输入密码:")

if name =="Lyon" and password =="yang":
    print("欢迎你!")
else:
    print("用户名或密码错误")

 

场景二:猜年龄游戏

#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
age =21 
user_input = int(input("input your guess num:"))
 
if user_input == age:
    print("Congratulations, you got it !")
elif user_input < age:
    print("Oops,think bigger!")
else:
    print("think smaller!")

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

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

九、for循环

最简单的循环10次

#_*_coding:utf-8_*_
__author__ = &#39;Alex Li&#39;
 
 
for i in range(10):
    print("loop:", i )

输出:

loop: 0
loop: 1
loop: 2
loop: 3
loop: 4
loop: 5
loop: 6
loop: 7
loop: 8
loop: 9

需求一:还是上面的程序,但是遇到小于5的循环次数就不走了,直接跳入下一次循环

 for i in range(10):
     if i<5:
         continue
     print("loop:"i)

需求二:还是上面的程序,但是遇到大于5的循环次数就不走了直接退出

 for i in range(10):
     if i>5:
         break
    print("loop:"i)

 

十、while loop

有一种循环叫死循环,一经触发,就运行个天荒地老、海枯石烂。

 count = 0
 while True:
     print("你是风儿我是沙,缠缠绵绵走天涯",count)
     count +=1

更多Python自动化开发,Day2 - Python基础2 相关文章请关注PHP中文网!

 

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