1 Python注释
- 单行注释用: #
- 多行注释用:英文状态下三对双引号或者三对单引号
# 单行注释
"""
第一行
第二行
"""
'''
第一行
第二行
'''
'\n第一行\n第二行\n'
2 变量及变量创建
- 变量可以是任意的数据类型,在程序中用变量名表示
- 变量名由大小写英文字母、数字和下划线(“_”)构成,单不能以数字开头,Python中虽然可以用汉字作为变量名,但是不建议使用
3a = 1
File "<ipython-input-93-a1b7c7d9dd00>", line 1
3a = 1
^
SyntaxError: invalid syntax
# 单变量的创建
a = 1
b_a = 2
_a = 3
我 = 4
print(a,b_a,_a,我)
1 2 3 4
# 多变量的创建
a = b = c = 1
print(a,b,c)
a,b,c = 1,2,3
print(a,b,c)
1 1 1
1 2 3
3 标识符与关键字
- 标识符实质就是变量名
- 关键字是Python中一些本身具有特殊功能的标识符,因此不允许自定义与关键字相同的标识符
# 查看关键字,显示前5个
import keyword
keyword.kwlist[:5]
['False', 'None', 'True', 'and', 'as']
4 Python输入与输出
- 输入input()
- 输出print()
# 悠悠我心ya
input('输入姓名')
输入姓名悠悠我心ya
'悠悠我心ya'
print('人生苦短,我用Python')
人生苦短,我用Python
- 格式化输出
- %d格式化整数
- %s格式化字符
- %f格式化浮点
- %.2两位小数
age = 18
name = '小明'
print('%.2f'%age)
print("我今年%d岁"%age)
print("我的名字叫%s,今年%d岁"%(name,age))
print("我的名字叫{},今年{}岁".format(name,age))
print(f"我的名字叫{name},今年{age}岁")
18.00
我今年18岁
我的名字叫小明,今年18岁
我的名字叫小明,今年18岁
我的名字叫小明,今年18岁
print("aaa","bbb","ccc")
# 字符串的连接
print("www","baidu","com",sep=".")
# 不换行
print("hello",end="")
print("world",end="\t")
print("world",end="\n")
print("end")
aaa bbb ccc
www.baidu.com
helloworld world
end
5 查看变量类型
- type(变量名)
a = input('输入')
type(a)
输入2
str
6 数据类型强制转换
a = '12.3'
a = float(a)
aa = '2'
b = eval(aa)
c = int(aa)
print(type(a),type(b),type(c))
<class 'float'> <class 'int'> <class 'int'>
7 常用运算符
- 算数运算符
a,b = 9,2
c,d = '你好','好啊' # 字符串只有加运算和数乘运算
# 加 两个对象相加
e = a + b
f = c + d # 字符串连接
print(e,f)
# 乘
e = a * b
f = c * 3 # 字符串复制
g = d * 2
print(e,f,g)
# 减 两个对像相减
e = a - b
# 除
print(a/b)# 结果为浮点型
print(4/2)# 结果为浮点型
# 取余数运算
print(a%b)
# 幂运算
print(a**b)
# 去整除,返回值为整数
print(a//b)
print(2//4)
print(-2//4)
11 你好好啊
18 你好你好你好 好啊好啊
4.5
2.0
1
81
4
0
-1
- 比较运算符
a = 1
b = 0
# 等于 “==” 两个等号
print(a == b)
# 不等于 “!=”
print(a != b)
# 大于 “>”
print(a > b)
# 小于 “<”
print(a < b)
# 大于等于 “>=”
print(a >= b)
# 小于等于 “<=”
print(a <= b)
False
True
True
False
True
False
- 赋值运算符
- 加法赋值运算 “+=”
- 减法赋值运算 “-=”
- 乘法赋值运算 “*=”
- 除法赋值运算 “/=”
- 取余赋值运算 “%=”
- 取幂赋值运算 “**=”
- 取整赋值运算 “//=”
# 简单赋值运算符 “=”
a = 1
b = 2
# 加法赋值运算 “+=”
b += a # 等用于 b = b + a
print(b)
3
- 逻辑运算符(优先级 not>and>or)
- and 与(一假为假,返回False;同真为真,返回True)
- or 或 (一真为真,返回True;同假为假,返回False)
- not 非 ( 假为真,返回True;真为假,返回False)
a = False
b = True
print(a and b)
print(a or b)
print(not a)
print(not(a and not b))
False
True
True
True
- 成员运算符
- in 在对象里面,返回True
- not in 不在对象里面,返回True
a = ['a',1,2,'b']
print('a' in a)
print('a' not in a)
True
False
- 身份运算符
- is 判断两个标识符是引用同一对象
- is not 判断两个标识符不是引用同一对象
- (id(标识符)获取对象内存地址
a = 1
b = 'a'
c = a is b
d = a is not b
print(c,d)
a = 1
b = 2
c = (id(a) == id(b))
d = (id(a) != id(b))
print(c,d)
False True
False True
8 判断语句和循环语句
- if语句
# 单层if
a = 1
b = 2
if a > b:
print(a)
else:
print(b)
2
# 多层if
a = 1
b = 2
c = 3
if a > b:
print("a>b")
elif a > c:
print("a>c")
else:
print("a是最小的")
a是最小的
# 嵌套if
a = 1
b = 2
c = 3
if b > a:
if b > c:
print("b是最大的")
else:
print('b不是最大的')
b不是最大的
- for循环
for … in …,依次将对象中的元素迭代出来
# range(开始,结束,步长)
# for i in range(5):
# print(i)
# for i in range(1,10,3):
# print(i)
- while循环
while True:
i = 0
while i < 2 :
print("当前是第%d次执行"%(i+1))
print(i)
i += 1
else:
print('结束')
当前是第1次执行
0
当前是第2次执行
1
结束
sum = 0
i = 0
while i <= 100:
sum = sum + i
i += 1
if i == 101:
print('结束')
print(sum)
结束
5050
9 break、continue和pass语句
- break 跳出for和while循环
- continue 跳过当前循环,直接进行下一轮
- pass 是空语句,占位不做任何事
i = 0
while i<3:
i += 1
print("-"*10)
if i == 2:
break
print(i)
----------
1
----------
i = 0
while i<3:
i += 1
print("-"*10)
if i == 2:
continue
print(i)
----------
1
----------
----------
3
i = 0
while i<3:
i += 1
print("-"*10)
if i == 2:
pass
print(i)
----------
1
----------
2
----------
3
# 九九乘法表
for i in range(1,10):
for j in range(1,i+1):
print("%d*%d=%d"%(i,j,i*j),end='\t ')
print('\n')
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
10 导入模块
单个模块的导入()内容可不要
- import 模块名 (as 自定义名称)
- from 模块名 import 某个模块 (as 自定义名称)
多个模块的导入(用,隔开)
- from 模块名 import 模块1,模块2
import random
print('欢迎来到石头剪子布小游戏')
is_y_n = input("是否继续:y继续,n退出。")
while is_y_n == 'y':
x = int(input("石头=0,剪子=1,布=2"))
y = random.randint(0,2) # 生成[0,2]的随机数
print(y)
if x != y:
if x < y:
if x != 0:
print("哈哈,你赢了")
elif x ==0 and y != 2:
print("哈哈,你赢了")
else:
print("哈哈,你输了")
else:
print("平局")
is_y_n = input("是否继续:y继续,n退出。")
欢迎来到石头剪子布小游戏
是否继续:y继续,n退出。y
石头=0,剪子=1,布=22
0
是否继续:y继续,n退出。y
石头=0,剪子=1,布=20
0
平局
是否继续:y继续,n退出。n