1.变量
name = input("name:")
age = int(input("age:"))
删除变量可以这样做:
del name
del name,age
%s 简写string代表类型,%d整数型,%f浮点型,%s包括了%d%f类型
info ='''
------ info of %s ------
Name:%s
age:%d
''' % (name, name, age)
print(info)
info2 ='''
------ info2 of {_name} ------
Name:{_name}
age:{_age}
''' .format(_name =name,_age=age)
print(info2)
info与info2运行得到的一样的效果。
format格式化name,age后给他们定义一个值,这种方法在以后做格式拼接要用到。
"%s,%s,%s"%(name,name,age)语法会依次将()里的值依次赋值给%s
python可以做 +,-,*和/运算 但是注意在变量被定义时需要注意在其后在代码中的作用
因为str类型数据不能做算术运算
2.引用模块
import
from ** import **
import getpass
username = input("username:")
password = getpass.getpass("password")
print(username,password)
# getpass 输入暗文密码:当输入密码时看不见输入的值 pc不支持getpass
3.条件语句
if elif else 语句
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 bigger")
#缺点是只能猜一次,不能重复猜
4.while 循环
while的两种循环语句
第一种 while True:
age_of_oldboy = 56
count = 0
while True:
if count == 3:
break
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 bigger")
count += 1
if count == 3:
print("you tride too many times...fuck off")
第二种 while加条件
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 bigger")
count += 1
else:
print("you tride too many times...fuck off")
# 判断太多次直接 while后接else语句
5.for 循环
age_of_oldboy = 56
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 bigger")
else:
print("you tride too many times...fuck off")
for i in range(0,10,2)
print(i)
隔一个数输出 0 2 4 6 8
(0,10,3)隔两个数输出 0 3 6 9
(1,10,2)从1开始隔一个数输出 1 3 5 7 9
如果三次过后还想玩需要判断i的值在接if条件。
6.文件I/O操作
with as 文件处理
with:文件处理,你需要获取一个文件句柄,从文件中读取数据,然后关闭文件句柄。
使用了 with语句,不管在处理文件过程中是否发生异常,都能保证 with 语句执行完毕后,关闭打开的文件句柄。
# as赋值的函数不能直接用 要用for in转换给另一个变量再strip(提取出来)
with open("account_file.txt","r") as user_info:
for account in user_info:
account_user = account.strip().split(":")[0]
account_pass = account.strip().split(":")[1]
print(account_user,account_pass)
7.file操作
lock_read = open("lock_file.txt","r") #open("","")
#lock_read不能直接用
for lock in lock_read:
lock_user = lock.strip()
print(lock_user)
lock_read.close()
'r':读
'w':写
'a':追加
'r+' == r+w(可读可写,文件若不存在就报错(IOError))
'w+' == w+r(可读可写,文件若不存在就创建)
'a+' ==a+r(可追加可写,文件若不存在就创建)
对应的,如果是二进制文件,就都加一个b就好啦。
file.read([size]) size未指定则返回整个文件,如果文件大小>2倍内存则有问题.f.read()读到文件尾时返回""(空字串)
file.readline() 返回一行
file.readlines([size]) 返回包含size行的列表,size 未指定则返回全部行
for line in f: print line #通过迭代器访问
f.write("hello\n") #如果要写入字符串以外的数据,先将他转换为字符串.
f.tell() 返回一个整数,表示当前文件指针的位置(就是到文件头的比特数).
f.seek(偏移量,[起始位置]) 用来移动文件指针.
偏移量:单位:比特,可正可负
起始位置:0-文件头,默认值;1-当前位置;2-文件尾
f.close() 关闭文件
open读文件指令后print会跟踪指令头,下一个指令在该指令头后执行。
f.seek(2)命令执行过后 指令头会跳转到该点。