python基础 day1 var、 if、while、for、with as、open用法

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)命令执行过后 指令头会跳转到该点。

上一篇:python之猜数字


下一篇:python入门第二讲--If-->else if