Python简单介绍
1. 编写python程序的两个地方
1.1 交互式环境 (cmd窗口)
1.2 写入文件(主流,永久保存代码),利用IDE集成开发环境,例如pycharm、vscode、sublime等
2. 运行pytho程序的三个阶段:
2.1 先运行python解释器;
2.2 python解释器将文件内容从硬盘读入内存;
2.3 python解释器识别内存刚刚读入的内容,解释执行。
3. 注释
3.1 多行注释:三个双引号
"""
注释1
注释2
注释3
"""
多行注释加在整个py文件的开头,用来对py文件整体说明,通常一个py文件只有一个多行注释。
3.2 单行注释
# 注释1
print("hello") # 注释1
单行注释可以在代码的上面或者代码右侧,通常代码较长,注释则写在代码的上面。
总结:
1)对代码进行注解说明,增强代码的可读性;
2)注释掉暂时不想运行的代码,起到调试的作用
4. 变量
4.1 什么是变量(底层逻辑)
1)量:事物的状态
变:事物的状态是可以变化的
变量是一种存取内存的机制,可以把事物的状态存起来,并且可以取出修改
2)为何要用变量
是为了让计算机能够像人一样记住事物的状态,并可以修改
3)如何使用变量
原则:先定义,后引用
定义语法:变量名 = 变量值
name = "jing"
age = 233
引用:变量名
4.2 定义变量的三大组成部分
4.2.1 变量名:访问变量值
4.2.2 赋值符号:把变量值的内存地址绑定给变量名
4.2.3 变量值:存储的数据
4.3 变量名命名
4.3.1 大前提:见名知意
4.3.2 规范
1)字母、数字、下划线组成
level = 66
l1 = "J"
age_of_jack = 26
2)不能以数字开头,下划线尽量不要单独使用
3)不能于python关键字冲突
and、as、assert、break、class、continue、def、elif、else,except、exec,finally、for、from、
global、if、import、in、is、lambda、not、or、pass、print、raise、return、try、while、with、yield
4.3.3 命名风格
1)纯小写加下划线(推荐)
age_of_jack = 26
2)驼峰体
a.大驼峰:AgOfJack = 18
b.小驼峰:userName = 'jason'
注:我们在编写代码的过程中,命名风格应当上下保持一致
4.4 拓展
print(1)
print(2)
asdasda # 变量名没有被定义,逻辑错误
print(3 # 语法错误
print(4)
age = 18
age = age + 1
左值:赋值符号左边,存值行为
右值:赋值符号右边,取值行为
5. 常量
python中没有严格意义上的常量,默认使用全大写的变量作为常量,全大写的变量名主要用在配置文件
ps:其他编程语言中有真正的常量,例如:js 中的pi
6. 变量值
5.1 变量值的两大特征
1)id号:是变量值的身份证号,反映的内存地址
name = "jack"
print (id(name))
2)type类型
print(type(name))
5.2内存管理机制
1)垃圾回收机制GC
处理方法:引用计数
x = 10 # 值10引用计数为1
y = x # 值10引用计数为2
y = 1000 # 值10引用计数为1
del x # 值10引用计数为0
优化回收机制:a.分代回收,解决引用计数效率问题
b.标记/清除,解决引用计数有可能发生内存泄漏问题
ps:如果我们想要回收python程序内存空间,只能通过把变量值的引用计数减为零的方式实现
2)小整数池:
x = 257
y = 257
print(id(x))
print(id(y)) # cmd交互式环境范围:-5~256,地址不同;在pycharm解释器上,地址相同
x = 'jack‘
y = 'jacl'
print(id(x))
print(id(y)) # 地址相同
x = [1,2,3]
y = [1,2,3]
print(id(x))
print(id(y)) # 地址不同
总结:1.id相等,值一定相等
2.值相等,id不一定相等
拓展:
1.is : 判断id是否相等
2.== : 判断值是否相等
l1 = [1,2,3]
l2 = [1,2,3]
print(l1 == l2)
print(l1 is l2)
# x = 运行一个功能()
x = None
x == None
print(x == None) # None只有一个值,应当使用print(x is None)
x = 10
y = x
print(x is y) # Trun
7. 基本数据类型
7.1 数字类型
7.1.1 整型int
记录人的年龄、号码等
age = 18
print(type(age))
out
<class 'int'>
7.1.2 浮点型float
记录人的薪资、身高体重、体重等
salary = 2.2
print(type(salary)
out
<class, 'float‘>
# x = 18
# y = 1.8
# print(x + y) # 只有浮点型和整型之间能运算,其他不同类型之间不能运算
# print(x > y)
out
#19.8
#True
7.2 字符串str
记录描述性质的状态,即引号引起来的部分,描述性的文本,比如名字、一段话、性别等
name = 'richer'
name1 = "richer"
name2 = """richer"""
name3 = '''richer'''
# 三引号还可以用来表示注释
msg = "my name is 'richer'"
print(msg,type(msg))
out
<class,'str'>
# age # 变量名
# "age" # 变量值的一种,str
# 了解:
# print("abc"+"xxx") # 同类型字符串能拼接
# print("abc"*3) # 字符串的复制
# print("*"*50)
# print('hello')
# print("*"*50)
# out
# abcxxx
# abcabcabc
# **************************************************
# hello
# **************************************************
7.3 列表 list
中括号括起来,内部可以放多个元素,元素与元素之间用逗号隔开,元素可以是任何数据类型
# 比如记录一个人的爱好
# hobbies = "打篮球 阅读 看电影"
# 0 1 2
# hobbies = ["打篮球", "阅读", "看电影"]
# print(hobbies[1]) # 索引
# print(hobbies[-1])
# out
# 阅读
# 看电影
# 0 1 2 3
# l1 = [1111,1.3333,"aaa",['bbb','ccc']]
# print(type(l1))
# print(l1[3][0])
# out
# <class 'list'>
# bbb
7.4 字典dict
大括号括起来,内部可以存放多个元素,元素的表现形式是key:value键值对
k一般是对v的描述性信息
v可以是任何数据类型
# info = ["egon", 18, 1.8, 80, "male"]
# info = {
# "name": "egon",
# "age": 18,
# "height": 1.8,
# "weight": 80,
# "gender": "male"
# }
# print(info["name"])
# info = ["egon",18,"male"]
# dic = {"k1":11111,"k2":1.3,"k3":"xxx",'k4':[111,222,333],"k5":{"a":1,"b":2}}
# print(dic['k4'][1])
# print(dic['k5']["a"])
#out
#egon
#222
#1
7.5 布尔值bool(True ,False)
# 记录真假
# print(type(True))
# print(type(False))
# x = True
# y = True
# print(10 > 3)
# out
# True
"""
当变量名存储的值是布尔值的情况下,那么变量名一般都是以is开头
is_delete
is_right
is_status
"""

浙公网安备 33010602011771号