学习预备
推荐书籍:
- python cookbook
- learn python the hard way
- Google’s Python Class
- 简明python教程
Python2.x逐渐减少使用,2020年停止使用,2008年出现python3.x,2015年已经更新到3.5
2.x的倒计时:https://pythonclock.org
python2.x与3.x的区别:
- 语句函数化,例如print(1,2)打印出1,2,而2.x打印元组,3.x中的意思是函数的2个参数
- 整除,1/2和1//2,3.x版中 / 为自然除
- 3.x中raw_input重新命名为input,不再使用raw_input
- 字符串统一使用Unicode
- 异常的捕获、抛出的语法改变
- round函数,
真值表:
对象/常量 | 值 |
---|---|
" " | 假 |
“String” | 真 |
0 | 假 |
>=1 | 真 |
<=-1 | 真 |
() 空元组 | 假 |
[] 空列表 | 假 |
{} 空字典 | 假 |
None | 假 |
文件I/O
print()函数
print("hello"*2)
print("hello"+"world")
str1="world"
print("hello"+str1)
"""
hellohello
helloworld
helloworld"""
input函数
str2=input() #hello
print(str2)
"""hello"""
open()函数
必须先用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。
"""file object = open(file_name [, access_mode][, buffering])"""
f=open("","w")
f.close()
f.write(String)
f.read()
with open('F:/pycharm_output/json.txt','w',encoding='utf8') as fp:
fp.write(json_texts[i])
打开的不同模式:
- r,只读方式打开
- rb,只读二进制格式打开
- w,只用于写入,如果文件不存在,则新建文件
- wb,二进制格式写入
- w+,用于读写,如果文件不存在,则新建文件
- a,打开用于追加,如果文件不存在,则新建文件
if 判断语句
- 语法格式:
a=5
if a>4:
print("a大于4")
elif a==3:
print("a等于3")
else:
print("")
- 例子1: 判断两个数的大小,并输出较大的数
a,b=53,42
if a>b:
print(a)
else:
print(b)
"""53"""
- 例子2: 判断输入数字的位数:
a=int(input())
if a<10:
print("a是一位数")
elif a<100:
print("a是二位数")
elif a<1000:
print("a是三位数")
elif a<10000:
print("a是四位数")
else:
print("a是五位数")
"""1524
a是四位数"""
"""下面采用折半法:"""
a=int(input())
if a<100:
if a<10:
print("a是一位数")
else:
print("a是二位数")
elif a>=1000:
if a>=10000:
print("a是五位数")
else:
print("a是四位数")
else:
print("a是三位数")
"""48581
a是五位数
"""
例子3: 判断成绩的等级
a = int(input())
if a>80:
if a>90:
print("A")
else:
print("B")
elif a > 60:
if a > 70:
print("C")
else:
print("D")
else:
print("不及格")
# 判断等级较多时可以考虑采用折半法
循环
- while语句
a=10
while a>5:
print(a)
a-=1
"""
10
9
8
7
6"""
while True: #死循环
print("这是个死循环")
- for语句
c=["hello","world","!"]
for i in c:
print(i,end=" ")
for j in range(8):
print(j)
for k in range(1,8): """range()左闭右开"""
print(k)
for m in range(1,8,2):
print(m)
for n in range(5,1,-1): #倒序循环
print(n)
"""
hello world !
0 1 2 3 4 5 6 7
1 2 3 4 5 6 7
1 3 5 7
5 4 3 2 """
- 例子1: 依次输出位数
#方法1:
a=input()
for i in range(len(a)):
a=int(a)
n=a//10
print(a-n*10)
a=n
"""
115632
2
3
6
5
1
1"""
"""拓展
54321 % 10
54321//10 % 10 # 整除再求余
54321//100 % 10
"""
#方法2:
a=input()
for i in range(len(a)):
print(int(a)//(10**i)%10)
"""
1563
3
6
5
1"""
- for循环的else语句
for i in range(5):
print(i)
else:
print("ok")
- 例子2: 打印正方形
bianchang=int(input())
for i in range(bianchang):
if i==0 or i==bianchang-1:
print("\t*"*bianchang)
else:
print("\t*"+"\t "*(bianchang-2)+"\t*")
"""
>6
* * * * * *
* *
* *
* *
* *
* * * * * *
"""
例子3: 求100以内的所有奇数和
sum=0
for i in range(100):
if i%2==1:
sum=sum+i
for j in range(1,100,2):
sum=sum+j
#2500
例子4: 判断成绩的等级