一、基础知识
1、注释
单行注释 : #
# 这是一条注释
多行注释: ''' """
''' 第一种
多行注释 '''
""" 第二种
多行注释 """
2、变量命名规范
(1)组成:数字、字母、下划线
(2)不能由数字开头
(3)不能使用关键字
3、常量
python中并不想其他语言有绝对意义上的常量(如C/C++ 的const常量)。而是使用将变量名全部大写的方式表示常量。(只是约定俗成,程序员看到后不去更改,但是实际上这个变量可以成功修改)
4、数据类型
数字: 整形 -- int 浮点型 -- float
操作 + - * /
字符串 str
操作 +(只能和相同类型相加)
* (只能和数字相乘 ,表示重复次数)
布尔 -- bool True (对) False (错)
python中可以使用type来查看变量的类型
num = 1024
name = '大卫'
print(type(num))
print(type(name))
5、基础数据类型转换
想要把 xxx 转化成谁,就用谁套起来
str ----> int int(str)
num1 = "10"
num2 = 5
num1 = int(num1)
print(num1 + num2)
6、用户交互 input
格式: 变量 = input( 提示语 )
# 首先在屏幕上显示提示语,用户输入内容,然后将内容赋值给变量
#提示:input获得的变量都是字符串类型(str),如果想要完成运算等操作,注意先进行类型转换
num1 = input("请输入第一个数字:")
num2 = input("请输入第二个数字:")
print(type(num1))
num1 = int(num1)
num2 = int(num2)
print(num1 + num2)
7、条件判断
(1) if语句格式
if 空格 条件 :
代码
money = 500
if money >300:
print("吃大餐")
print("回家")
注意:python中并没有大括号,所以依靠缩进来表示代码的层次关系。一个层级的代码,缩进必须保持严格一致
(2) if-else 条件判断
格式 :
if 条件 :
代码
else :
代码
money = 240
if money >300:
print("铁锅炖")
else:
print("窝窝头")
(3) if语句的嵌套
格式:
if 条件:
if 条件:
代码
else:
代码
else:
代码
money = int(input("请输入你兜里的钱:"))
if money > 1000:
if money > 5000:
print("办会员卡")
else:
print("洗个脚就走")
else:
print("直接回家")
(4)elif
格式:
if 条件:
代码
elif 条件:
代码
.....
else:
代码
money = int(input("请输入金额:"))
if money > 5000:
print("办卡")
elif money >2000:
print("洗个脚")
else:
print("回家")
8、while循环
格式:
while 条件:
代码
先做条件判断,为真则执行代码。代码执行完毕继续判断条件是否为真,为真继续执行。直到条件为假跳出循环
# 1-2+3-4+5-6+7...-100 = ?
i = 1
res = 0
while i <= 100:
if i % 2 == 0:
res -= i
else:
res += i
i += 1
print("结果为:" + str(res))
9、break和continue
break: 跳出循环体
continue:跳过当前循环,进入下一次循环
---------------------------------------- break ------------------------------------------
while True:
str = input("请输入你要喷的内容(q为结束):")
if str == 'q':
break
print("发送给下路:", str)
---------------------------------------- continue ------------------------------------------
# 输出 1 - 10,跳过4
i = 1
while i <= 10:
if i == 4:
i += 1
continue
print(i)
i += 1
10、for循环
格式:
for 变量 in 可迭代的对象:
代码
把可迭代对象的每一项赋值给前面的对象,每一次赋值,都要执行一遍循环内的代码
s = "你好啊, 我叫赛利亚"
for c in s:
print("本次循环得到的字符:", c)
for循环想要计数,必须借助于range
(1) range(n) 从0数到n,但是不包括n,每次的间隔是1
(2) range(m,n) 从m数到n,但是不包括n,每次的间隔是1
(3) range(m,n,s) 从m数到n,但是不包括n,每次的间隔是s
# 从1数到9
for num in range(10):
print(num)
# 从3数到9
for num in range(3,10):
print(num)
# 从1数到9,但是中间每次加2
for num in range(1,10,2):
print(num)
11、pass关键词
作用:起到代码占用,写代码的时候,某个地方没想好些什么,可以先写个pass放上去,代码不会报错
a = 10
if a > 100:
psss
else:
a -= 1
二、基础数据类型
1、bool
用来做条件判断
取值范围:True False
在Python中,所有非0的数都是True,0是False
所有空的基础数据类型都是False,非空的基础数据类型都是True
a = 10
print(type(a))
b = bool(a)
print(b)
------------------------------------------ 字符串之于 bool --------------------------------------------
# 空字符串是False 非空字符串是True
s = ""
b = bool(s)
print(b)
s = "hello"
b = bool(s)
print(b)
2、int
表示整数,进行加减乘除等运算
python和C/C++不同的一点:
两个整数相除,不能整除时,C/C++得到的是一定是整数。Python得到的是浮点数
print(10 / 3)
3、字符串
(1) 字符串格式化问题
# 字符串格式化问题
# 我叫xxx,我住在xxx,我今年xxx岁,我喜欢xxx
name = input("请输入你的姓名:")
address = input("请输入你的住址:")
age = int(input("请输入你的年龄:"))
hobby = input("请输入你的爱好:")
# %s 字符串占位,也可以表示其它类型占位(万能)
# %d 整数占位
# %f 浮点数占位
s = "我叫%s, 我住在%s, 我今年%d岁, 我喜欢%s" % (name, address, age, hobby)
s2 = "我叫{}, 我住在{}, 我今年{}岁, 我喜欢{}".format(name, address, age, hobby)
# Python 3.4以后新增 f-string
s3 = f"我叫{name}, 我住在{address}, 我今年{age}岁, 我喜欢{hobby}"
print(s3)
(2)字符串索引
# 字符串索引
s = "我叫周杰伦"
print(s[3]) # 索引是从0开始
print(s[0])
print(s[-1]) # -1 倒数第一个
(3) 切片
语法: 字符串对象 [start:end] [ start , end ) 右边是开区间
# 切片
s = "我叫周杰伦, 你呢"
print(s[2:5]) # 从索引3开始切,到索引6结束。 但是取不到索引6的内容
print(s[:5]) # 如果从索引0开始, start可以省略
print(s[2:]) # 如果到末尾结束,end可以省略
print((s[:])) # 如果从开头到末尾,则都可以省略
切片中的步进
(4) 字符串的切割和替换
# 字符串的切割和替换
# replace(old, new) 字符串替换
s = "你好啊,我叫赛利亚!"
s1 = s.replace("赛利亚", "周杰伦")
print(s1)
s = " 你 不可以 打 篮球"
s1 = s.replace(" ", "") # 替换掉所以空格
print(s1)
# splite(用什么切割),字符串切割,用什么切割,就会损失掉谁
s = "jave_python_c#_c++"
s1 = s.split("_") #切割后的结果会放在一个列表中
print(s1)
# strip 去掉字符串前后两端的 空格 \t \n
# 案例 用户输入用户名 假如用户在后面输入
name = input("请输入用户名:").strip()
password = input("请输入密码:")
if name == "admin":
if password == "123456":
print("登录成功!")
else:
print("登录失败!")
else:
print("登录失败!")
(5)、查找和替换
# startswith 、 isdigit 、 in 、 not in
s = "你好,我叫赛利亚"
index = s.startswith("你好") # 判断字符串是否以参数内容开始 返回布尔类型
print(index)
money = input("请输入你的余额:")
if money.isdigit(): # 判断字符串是否全部由数组组成,返回布尔类型
print(f"您的余额还有:{money}")
else:
print("输入内容有误")
para = "赛利亚"
if para in s: # 判断调用的字符串是否包含在参数字符串中 包含返回 True
print("是赛利亚")
else:
print("是坏人")
para_2 = "迪迦"
if para_2 not in s: # 判断调用的字符串是否 不包含 在参数字符串中 不包含返回True
print("True")
else:
print("False")
(5)、join 和 len
# 补充的内置函数
# len join
s = "hello"
print(len(s)) # 返回字符串的长度
# join
m_list = ['科比', '乔丹', '麦迪']
s = "-".join(m_list) #和 split相反 将列表所有内容,以调用的内容连接成一个字符串返回
print(s)
3、列表
# list 列表 和其它语言的数组很像,但是区别是对内部存储的元素 不作类型要求,不想数组
# 只能保存同一类型的元素
lst = ["金毛狮王", "张三丰", "张无忌", "法海"]
# 1、有索引、切片操作
# 2、可以for循环
# 3、索引越界会报错
print(lst[0])
for name in lst:
print(name)
print(lst[1:3])
-----------------------------------------------------截至 5月29日 -----------------------------------------------