变量定义规则
数据类型
双分支 if else
多分支结构 :猜年龄案例
while 循环
dead loop
break & continue
while else 用户
变量定义规则
数字、字母、下划线 任意组合 但不能以数字开头 ,且程序包含的单词无法作为变量名
变量的写法
驼峰体
AgeOfOldboy = 35
下划线(官方推荐)
age_of_oldboy = 35
常量定义规则,一般采用全大写定义常量。
AGE_OF_OLDBOY = 35
数据类型
Python能自动识别数据类型
可通过命令type查看
>>> age=25 >>> type(age) <class 'int'> >>> name="k" >>> type(name) <class 'str'> >>>
数据类型-数字类型
int 整数 取值范围 -2**31~2**31 64位机器取值为-2**63~2**63
long 长整数 无定义范围 3.0后 无此类型
float浮点型 简单理解为小数
数据类型 -字符串
定义时加引号就认为是字符串,单引号、双引号 、3引号都可以 ,单引号双引号无区别,3引号一般定义一段话(多行)
数据类型-布尔值
true & fault
双分支 if else
user = 'kwang' passwd = 'dellsc8888' username = input("username:") password = input("password:") if user == username and passwd == password: print("Wellcom login ....") else: print("username or password is not correct")
多分支结构 :分数案例
mark = int(input("please input you mark:")) if mark > 100: print("max is 100!!!") elif mark >= 90 : print("your result is A ") elif mark >= 80 : print("your result is B ") elif mark >= 60 : print("your result is C") elif mark >= 40 : print("your result is D") elif mark < 0 : print("min is 0 !!!") else : print("your result is E")
while 循环
count = 0 while count <= 100 : print("loop",count) count += 1
while 案例 循环打印1--100 ,第50此不打印值 ,60-80次打印对应值的平方
count = 0 while count <= 100: if count == 50: pass #if 语句不做操作 使用pass elif count >= 60 and count <=80 : print(count**2) else : print("loop",count) count +=1 print("loop is ended")
死循环 条件永远满足 循环下去 dead loop
count = 0 while True: print("play", count) count += 1
break & continue
break 跳出整个循环不在进行
continue 跳出单个循环
while else用户
当循环正常结束 当未使用break强制退出后
count = 0 while count <= 5: count += 1 print("loop",count) else: print("这个循环正常结束啦") print("---------------out of while loop ------------")
猜年龄案例
print("can you guess my age?:") age = 35 x = 0 for i in range(10): if x < 3 : #限制一个猜的次数 guess_num = int(input("please in put a num:")) if age == guess_num: print("gongxigongxi you got it ") break elif age < guess_num: print("it is bigger") else: print("it is smaller") else : # 超出3次后提示是否继续 input_confirm = input("continue,y/n:") if input_confirm == "y": x=0 #此时x等于3,在此重新赋值。n退出 continue #continue 可以实现循环到此处时跳出当次循环。 else: print("byebye") break x=x+1 # 等于 “x += 1” 实现x 随 循环增加
格式化输出信息,案例
name = input('input your name:') #注意 input 默认任何值均为字符串 age = input('input your age:') job = input('input your job') msg=''' Infomation of user %s: ---------------------- Name: %s Age : %d Job : %s -------END------------ ''' %(name,name,age,job) print(msg)
age项,如执行时报错需要输入数字,则使用int()来做转换,将age字符形式转换为数字,%s(string)为字符,除此之外还有%d(digth)为数字,%f(float)为小数 。
上栗可强制某些变量的数据类型
name = input('input your name:') age = int(input('input your age:'))# 将inptu的值转为数字类型 job = input('input your job') msg=''' Infomation of user %s: ---------------------- Name: %s Age : %d #强制输入数字 Job : %s -------END------------ ''' %(name,name,age,job) print(msg)
三个引号中间外一个整体,此案例赋值msg ,引号后的%内容代表前面出现过的4个%为哪些变量
====
常用模块
import getpass username = input("username:") password = getpass.getpass("password:") print(username,password) 隐藏输入getpass.getpass 2.7有效 import os os.system('df') os.mkdir('yourDir') cmd_res = os.popen("df -h").read() 导入os模块 ,os模块可执行系统命令,此例df可输出磁盘信息 但如果用来给cmd_res赋值,则cmd_res执行赋值0或其他数字(执行结果) 要想赋值实际的df值则要用上面的os.popen格式。 import sys print(sys.path) #'/usr/lib/python2.7/dist-packages' 自己写的模块 导入系统模块 输出路径名 ,系统默认选择的模块引入路径 。一般自己写的模块放入dist-packages ,记住一点模块先查找当前目录 。
====
数组的应用
name = [ "wangkai","wangkai2","wangkai3","wangkai4","wangkai5","wangkai6","wangkai7","wangkai8","wangkai9"] print(name[0]) #输出name第一个值 wangkai print(name[0:4]) #输出name第1至3的值 ['wangkai', 'wangkai2', 'wangkai3', 'wangkai4'] print(name[-1]) #输出name最后一个值 wangkai9 print(name[-5:]) #输出name倒数第5个值以后的所有值 ['wangkai5', 'wangkai6', 'wangkai7', 'wangkai8', 'wangkai9'] print(name[2:4]) # 输出name第3-4的值 ['wangkai3', 'wangkai4'] print(name[2:4][0]) #输出name第3-4的值后再取第一个值 wangkai3 print(name[2:4][0][2]) #在上面取值的基础上再取第3个值 n name[1] = "king" #改变第2个name的值 print(name[1]) ['wangkai', 'king', 'wangkai3', 'wangkai4', 'wangkai5', 'wangkai6', 'wangkai7', 'wangkai8', 'wangkai9'] name.insert(2,"lalala") #插入一个值到第三个位置 print(name[:]) ['wangkai', 'king', 'lalala', 'wangkai3', 'wangkai4', 'wangkai5', 'wangkai6', 'wangkai7', 'wangkai8', 'wangkai9'] name.append("alex") #最后一个位置添加值 print(name[:]) ['wangkai', 'king', 'lalala', 'wangkai3', 'wangkai4', 'wangkai5', 'wangkai6', 'wangkai7', 'wangkai8', 'wangkai9', 'alex'] name.remove("wangkai3") #删除赋值 直接删除 print(name[:]) ['wangkai', 'king', 'lalala', 'wangkai4', 'wangkai5', 'wangkai6', 'wangkai7', 'wangkai8', 'wangkai9', 'alex']