python基础学习(起步)
python基础学习(起步)
让我们一起跟着python大师学习魔法,学习的第一天python大师就传授了这样几个概念:
变量
什么是变量?
变量顾名思义,就是变化的量。世间万物的属性都可以看做是变量,比如身高、体重。
引用变量的目的?
既然万物的属性都有个状态或者值,那么就应该有个标签去描述它并存储,以便下次使用的时候直接调用。
python下变量的表示形式
name = "猪猪侠"
age = 8
爱好 = ["打抱不平","吃零食"]
***注意避开一下关键字:
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
变量命名方式
驼峰体
AgeOfGGBond = 8
下划线(推荐)
age_of_GGBond = 8
常量
既然有变量,那么就必然要有常量,在python中常量的本质还是变量的一种表示形式,但是默认全大写字母表示常量,如:
NAME = "GG Bond"
pyhton 似乎不可以像JAVA那样声明 finally int age = 8。
变量的内存管理
在python中创建变量的同时,计算机会自动分配一个内存地址用于存储变量数据,值得一提的是,如果a不是b的别名(即不存在a=b这样的直接或间接的赋值语句),那么理论上”a is b"(即使a==B)返回的应该是False,意思就是他们的指向的内存地址不一样。但是以下数值不适用以上的理论:
[-5,256]的整数:python为了优化速度,避免为整数频繁地申请及释放内存空间,设置了小整数池[-5,256],这个范围内的整数都是预先创建好的,不会被垃圾回收机制回收。(同理,单个字母也是这样)
bool: 布尔类型
str :
长度小于等于1,直接缓存
长度大于1.字符串中如果只有数字,字母,下划线,就会缓存
使用sys模块中的intern()缓存字符串,机制如下:
intern机制就是让他只占用一个"helloooooooooooooooooo"所占的内存空间。靠引用计数去维护何时释放。
python垃圾回收机制
上文我们提到python的垃圾回收机制,那么他到底是什么样的呢?简单解释就是依靠引用计数去判断这个数据是不是活动对象,如果对象的引用计数为零,那么系统会立刻释放该对象。(大部分情况下是如此的,其他情况会用到另外的清除算法,我们可能会在以后进行探讨)
变量的其他赋值方式
变量除了有传统的a=1这样的赋值方式,还有以下几种常用的赋值:
- 链式赋值
a = b = c = d = 10
交叉赋值
x = 1
y = 2
x,y = y,x # x=2 y=1
今日编程小题
需求:给定一个标准年龄,用户通过输入年龄判断年龄是否等于标准年龄,如果等于——打印猜对了;如果小于——打印猜小了;如果大于——打印猜大了
age=22
condition=1
while condition:
guess=input("你猜小明今年多大了?")
if guess.isdigit(): #判断输入的是否是数字
gs=int(guess)
if gs==age:
print("\033[1;31;m恭喜你猜对咯!\033[0m") #红色高亮字体提醒
condition=0
elif gs < age:
print("\033[1;34;m猜小了!\033[0m") # 蓝色高亮字体提醒
elif gs> age :
print("\033[1;36;m猜大了!\033[0m") #青蓝色高亮字体提醒
else:
print("\033[1;31;46m请输入正确的数字哦!\033[0m") #青蓝背景+红色文字
**关于代码中字体颜色的改变我会在另一篇随笔中详细列出
本人能力有限,若有偏颇之处请读者大大不吝赐教!
祝大家每天都在成长!
python基础学习(起步)的更多相关文章
- python基础学习10
python基础学习 内容概要 文件内光标的移动 文件数据修改 函数简介 函数语法结构 内容详情 文件内光标的移动 with open(r'路径','r',encoding='utf8') as f: ...
- Day1 Python基础学习
一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...
- 0003.5-20180422-自动化第四章-python基础学习笔记--脚本
0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...
- Day1 Python基础学习——概述、基本数据类型、流程控制
一.Python基础学习 一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编 ...
- Python 基础学习 总结篇
Python 基础学习总结 先附上所有的章节: Python学习(一)安装.环境配置及IDE推荐 Python学习(二)Python 简介 Python学习(三)流程控制 Python学习(四)数据结 ...
- (一)python基础学习
根据廖雪峰老师的python教程写一些学习总结! Python基础学习 1.使用list和tuple (1)list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时 ...
- Python基础学习二
Python基础学习二 1.编码 utf-8编码:自动将英文保存为1个字符,中文3个字符.ASCll编码被囊括在内. unicode:将所有字符保存为2给字符,容纳了世界上所有的编码. 2.字符串内置 ...
- Python基础学习一
Python基础学习一 1.变量与常量 变量名:大小写英文.数字.下划线的组合,数字不能开头 常量名:习惯上常量用大写字母命名,例如"PI" 2.多行输出 转义符:反斜杠(),如果 ...
- Python基础学习五
Python基础学习五 迭代 for x in 变量: 其中变量可以是字符串.列表.字典.集合. 当迭代字典时,通过字典的内置函数value()可以迭代出值:通过字典的内置函数items()可以迭代出 ...
随机推荐
- Ubuntu --- 【转】安装lamp(php7.0)
本篇转自:http://www.laozuo.org/8303.html.以防丢失,再次记录 PHP7已经出来有一段时间,根据网友的实践测试比之前的版本效率会高不少,而且应用到网站中打开速度会有明显的 ...
- docker系列(五):网络通信
1 引言 之前的几篇docker系列博客说的都是单个容器或者镜像的操作.但容器,作为一种简化的操作系统,又怎能不与机器或者容器相互协同工作呢,这就需要用到容器的网络功能.docker中提供了多种不同的 ...
- C语言-main方法的两个参数是干什么的?
大家都知道C语言的main方法怎么写的吧!但你们知道mian方法里的参数的含义吗? 代码如下: int main(int argc,char *argv[]){ //argc是传进的参数个数 //ar ...
- web页面加载速度缓慢,如何优化?
参考博客: https://www.cnblogs.com/xp796/p/5236945.html https://www.cnblogs.com/MarcoHan/p/5295398.html - ...
- maven的私服私包镜像地址配置settings.xml
新建一个setting节点——镜像标签 <mirror> 添加你的mirror_id,name,url是该镜像的信息,一般都没有什么问题. mirrorOf是被镜像的服务器的id,可以是 ...
- LeetCode刷题------------------------------LeetCode使用介绍
临近毕业了,对技术有种热爱的我也快步入码农行业了,以前虽然在学校的ACM学习过一些算法,什么大数的阶乘,dp,背包等,但是现在早就忘在脑袋后了,哈哈,原谅我是一枚菜鸡,为了锻炼编程能力还是去刷刷Lee ...
- 跟我学SpringCloud | 第十一篇:使用Spring Cloud Sleuth和Zipkin进行分布式链路跟踪
SpringCloud系列教程 | 第十一篇:使用Spring Cloud Sleuth和Zipkin进行分布式链路跟踪 Springboot: 2.1.6.RELEASE SpringCloud: ...
- 业以太网:西门子PROFINET诊断功能SFC12-OB86-SFB20概览
[OB86配合SFC12在PROFINET诊断中的应用] OB86是机架故障组织块,操作系统在检测到下列PN系统故障时将调用OB86: 1.检测到PROFINET IO设备故障,故障产生和消失时分别调 ...
- Python Day_2
入门任何一门编程语言,前面总是离不开变量,字符串这些概念,而且这些东西在往后的日子里,有着至关重要的存在.因为不管我们写什么程序,都要用到变量以及字符串. 变量 首先,我们的变量在定义的时候,是不需要 ...
- 寻觅Azure上的Athena和BigQuery (二):神奇的PolyBase
前情回顾 在“数据湖”概念与理论逐渐深入人心的今天,面向云存储的交互式查询这个需求场景显得愈发重要.这是因为原生的云存储(主要指S3这样的对象存储)既能够容纳大容量的明细数据,又能在性能和成本间取得一 ...