python基础—条件语句
1、第一句python
print('hello,world')
Q: 后缀名可以任意?
A: 导入模块时,如果不是.py后缀,会出错。
2、两种执行的方式:
-python解释器 py文件路径
-python 进入解释器,实时输入并获取执行结果。
3、编码
# -*- coding:utf8 -*-
python3无需关注
python2每个文件只要出现中文,头部必须加
4、执行一个操作
提醒用户输入:用户名和密码
获取用户名和密码,检测:用户名=root 密码root
正确:登陆成功
错误:登陆失败
(1)input的用法:
永远等待,直到用户输入了值
5、变量名
- 字母
- 数字
- 下划线
ps:数字不能开头,不能是关键字,最好不要和python内置的东西重复。
以下关键字不能是变量名:
import keyword keyword.kwlist ['False',
'None',
'True',
'and',
'as',
'assert',
'async',
'await',
'break',
'class',
'continue'
'def',
'del',
'elif',
'else',
'except',
'finally',
'for',
'from',
'global',
'if',
'import',
'in',
'is',
'lambda',
'nonlocal'
'not',
'or',
'pass',
'raise',
'return',
'try',
'while',
'with',
'yield']
6、if条件语句
(1)、if基础语句
if条件:
内部代码块
内部代码块
else:
内部代码块
print('……')
if 1==1:
print("欢迎来到第一会所")
else:
print("欢迎来到一本道") print("谢谢惠顾")
(2)、if支持嵌套
if ==1:
if 2==2:
print("欢迎光临")
else:
print("谢谢惠顾")
else:
print("下次再来")
(3)、if elif
n=input("请输入会员级别: ")
if n=="黄金会员"
print("宋胖子")
elif n=="钻石会员"
print("马頔")
elif n=="铂金会员"
print("李逼")
else:
print("凤姐")
7、基本数据类型
(1)、字符串(引号) 只有加法和乘法
加法:
n1="alex"
n2="sb"
n3=n1+n2
n3="alexsb"
乘法:
n1="alex"
n2=n1*10
n2="alexalexalexalexalexalexalexalexalexalex"
(2)、数字: 加减乘除次方取余
age=26
n2=n1**n1 n1的次方
n3=n1/n2 除法 (直接除尽)
n3=n1//n2 除法取商
n3=n1%n2 取余数
8、循环
死循环 while 1==1:
print("ok")
补充:continue 出现后, 终止当前循环,开启下一次循环
break 出现后,直接退出所有循环
count=1
while count<11:
if(count==7):
count+=1
continue print(count)
count+=1
9、练习题
(1)、使用while循环输出1 2 3 4 5 6 8 9 10
n=1
while n<11:
if n==7:
pass
else:
print(n)
n+=1
(2)、输出1—100内的所有奇数
n=1
while n<101:
temp=n%2
if temp==0:
pass
else:
print(n)
n+=1
(3)、输出1-100内所有数的和
n=1
s=0
while n<101:
s=s+n
n+=1
print(s)
(4)、求1+2-3+4-5……99所有数的和
n=1
s=0
while n<100:
temp=n%2
if temp==0:
s=s+n
else:
s=s-n
n+=1
print(s)
(5)、用户登录,三次机会重试
n=0
while n<3:
user=input(' ')
pwd=input(' ')
if user=='alex' and pwd=='':
print('欢迎光临')
break
else:
print('用户名或密码错误')
n+=1
补充:
(1)、内存管理
Python解释器采用引用计数的方式来跟踪内存中的对象状态,Python记录着所有在使用的对象有多少引用,每个对象被引用多少次,这被称为引用计数,当对象被引用时,就设置一个引用计数,不再使用时,就将其计数归零,然后在合适的时候通过垃圾回收器回收。
(2)、垃圾回收
不再被引用的内存会被垃圾回收器自动回收,垃圾回收器是一块独立的代码,专门用来寻找和销毁引用计数为0的对象,同时也会检查引用计数大于0但也应该被销毁的对象。在某些情况下,光靠引用计数来管理内存是不够的,如循环引用。
a = []
b = []
a.extend(b)
b.extend(a)
列表a和列表b相互引用,如果不存在其他对象对它们的引用,它们的引用计数仍然为1,所占内存永远不会被回收。
为了解决循环引用的问题,Python又引入了“标记—清除”和“分代回收”两种机制来辅助内存管理。
“标记—清除”分为两个阶段,第一阶段垃圾回收器会将所有活动对象打上标记,第二阶段将没有标记的非活动对象进行回收。
对象是否处于活动状态,垃圾回收器又如何判断:

