一.编码
简单介绍一下编码
二.注释
单行注视:# 被注释内容
多行注释:""" 被注释内容 """
三.变量
什么是变量?
变量即变化的量,核心是“变”与“量”二字,变即变化,量即衡量状态。
为什么要有变量?
程序执行的本质就是一系列状态的变化,变是程序执行的直接体现,所以我们需要有一种机制能够反映或者说是保存下来程序执行时状态以及状态的变化。
比如: 英雄的等级为1,打怪升级(变)为10 僵尸的存活状态True,被植物打死了,于是变为False 人的名字为egon,也可以修改为Egon
如何定义变量?
#变量名(相当于门牌号,指向值所在的空间),等号,变量值
name='Egon'
sex='male'
age=18
level=10
变量的定义规范:
四.常量
常量即指不变的量,如pai 3.141592653..., 或在程序运行过程中不会改变的量
举例,假如你的年龄会变,那这就是个变量,但在你吃了长身不老药,你的年龄不会变了,那就是常量。在Python中没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代表常量
五.基本数据类型
Python3 中有六个标准的数据类型:
- int(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Set(集合)
- Dict(字典)
- 不可变数据(3 个):int(数字)、String(字符串)、Tuple(元组)
- 可变数据(3 个):List(列表)、Dict(字典)、Set(集合)
1. int ==> 整数. 主要用来进行数学运算
2. str ==> 字符串, 可以保存少量数据并进行相应的操作
3. bool==>判断真假, True, False
4. list==> 存储大量量数据.用[ ]表示
5. tuple=> 元组, 不可以发生改变 用( )表示
6. dict==> 字典, 保存键值对, 一样可以保存大量数据
7. set==> 集合, 保存大量数据. 不可以重复. 其实就是不保存value的dict
数字 int , float
int只有一个用法一般不经常用但是要有个印象
* bit_ length()返回一个数的二进制长度
#int整型
定义:age=10 #age=int(10)
用于标识:年龄,等级,身份证号,qq号,个数
#float浮点型
定义:salary=3.1 #salary=float(3.1)
用于标识:工资,身高,体重,
字符串 str
通俗定义 : 用',",''',""" 阔气来的内容叫字符串(所以以后看到这些标识符就要清楚它是字符串类型)
字符串是不可变的数据类型,不论你执行任何操作,源字符串是不会改变的
str.的一些基本操作,(在编程中会大量的用到,这是基础所以一定要扎实)
1.引索和切片
引索从0开始,使用[下标]可以获取到每个字符还可以倒着数
切片:[起始位置:结束位置:步长]
下面是一些举例
#在python中,加了引号的字符就是字符串类型,python并没有字符类型。
str='Runoob'
print(str) # 输出字符串
print(str[0:-1]) # 输出第一个到倒数第二个的所有字符
print(str[0]) # 输出字符串第一个字符
print(str[2:5]) # 输出从第三个开始到第五个的字符
print(str[2:]) # 输出从第三个开始的后的所有字符
print(str * 2) # 输出字符串两次
print(str + '你好') # 连接字符串
print('------------------------------')
print('hello\nrunoob') # 使用反斜杠(\)+n转义特殊字符
print(r'hello\nrunoob') # 在字符串前面添加一个 r,表示原始字符串,不会发生转义
输出结果:
Runoob
Runoo
R
noo
noob
RunoobRunoob Runoob你好 ------------------------------ hello runoob hello\nrunoob
注意切片有两个特点:
1.顾头不顾尾
2.默认从左往右切,如果要从右往左切那就在步长的位置前面加"-"就可以实现这个功能.
字符串的相关知识
1.s.upper() 转换成大写
2.s.capitalize() #把首字母变成大写
3.s. lower() #把字母变成小写
4.s.swapcase ()#大小写互换
5.s.casefold()#转换成小写与lower()不同的是前者可以变欧洲的国家的一些字体变成小写
6.s.title() #把每个单词的首字母大写(只要不是字母就会分开将其大写)
7.s.center()居中
8.s.strip() #默认去掉空白,空白\t \n *必须掌握
为了让改掉用户喜欢输入空格的毛病就在后边加上.strip()
拓展内容s.lstrip()去左边的空格 s.rstrip去掉右边的空格
9.s.replace()字符串的替换
10.s.split 切完的结果是一个列表,列表中装的是字符串,用什么切,就会损失掉什么.
特殊情况:如果切的是字符串的所有内容,那么就会出现什么都没有切的情况,字符串是什么,print()的结果就是什么.
11.s.startwhith()#是不是以XX开头
12.s.endswith()# 是否以XX结尾
13.s.count()#求次数
12.s.find()# 找出现第一次出现的位置
13.s.index# 也是查找但是如果没有的话会报错
条件的判断
1.s.isdigit()# 判断是不是数字
2.s.isalpha()#判断是不是字母
3.s.isalnum()#判断是不是由数字会和字母组成的
4.s.isnumeric()#判断是不是数字什么都可以检测就连汉字的数字也是可以的
len()求元素的数量非常方便
以上这些只是经常会用到的一些,还有一些在用到的时候可以在Pycharm中去查
来!给你一张图安排的明明白白
有个知识点需要注意
s = "asdfer"
for i in s:
print(s)
输出的结果是把asdfer,输出它的len()遍
s = "asdfer"
for i in s:
print(i)
是把整个字符串边里一遍
用户交互
input() ==> ”阻塞式“
语法:
变量 = input(”提示语“) 注意input出来的是一个字符串类型的这个在前期是很容易混淆的
input的作用是
1. 在屏幕上输出括号内的字符串
2. 接受用户输入的内容并返回到程序
3. input返回的内容一定是str类型
这是在以后需要转换类型准备的知识点:
如果以后遇到将字符串转为整数时直接用此方法: int(str)
反之亦然str = > int : int(str),经常会换来换去多加练习就会熟练.
程序结构
三大结构:顺序 分支 循环
1. 分支结构
-在某一个点产生分支,最终终会汇合.
if的语法规则:
if 条件判断:
代码块1
else:
代码块2
双向分支有两个分支,当程序执行带 if...else 语句得时候一定会执行 if 或者 else 中的一个,也仅仅执行一个。
gender = input("请输入性别: ")
print("你输入的性别是{0}".format(gender))
if gender == "男":
print("我讨厌你")
else:
print("我喜欢你")
print("开始上课了")
1.2 多路分支:
if ... elif ... else
# score 存放学生成绩
# 注意input 的返回值类型
score = input("请输入学生成绩:")
# 把需要str转换成int
score = int(score)
if score >= 90:
print("A")
elif score >= 80:
print("B")
elif score >= 70:
print("C")
elif score >= 60:
print("D")
else:
print("你走!")
2 循环结构
- 重复执行某些固定的动作或者处理固定的事务
- while 循环
- for 循环
while循环
- 表示当某条件成立的时候就循环
- 不知道具体的循环次数,但能确定循环的成立条件的时候用while循环
语法规则:
while 条件表达式: 语句块
或者 while 条件表达式: 语句块1 else: 语句块2
# 如果年利率是6.7%,本利是每年翻滚,则多少年后本钱会翻倍
money = 10000
year = 0
rate = 0.067
while money < 20000:
money = money * (1 + rate)
year += 1
print("第%d年拿了%d块钱" %(year,money))
流程控制 -break 、 -continue 和 -pass
1.break:无条件结束整个循环,简称循环猝死。
2.continue: 停止本次循环,继续执行下一次循环。(一般可以用来排除一些条件)
3.pass: 表示略过,常用来占位
# pass例子,一般用于占位
for i in range(1,5):
pass
print("上面是占位的")