Maison > Article > développement back-end > Développement automatisé Python, Jour 2 - Bases de Python 2
holle word
Variable
Encodage des caractères
Saisie utilisateur
Initialisation du module
Type de données
Opérations sur les données
if...else
for boucle
boucle while
#! /usr/bin/env python # -*- coding:utf-8 -*- #Author:Lyon print("holle word")
dans l'environnement Python3 5.2. , les résultats d'exécution sont les suivants :
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 >>>
Les variables sont utilisées pour stocker des informations référencées et manipulées dans des programmes informatiques. Les variables peuvent être explicitement définies comme des abstractions avec un espace de stockage qui représente un état mutable (comme dans Java et Visual Basic) ; le seul but d'une variable est d'étiqueter et de stocker des données en mémoire. Ces données peuvent être utilisées tout au long du programme.
Déclarer des variables
#! usr/bin/eve python # -*- coding:utf-8 -*- name = "Lyon"
Le code ci-dessus déclare une variable, le nom de la variable est : nom, variable name La valeur est : "Lyon"
Règles de définition des variables :
Les noms de variables ne peuvent être qu'une combinaison de lettres, de chiffres ou de traits de soulignement
Le premier caractère du nom de variable ne peut pas être un nombre
Les mots-clés suivants ne peuvent pas être déclarés comme noms de variable :
[' et' , 'as' , 'assert' , 'break' , 'class' , 'continue' , 'def' , 'del' , 'eilf' , 'else' , 'sauf' , 'exec' , 'finally' , 'for' , 'from' , 'global' , 'if' , 'import' , 'in' , 'is' , 'lambda' , 'not' , 'or' , 'pass' , 'print ' , 'raise' , 'return' , 'try' , 'while' , 'with' , 'yield' ]
L'interpréteur python charge le code dans le Fichier .py Lorsque , le contenu sera codé (Ascill par défaut)
ASCII (American Standard Code for Information Interchange, American Standard Code for Information Interchange) est un système de codage informatique basé sur des lettres latines, principalement utilisé pour afficher les langues modernes et les autres langues d'Europe occidentale ne peuvent être représentées que par 8 bits maximum (un octet), soit : 2**8 = 256-1. Par conséquent, le code ASCII ne peut représenter que jusqu'à 255 symboles.
À propos du chinois.
Afin de gérer Hanzi, les programmeurs ont conçu GB2132 pour le chinois simplifié et big5 pour le chinois traditionnel.
GB2132 (1980) contient un total de 7445 caractères, dont 6763 Hanzi et 682 autres symboles. La plage de code interne de la zone Hanzi va de B0-F7 dans l'octet de poids fort et de A1-FE dans l'octet de poids faible. Les bits de code occupés sont 72*94=6768. Il y a 5 bits vides D7FA-D7FE.
GB2312 prend en charge trop peu de caractères chinois. La spécification d'extension des caractères chinois de 1995, GBK1.0, comprend 21 886 symboles, divisés en zone de caractères chinois et zone de symboles graphiques. La zone des caractères chinois comprend 21 003 caractères. GB18030 en 2000 est la version standard nationale officielle qui a remplacé GBK1.0. Cette norme comprend 27 484 caractères chinois, ainsi que le tibétain, le mongol, l'ouïghour et d'autres langues minoritaires ethniques majeures. La plate-forme PC actuelle doit prendre en charge le GB18030 et il n'y a aucune exigence pour les produits intégrés. Par conséquent, les téléphones mobiles et les MP3 ne prennent généralement en charge que le GB2312.
De ASCII, GB2312, GBK à GB18030, ces méthodes de codage sont rétrocompatibles, c'est-à-dire que le même caractère a toujours le même codage dans ces schémas, et les normes ultérieures prennent en charge plus de caractères. Dans ces codes, l'anglais et le chinois peuvent être traités de manière uniforme. La façon de distinguer le codage chinois est que le bit le plus élevé de l'octet de poids fort n'est pas 0. Selon le nom du programmeur, GB2312, GBK à GB18030 appartiennent tous à des jeux de caractères à deux octets (DBCS).
Le code interne par défaut de certains Windows chinois est toujours GBK, qui peut être mis à niveau vers GB18030 via le package de mise à niveau GB18030. Cependant, les caractères ajoutés par GB18030 par rapport à GBK sont difficiles à utiliser pour les gens ordinaires. Habituellement, nous utilisons toujours GBK pour faire référence au code interne chinois de Windows.
Évidemment, le code ASCII ne peut pas exprimer tous les différents textes et caractères du monde, donc un nouvel encodage pouvant représenter tous les caractères et symboles est nécessaire, à savoir : Unicode
Unicode (Unicode, Unicode, Unicode) est un codage de caractères utilisé sur les ordinateurs. Unicode a été créé pour résoudre les limites des schémas de codage de caractères traditionnels. Il définit un codage binaire unifié et unique pour chaque caractère dans chaque langue, stipulant que tous les caractères et symboles doivent être représentés par au moins 16 bits (2 octets), c'est-à-dire : 2**16=65536,
Remarque : ce qui est mentionné ici fait au moins 2 octets, peut-être plus
UTF-8, qui est le codage Unicode Pour la compression et l'optimisation, il n'est plus utilise au moins 2 octets, mais classe tous les caractères et symboles : le contenu du code ASCII est enregistré sur un octet, les caractères européens sont enregistrés sur deux octets et les caractères d'Asie de l'Est sont enregistrés sur deux octets. Les caractères sont enregistrés sur 3 octets. ...
Ainsi, lorsque l'interpréteur python chargera le code dans le fichier .py, il encodera le contenu (ascill par défaut), s'il s'agit du code suivant :
Erreur : ascii le code ne peut pas représenter le chinois
#!/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})
常用操作:
索引
新增
删除
键值
循环
长度
算数运算:
比较运算:
赋值运算:
逻辑运算:
成员运算:
身份运算:
位运算:
运算符优先级:
场景一:用户登录验证
#!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!")
外层变量,可以被内层代码使用
内层变量,不应被外层代码使用
最简单的循环10次
#_*_coding:utf-8_*_ __author__ = 'Alex Li' 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)
有一种循环叫死循环,一经触发,就运行个天荒地老、海枯石烂。
count = 0 while True: print("你是风儿我是沙,缠缠绵绵走天涯",count) count +=1
更多Python自动化开发,Day2 - Python基础2 相关文章请关注PHP中文网!