如上图所示:箭头指向的方向表示可达,节点A作为根对象(根对象一般是全局变量以及寄存器上的变量),从A出发能到达B、C、D、E、F,在第一阶段都被标记为活动对象,而没有箭头指向G,则表示G不可达,标记为非活动对象。第二阶段垃圾回收器扫描内存表的时候,就会将G回收。“标记—清除”一般用来处理容器对象,如列表,元祖,字典等。
“标记—清除”也存在一定的问题,就是每次给对象做标记时,都会将整个内存表扫描一遍,即使本次与上次对象状态变化不大,这就带来了额外性能消耗。
“分代回收”是一种用空间换时间的回收方式,Python将对象分为3“代”,和“3代人”中的“代”一个意思。3个代分别为:0代,1代,2代,每个代对应一个集合,新创建的对象就会放到0代,当0代集合存不下新对象的时候,就触发一次垃圾回收器,能回收的对象就回收,不能回收的将其移动到1代。当1代的空间也存不下新移入的对象时,就再触发一次回收,这次回收不了的对象就会被移动到2代,2代是程序运行过程中存货时间最长的对象,甚至会等到程序退出空间才被释放。
python基础—条件语句的更多相关文章
- python基础-条件语句if
if语句: if 判断条件: 执行语句 else: 执行语句 flag = Falsename = 'huipaodexiong'if name == 'python': flag = True ...
- Python编程基础[条件语句if 循环语句 for,while](二)
ython条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: if 判断条件: 执行语句……else: 执行语句…… x= ...
- Python基础——循环语句、条件语句、函数、类
注:运行环境 Python3 1.循环语句 (1)for循环 注:for i in range(a, b): #从a循环至b-1 for i in range(n): #从0循环至n-1 ...
- Python基础——条件判断
Python版本:3.6.2 操作系统:Windows 作者:SmallWZQ 到目前为止,Python基础系列的文章中的程序都是一条一条语句顺序执行的.在本章中,我会重点介绍让程序选择是否执行语 ...
- Python基础 条件、循环
1.条件语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. if if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的 ...
- Python初识+条件语句+循环语句
一.写照: 1.第一个程序 hello world print('hello world') 后缀名可以是任意(只是现在)(lx.py lx.ps) 导入模块时不是.py 就会出错 2.解释器路径 # ...
- Python 全栈开发三 python基础 条件与循环
一. 条件语句 python条件语句是根据一条或多条语句的执行结果的真假(True Or False)来决定代码块的执行. 而执行内容可以多行,以缩进来区分表示同一范围. 1.Python判断条件真假 ...
- Python 的条件语句和循环语句
一.顺序结构 顺序结构是最简单的一种程序结构,程序按照语句的书写次序自上而下顺序执行. 二.分支控制语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块 ...
- Python之条件语句以及循环
Python代码的缩进规则.具有相同缩进的代码被视为代码块 缩进请严格按照Python的习惯写法:4个空格,不要使用Tab,更不要混合Tab和空格,否则很容易造成因为缩进引起的语法错误. 注意: if ...
随机推荐
- Python time.time()方法
描述 Python time time()返回当前时间的时间戳. 时间戳:时间戳是指格林威治时间1970年01月01日00时00分00秒(背景时间1970年01月01日08时00分00秒)起至现在的总 ...
- netty源码解析(4.0)-21 ByteBuf的设计原理
io.netty.buffer包中是netty ByteBuf的实现.ByteBuf是一个二进制缓冲区的抽象接口,它的功能有: 可以随机访问.顺序访问. 支持基本数据类型(byte, shor ...
- 我为什么建议前端将Python 作为第二语言?
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 前端劝退师 PS:如有需要Python学习资料的小伙伴可以加点击下 ...
- 原生js对cookie的增删改查
一.增 document.cookie = cname + "=" + cvalue + ";expires=" + expires + ";path ...
- vue.js+THREE.js演示服务端3D模型流程总结
three.js官网 ·场景搭建 使用npm或者其他获取安装three,就像npm i three,之后在需要演示模型的vue组件内import * as THREE from 'three',此时我 ...
- JavaScript动态加载script方式引用百度地图API,Uncaught ReferenceError: BMap is not defined
百度地图官网文档介绍使用JSSDK时,仅提供了2种引入方式: script引入 异步加载 实际工作场景中仅某一两个页面或者只是单纯有功能需要用到百度地图,所以没有必要在 index.html 中全局引 ...
- [转]VBA Check if an outlook folder exists; if not create it
本文转自:http://www.outlookcode.com/d/code/quarexe.htm To quarantine application file attachments This O ...
- SSM框架中mapper和mapping.xml文件在同一个包下需要的配置
前言 当我们在开发过程中,由于maven项目本身的限制,我们不能直接把我们的mapper.xml文件和对应mapper.java接口文件放到一起,也就是不能直接放在java包中,如图: 因为mave ...
- 利用webpack打包自己的第一个Vue组件库
先说一下这篇文章的诞生原因.我们有一个这样的项目,类似或者说就是一个仪表板-Dashboard,其中的各个部分可能不是一个部门写的……我们需要提供拖拽布局(大小和位置)和展示的能力.要实现这样一个功能 ...
- iotop使用方法
iotop 是一个用来监视磁盘 I/O 使用状况的 top 类工具.iotop 具有与 top 相似的 UI,其中包括 PID.用户.I/O.进程等相关信息. 安装 yum install iot ...