python3自动化运维学习之路第一天
概要:python简介、第一个python程序、变量、字符编码、用户交互程序、if...else、while、for
一、python简介
首先,我们普及一下编程语言的基础知识。用任何编程语言来开发程序,都是为了让计算机干活,比如下载一个MP3,编写一个文档等等,而计算机干活的CPU只认识机器指令,所以,尽管不同的编程语言差异极大,最后都得“翻译”成CPU可以执行的机器指令。而不同的编程语言,干同一个活,编写的代码量,差距也很大。
比如,完成同一个任务,C语言要写1000行代码,Java只需要写100行,而Python可能只要20行。
二、第一个python程序
三、变量
变量只能使用字母、下划线、数字的组合,并且不能以数字开头。
常用的变量命名方法有:
下划线命名法: gf_name = "xxx" #python建议使用这种命名方法
驼峰命名法: GFName = "xxx"
另外大写表示是常量,建议不要更改,如:
PIF = 12345
python的保留字不能用于变量命名
['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']
这个例子可以注意一下:name2是指向name所指向的 "alex li"这个字符串。
#!/usr/bin/env python3 #author:Alnk name = "alex li" name2 = name print("my name is ",name,name2) name = "paoche ge" print(name,name2)
四、字符编码
二进制:计算机底层只认识0和1
ASCII码:8位1字节,最多可以表示255个字符
GB2312:7000多个汉字,1980年
GBK:21000多个汉字,兼容GB2312,1995年
GB18030:27000多个汉字,还收录了藏文,蒙文,*文等,2000年
ASCII --> GB2312 --> GBK --> GB18030
手机,mp3一般只支持GB2312,pc必须支持GB18030编码
unicode:兼容所有的字符编码,2 个字节 16位,65525个字符,但是每个字符占2位,相对于ASCII码来说存在浪费。
utf-8:解决unicode中关于英文字符浪费的问题,英文字符占1个字节,中文字符占3个字节
五、用户输入、输出
input()函数:输入的值都属于字符串
利用int()函数获取整数
利用float()函数获取浮点数
利用 getpass 模块进行密文输入
格式化输出
% 进行格式化输出
输出结果
format格式化输出方法1
输出结果
方法2
输出结果
六、if ... elif ...else 判断语句
if .. else 语句:如果 if 条件成立则执行 if 语句后面的代码,然后结束。否则执行 else 语句的代码。
#!/usr/bin/env python3 #author:Alnk _username = "alnk" _password = "123" username = input("username: ") password = input("password: ") if _username == username and _password == password: print("welcome name %s login..." % username) else: print("Invalid usernmae or password!")
if ... elif ... else :先判断 if 条件是否成立,如果成立,则执行 if 语句的代码,判断结束。否则再判断 elif 语句条件是否成立,如果成立则执行 elif 语句的代码,否则执行 else 语句的代码。
#!/usr/bin/env python3 #author:Alnk age_of_oldboy = 56 guess_age = int(input("guess age:")) if guess_age == age_of_oldboy: print("yes,you got it.") elif guess_age > age_of_oldboy: print("think smaller...") else: print("think bigeer!")
七、循环语句
while循环语句:当条件不满足时才停止循环。
break:终止最深层的循环,一般用于while循环和for循环。
continue:跳出本次循环,进入到下一次循环,一般用于while循环和for循环。
while ... else 语句:当while的条件不成立时才走else
#!/usr/bin/env python3 #author:Alnk age_of_oldboy = 56 count = 0 while count < 3: guess_age = int(input("guess age:")) if guess_age == age_of_oldboy: print("yes,you got it.") break elif guess_age > age_of_oldboy: print("think smaller...") else: print("think bigeer!") count +=1 else: print("你输错次数太多,结束")
猜数字游戏,猜错三次提示是否继续
#!/usr/bin/env python3 #author:Alnk age_of_oldboy = 56 count = 0 while count < 3: guess_age = int(input("guess age:")) if guess_age == age_of_oldboy: print("yes,you got it.") break elif guess_age > age_of_oldboy: print("think smaller...") else: print("think bigeer!") count +=1 if count == 3: continue_confim = input("do you want to keep guessing?(y/n)") if continue_confim != "n": count = 0
for循环
for循环打印99乘法表
#!/usr/bin/env python3 #author:Alnk #99乘法表 for i in range(1,10): for j in range(1,i+1): print("%s * %s ="%(j,i),i*j,end='\t') print()
for ... else 语句:for代码块正常结束则执行else语句
#!/usr/bin/env python3 #author:Alnk age_of_oldboy = 56 count = 0 for i in range(3): guess_age = int(input("guess age:")) if guess_age == age_of_oldboy: print("yes,you got it.") break elif guess_age > age_of_oldboy: print("think smaller...") else: print("think bigeer!") count +=1 else: print("你输错次数太多,结束")