一、变量
1.变量定义
一块用来存储数据的空间
2.变量命名规则
硬性规则:
(1)必须由数字、字母、下划线构成,不能含有特殊符号
(2)数字不能开头
(3)变量名不能和python的关键字重复
注意:区分大小写
软性规则:
(1)命名尽量使用描述性的单词来表示;
(2)一个单词描述不清楚,可多个单词
驼峰法:除了第一个单词的首字母之外,后续每个单词的首字母都大写
蛇形命名:单词之间使用下划线分隔
3.使用变量
a = 10 #创建变量(初始化)
b = a #修改a的内容(赋值)
4.变量的类型
利用type()判断变量的类型
(1)整型 int
在python中,int能够表示的数据范围是“无穷的”,根据数据的大小,自动扩容(没有long这些类型)
(2)浮点数 float
Python中的float是双精度浮点数,等同于C++/Java里的double
(3)字符串 string
引号使用单引号或者双引号都可,引号引起来的字符构成字符串
注意:
字符串里面包含了双引号,表示字符串就可以用单引号引起来;
字符串里面包含了单引号,表示字符串就可以使用双引号引起来;
同时有单引号和双引号,利用三引号
a = "My name is 'sxl'"
b = 'My name is "sxl"'
c = '''My 'name' is "sxl"'''
Ⅰ、字符串的个数:len()
print(len(a))
Ⅱ、字符串的拼接
print(a + b) #整型与字符不能相加
(4)布尔 bool
只有true false
注意:只有整型取值为0、空列表、空串、空字典,布尔值才为0
5.动态类型
随程序运行过程中,类型发生改变
a = 10
print(type(a))
a = 'hello'
print(type(a))
一个编程语言是否是动态类型,只取决于运行时类型是否发生改变,不取决于类型是否声明
二、注释
1.单行注释:#
2.多行注释:‘’’ ‘’’ 或者 “”" “”"
"""
多行注释
多行注释
"""
3.批量注释
ctrl + /
三、输入输出
1.格式化字符串
a = 10
# 打印a = 10
print(f"a = {a}") #在{}里面嵌入变量或者表达式,f表示format
2.input()
返回值类型是字符串
若只是单纯拿到用户的输入进行打印,按照str打印即可;若需要根据用户输入内容进行计算,需要将str转换成int
a = input("请输入:")
b = input("输入:")
# 类型转换
a = int(a)
b = int(b)
print(f'a + b = {a + b}')
整型转成字符串:str()
字符串转成浮点数:float()
四、运算符
1.算术运算符
- 加减乘除 取余 %% //
- 运行时出现的错误也叫做”抛出异常“,程序直接停止,后面不会执行
例如:除0错误
a = 10
print(10/0) #ZeroDivisionError
- 乘方运算,既支持乘方,也支持开方
print(4 ** 2)
print(4 ** 0.5)
- 取整除法:向下取整
print(7 // 2) # 3
print(-7 // 2) # -4
2.关系运算符
- 比较两个操作数之间的大小关系:> < >= <= == != (注:大众可以用 = =或者!=来比较字符串大小)
- 关系运算符对应的是表达式,值是布尔类型
- 不仅针对数字比较,还可以比较字符串
- 针对浮点数来说,用==比较相等,存在风险(浮点数在存储和表示的时候存在误差)
print(0.1)
print(0.2)
print(0.1 + 0.2) # 0.30000000000004
print(0.3) # 0.3
# 正确的浮点数比较方式
a = 0.1 + 0.2
b = 0.3
print(-0.000001 < (a - b) < 0.000001) # true
3.逻辑运算符
关系运算符 | python | C++/Java |
---|---|---|
逻辑与 | and | && |
逻辑或 | or | ll |
逻辑非 | not | ! |
- and or not(逻辑取反)
a = 10
b = 20
c = 30
print(a < b < c)
print(a < b or b < c)
print(a < b and c > b)
print(not a < b) # False
注意:短路求值
对于and,左侧为False,即整体为假,不用再求右值;
对于or,左侧为True,整体为True,不用再看右值
4.赋值运算符
- 链式赋值(不建议)
a = b = 10
- 多元赋值(可解决两个变量的交换)
a,b = 10,20
a, b = b, a
print(a, b)
5.复合赋值运算
a = 1
a += 1
print(a)
注意:python不支持++ – 自增自减操作
五、顺序、条件、循环语句
1.顺序语句
按照顺序执行的语句
2.条件语句
- if语句
if expression:
do sth.
next_something
- if - else语句
if expression:
dosomething
else:
dosomething2
- if - elif - else语句
if expression:
do_something1
elif expression2:
do_something2
else:
do_something
- 输入一个整数,判定是否为奇数
a = input("请输入一个整数:")
a = int(a) #input的值为str,要进行类型转换,int()默认进行十进制转换
if a % 2 == 0:
print("偶数")
else:
print("奇数")
注意:若是负数,在Python中%2为1,在C++/Java中,为-1
- 输入一个整数,判定是正数还是负数
a = int(input("请输入一个整数:"))
if a > 0:
print("正数")
elif a < 0:
print("负数")
else:
print("0")
- 判定一个年份是否是闰年,年份若能够被100整除,是世纪闰年,得看是否被400整除
year = int(input("请输入一个年份:"))
if year % 100 == 0:
# 世纪闰年的判定
if year % 400 == 0:
print("世纪闰年")
else:
print("平年")
else:
# 普通闰年的判定
if year % 4 == 0:
print("闰年")
else:
print("平年")
3.空语句
啥都不做但是需要有一条语句来占位,不然会报错
if a != '1':
pass
else:
print('hello')
4.循环语句
(1)while循环
while 条件:
循环体
- 打印1-10的整数
num = 1
while num <= 10
print(num)
num = numm +1
- 计算1-100的和
sum = 0
num = 1
while num <= 100:
sum += num
num += 1
print(f'sum = {sum}')
- 计算5!
result = 1
num = 1
while num <= 5:
result *= num
num += 1
print(f'result = {result}')
- 1! + 2! + 3! + 4! + 5!
num = 1
# sum表示最后的和
sum = 0
while num <= 5:
# 先计算当前num!,再在sum上累加
result = 1
i = 1
while i <= num:
result *= i
i += 1
sum += result
num += 1
print(f'sum = {sum}')
(2)for循环
for 循环变量 in 可迭代对象:
循环体
可迭代对象:特殊的变量,内部包含其它很多的值
- 打印1-10
for i in rang(1,11):
print(i)
注意:range(begin,end)→range[begin,end),还提供第三个参数,表示步长,默认为1
# 打印2 4 6 8 10
for i in range(2,12,2):
print(i)
- 打印10 9 8 7 6 5 4 3 2 1
for i in range(10,0,-1):
print(i)
- 1-100的和
sum = 0
for i in range(1,101):
sum += i
print(f'sum = {sum}')
注意:sum是内建函数,可shift + F6可以针对变量进行重命名,自动把所有需要修改的名字统一替换
5.break、continue
break:立即结束整个循环
continue:立即结束当前这个循环,进入下一次循环
- 给定若干个数字,求平均值
theSum = 0
# count表示数字个数
while True:
num = input('请输入一个数字:')
if num == ';'
# 当用户输入‘;’的时候就表示结束
break;
num = float(num)
theSum += num
count += 1
print(f'平均值为:{theSum / count}')