Heim  >  Artikel  >  Backend-Entwicklung  >  Automatisierte Python-Entwicklung, Tag 2 – Python-Grundlagen 2

Automatisierte Python-Entwicklung, Tag 2 – Python-Grundlagen 2

高洛峰
高洛峰Original
2017-02-17 11:35:321459Durchsuche

Inhalt dieses Kapitels

  1. Holle-Wort

  2. Variable

  3. Zeichenkodierung

  4. Benutzereingabe

  5. Modulinitialisierung

  6. Datentyp

  7. Datenoperationen

  8. if...else

  9. for-Schleife

  10. while-Schleife

1. Das erste Programm-Holle-Wort

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

in der Python 5.2-Umgebung Die Ausführungsergebnisse lauten wie folgt:

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. Variablen

Variablen werden zum Speichern von Informationen verwendet, auf die in Computerprogrammen verwiesen und diese manipuliert werden. Variablen können explizit als Abstraktionen mit Speicherplatz definiert werden, die einen veränderlichen Zustand darstellen (wie in Java und Visual Basic); der einzige Zweck einer Variablen besteht darin, Daten im Speicher zu kennzeichnen und zu speichern. Diese Daten können im gesamten Programm verwendet werden.

Variablen deklarieren

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

 name = "Lyon"

Der obige Code deklariert eine Variable, der Variablenname lautet: Name, Variable name Der Wert ist: „Lyon“

Regeln für die Variablendefinition:

  1. Variablennamen dürfen nur aus einer beliebigen Kombination aus Buchstaben, Zahlen oder Unterstrichen bestehen

  2. Das erste Zeichen des Variablennamens darf keine Zahl sein

  3. Die folgenden Schlüsselwörter können nicht als Variablennamen deklariert werden:

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

3. Zeichenkodierung

Der Python-Interpreter lädt den Code in die .py-Datei Wenn , wird der Inhalt codiert (Standard-Ascill)

ASCII (American Standard Code for Information Interchange, American Standard Code for Information Interchange) ist ein Computercodierungssystem, das auf lateinischen Buchstaben basiert und hauptsächlich zur Anzeige verwendet wird Moderne Sprachen und andere westeuropäische Sprachen können nur durch bis zu 8 Bit (ein Byte) dargestellt werden, das heißt: 2**8 = 256-1. Daher kann der ASCII-Code nur bis zu 255 Symbole darstellen. Python自动化开发,Day2 - Python基础2

Über Chinesisch.

Um mit Hanzi klarzukommen, haben Programmierer GB2132 für vereinfachtes Chinesisch und big5 für traditionelles Chinesisch entwickelt.

GB2132 (1980) enthält insgesamt 7445 Zeichen, darunter 6763 Hanzi und 682 andere Symbole. Der interne Codebereich des Hanzi-Bereichs reicht von B0-F7 im High-Byte und A1-FE im Low-Byte. Die belegten Codebits sind 72*94=6768. Es gibt 5 Leerbits D7FA-D7FE.

GB2312 unterstützt zu wenige chinesische Schriftzeichen. Die Erweiterungsspezifikation für chinesische Schriftzeichen GBK1.0 aus dem Jahr 1995 umfasst 21886 Symbole, die in einen Bereich für chinesische Schriftzeichen und einen Bereich für grafische Symbole unterteilt sind. Der chinesische Schriftzeichenbereich umfasst 21003 Zeichen. GB18030 im Jahr 2000 ist die offizielle nationale Standardversion, die GBK1.0 ersetzt. Dieser Standard umfasst 27.484 chinesische Schriftzeichen sowie Tibetisch, Mongolisch, Uigurisch und andere wichtige Sprachen ethnischer Minderheiten. Die aktuelle PC-Plattform muss GB18030 unterstützen und es gibt keine Anforderungen für eingebettete Produkte. Daher unterstützen Mobiltelefone und MP3 im Allgemeinen nur GB2312.

Von ASCII, GB2312, GBK bis GB18030 sind diese Kodierungsmethoden abwärtskompatibel, d. h. das gleiche Zeichen hat in diesen Schemata immer die gleiche Kodierung, und spätere Standards unterstützen mehr Zeichen. Unter diesen Kodierungen können Englisch und Chinesisch einheitlich verarbeitet werden. Die Unterscheidung zwischen chinesischer Codierung besteht darin, dass das höchste Bit des High-Bytes nicht 0 ist. Dem Namen des Programmierers zufolge gehören GB2312, GBK bis GB18030 alle zu Doppelbyte-Zeichensätzen (DBCS).

Der standardmäßige interne Code einiger chinesischer Windows ist immer noch GBK, der über das GB18030-Upgrade-Paket auf GB18030 aktualisiert werden kann. Allerdings sind die von GB18030 im Vergleich zu GBK hinzugefügten Zeichen für normale Menschen schwierig zu verwenden. Normalerweise verwenden wir GBK immer noch, um auf chinesischen Windows-internen Code zu verweisen.

Offensichtlich kann der ASCII-Code nicht alle verschiedenen Texte und Zeichen der Welt ausdrücken, daher ist eine neue Kodierung erforderlich, die alle Zeichen und Symbole darstellen kann, nämlich: Unicode

Unicode (Unicode, Unicode, Unicode) ist eine auf Computern verwendete Zeichenkodierung. Unicode wurde entwickelt, um die Einschränkungen herkömmlicher Zeichenkodierungsschemata zu überwinden. Es legt eine einheitliche und eindeutige Binärkodierung für jedes Zeichen in jeder Sprache fest und legt fest, dass alle Zeichen und Symbole durch mindestens 16 Bits (2 Bytes) dargestellt werden müssen, d. h.: 2**16=65536,

Hinweis: Was hier erwähnt wird, sind mindestens 2 Bytes, möglicherweise mehr

UTF-8, die Unicode-Kodierung. Zur Komprimierung und Optimierung wird er nicht mehr benötigt verwendet mindestens 2 Bytes, klassifiziert aber alle Zeichen und Symbole: Der Inhalt im ASCII-Code wird in einem Byte gespeichert, europäische Zeichen werden in zwei Bytes gespeichert und ostasiatische Zeichen werden in zwei Bytes gespeichert. Die Zeichen werden in 3 Bytes gespeichert ...

Wenn der Python-Interpreter also den Code in die .py-Datei lädt, codiert er den Inhalt (Standard-ASCILL), wenn es sich um den folgenden Code handelt:

Fehler: ASCII Code kann kein Chinesisch darstellen

 #!/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中文网!

 

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn