文章目录
- 1. 数据类型
- 2. 字符串的引用
- 3. 字符串拼接
- 4. Python中的报错
- 5. Python中的输入语句(input)
- 6. 运算符(**和//)
- 7. 除法运算
- 8. 注释方法: #或者三引号
- 9. Python中的比较
- 10. Java中用and, or, not代替逻辑运算符
- 11. 多元赋值
- 12. Python不支持自增自减操作
- 13. 在Python中, 整数可以和布尔类型可以相加, true为1, false为0 (这样设定并无意义)
- 14. Python中每条语句末尾的分号可有可无, 但是多条语句写在一行必须加分号隔开(不建议这样写)
- 15. Python中布尔类型首字母要大写
- 16. Python中的条件语句if
- 17. Python中的代码块
- 18. Python中的while循环
- 19. Python中的for循环: for+ 循环变量+ in +可迭代对象:
- 20. Python中随机数的生成
- 21. sys.exit(0) 退出程序
1. 数据类型
int, float, str类型
int类型表示整形, 无穷大, 除了int没有其他表示整形的数据类型了
float类型表示双精度浮点型, Python无double
str是字符串类型
在Python中, 在声明变量时不需要声明变量类型, 系统自动识别变量的类型, 举例如下
a=10
print(type(a))# type识别数据类型a=1.1
print(type(a))a=True
print(type(a))
运行结果
2. 字符串的引用
因为Python中没有字符类型, 所以单引号和双引号都能表示字符串
- 当使用字符串类型时单引号和双引号都可以使用 (Python中无字符类型)
a="abcd"
b='abcd'
- 当字符串中含有单引号时, 可以使用双引号来引注字符串, 不需要使用转义字符
print("I'm '李华' ")
- 当字符串中含有双引号时, 可以使用单引号来引注字符串, 不需要使用转义字符
print('I am "lihua" ')
- 当字符串中既有单引号又有双引号时, 可以使用三引号(单双引号打三个)来引注字符串
print("""I'm "lihua" """)
运行结果
3. 字符串拼接
在Python中, 不能使用字符串类型和数字类型进行拼接
print('hello' + 10)
需要格式化字符串, f前缀, 这样可以使用大括号添加我们需要的值
a=10
b=20
print(f"sum = {a+b}")
python最早和C一样, 使用printf加占位符的方式进行字符串格式化
python3.6之后进化成f-string的方式, 更加方便了
4. Python中的报错
- 语法错误, 在程序运行之前, Python解释器就能把错误识别出来
- 运行错误, 执行到相应代码时才能发现问题
5. Python中的输入语句(input)
python中使用input进行输入, 在执行的时候会等待用户输入数据
input输入的是字符串
如果需要进行运算就要先把读到的内容进行强制转换, 写成类型()
a = input("请输入一个数: ") #input输入的是字符类型, 无法做算术运算
print(type(a))a = int(a) #类型转换
print(type(a))
6. 运算符(**和//)
Python中加了两个运算符**(整数是乘方, 小数是开方), //(取整除法, 对计算结果进行"向下取整", 取较小整数)
print(2**3) #乘方
print(2**0.5) #开方
print(5//2) #向下取整
print(-5//2) #向下取整
7. 除法运算
Python中, 整数除以整数会出现小数
print(5/2)
8. 注释方法: #或者三引号
# 这是一段注释
"""
这也是一段注释
"""
9. Python中的比较
浮点数比较有风险, 要是用范围比较, 并且在Python中支持链式比较
a = 0.1
b = 0.2
c = 0.3
print(a+b == c) #打印False
# 原因
print(a+b) #打印0.30000000000000004
print(c) #打印0.3
# 正确比较方法
print(c-0.00001 < a+b < c+0.00001)
# 支持链式比较, Java中需要这样写: c-0.00001 < a+b && a+b < c+0.00001
10. Java中用and, or, not代替逻辑运算符
这样是代码的可读性更强, and为且(&&), or为或(||), not为非(!)
11. 多元赋值
不需要使用临时变量就可以进行两值交换
a, b = 10, 20
# 在Java中交换两个变量的值需要用到中间变量或者使用异或操作符
# 在Python中就可以使用下面方法完成交换操作
print(f"交换之前 a = {a}, b = {b}")
a, b = b, a
print(f"交换之后 a = {a}, b = {b}")
12. Python不支持自增自减操作
13. 在Python中, 整数可以和布尔类型可以相加, true为1, false为0 (这样设定并无意义)
print(10+True)
print(10+False)
14. Python中每条语句末尾的分号可有可无, 但是多条语句写在一行必须加分号隔开(不建议这样写)
15. Python中布尔类型首字母要大写
16. Python中的条件语句if
Python中if条件语句判断条件不加括号, 在结尾加冒号(表示条件结束), 且else if写为elif
# 判断正负数
a = int(input('请输入一个数: '))
if a>0:print('正数')
elif a<0:print('负数')
else:print(a)
17. Python中的代码块
Python中使用缩进的方式来表示代码块, Java则使用{}将相关代码括起来
a=int(input("请输入一个数: "))
b=int(input("请输入一个数: "))
if(a==1):print('aaa')if(b==1):print('bbb')
print('ccc')
可以按照下面这个图理解, 但这是一个错误的写法
18. Python中的while循环
跟if语句一样, 判断条件不加括号, 而要在判断条件之后加冒号, 表示条件语句的结束
a = 10
while a > 0:print(a)a = a - 1
# 也是以缩进的方式来表示代码块
19. Python中的for循环: for+ 循环变量+ in +可迭代对象:
range是Python中的一个内置函数, 起到的效果就是得到一个"可迭代对象", 这个可迭代对象中就包含了一系列的整数
range(beg, end), 从beg开始到end结束, 左闭右开
range(beg, end, 步长), 步长默认是1, 步长为每两个数的间隔
for i in range(1,11):print(i)
print(('======================='))
for i in range(1,11,2):print(i)
shift+F6或者fn+F6 重命名快捷键
20. Python中随机数的生成
random.randint可以生成随机数, 左闭右闭, random是Python中的一个模块, 是别人写好给我们来使用的, 负责专门生成随机数
import randoma=random.randint(1,10)#生成1-10的随机数
print(a)
在Python中如果要使用模块, 要先使用import进行导入