博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python-变量与基础数据类型
阅读量:6083 次
发布时间:2019-06-20

本文共 2276 字,大约阅读时间需要 7 分钟。

 

·变量(variable)

 笔记:

变量本质上是一个占位符。变量可以用来存储整数、字符串、列表等。简单的可以理解为一个座位,可以坐老人也可以坐小孩,可以坐男孩,也可以坐女孩。

在python里,
标识符(identifier)由字母、数字、下划线组成。
在python中,所有标识符可以包括英文、数字以及下划线(_),但
不能以数字开头。python中的标识符是
区分大小写的。
以下划线开头的标识符是有特殊意义的。以
单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from xxx import *”而导入;以
双下划线开头的(__foo)代表类的私有成员;以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如__init__()代表类的构造函数。

 

@ 变量的命名规则:


 变量名只能包含字母、数字、下划线: 

   如:my_car,fly_air

 变量不能包含空格、不能以数字打头:

   如:bas ic,6car,7fly

 变量不能是Python关键字、函数名:

   如:def,class,print等

 python中包含的全部保留字

import keyword         #导入模块print(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']

 

@ 命名规则拓展


大驼峰:每个单词第一个字母均大写:
  如:MyCar,StudyBasic,FlyAir   #适用于类命名

小驼峰:第一个单词大写:

  如:Mycar,Studybasic、,lyair   #适用于函数命名

posix命名法:单词全部小写,且所有单词之间以下划线连接:

  如:my_car,fly_air

 

@ 变量的赋值与动态类型模型


给变量赋值:

age = 5   #定义变量print(age) 打印结果:5

给多个变量赋相同的值:

x = y = z = 1print(x);print(y);print(z) 打印结果:111

一行内给多个变量赋值:

x,y,z = 1,2,3print(x);print(y);print(z) 打印结果:123

动态模型:

age = 5print(age)print(type(age))打印结果:5

在c语言中,变量的声明需要在声明中指定数据类型。而python与c语言不太一样,直接定义就可以使用,那么问题来了,怎么知道它是什么数据类型呢?上述代码中给age赋值为5,但是并没有指定值的数字类型,可通过调用type()内置函数知道它是什么数据类型。

 

@ 垃圾收集


 声明变量x和y,x等于1y等于x。其实就是把y的值通过指针指向x的值

x =1y =xprint(id(x))print(id(y))打印结果:140721332343840140721332343840

通过id()内置函数我们可以清楚地看到这两个变量指向的是同一块内存区域。

垃圾回收机制:

x = 1;print(id(x))x = 2;print(id(x))print(x)打印结果:2

变量x通过指针指向1的内存地址,如果1这个值之前没有在内存中创建,那么现在创建。

然后对变量x重新赋值,让其指针指向2的内存地址;那么此时python就会把前一个内存地址给删掉,也就是把1值删掉,从而释放内存;最后x值的指针指向了2的内存地址,所以x就等于2。

 

·python标准数据类型

笔记:

Python有五个标准的数据类型:

  • Numbers(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Dictionary(字典)

 

@ 数字类型(numbers)


 整型(int):

age = 5print(age)print(type(age))打印结果:5

浮点型(float):

age = 5.5print(age)print(type(age))打印结果:5.5

复数(complex):

import cmathcmath.sqrt(-1)打印结果:1j

布尔型(bool):

 布尔值有两种:True(真)Flash(假)
if True:           #可以用if 1:或if 0:    print("hello")else:    print("你好")打印结果: hello              #如果if False: 则打印‘你好’

 

end~

****** 几米花的Python ****** 博客主页:https://www.cnblogs.com/jimmy-share/  欢迎转载 ~

转载于:https://www.cnblogs.com/jimmy-share/p/9758305.html

你可能感兴趣的文章
多线程之线程池任务管理通用模板
查看>>
CSS3让长单词与URL地址自动换行——word-wrap属性
查看>>
CodeForces 580B Kefa and Company
查看>>
开发规范浅谈
查看>>
Spark Streaming揭秘 Day29 深入理解Spark2.x中的Structured Streaming
查看>>
鼠标增强软件StrokeIt使用方法
查看>>
本地连接linux虚拟机的方法
查看>>
某公司面试java试题之【二】,看看吧,说不定就是你将要做的题
查看>>
BABOK - 企业分析(Enterprise Analysis)概要
查看>>
Linux 配置vnc,开启linux远程桌面
查看>>
NLog文章系列——如何优化日志性能
查看>>
Hadoop安装测试简单记录
查看>>
CentOS6.4关闭触控板
查看>>
ThreadPoolExecutor线程池运行机制分析-线程复用原理
查看>>
React Native 极光推送填坑(ios)
查看>>
Terratest:一个用于自动化基础设施测试的开源Go库
查看>>
修改Windows远程终端默认端口,让服务器更安全
查看>>
扩展器必须,SAS 2.0未必(SAS挺进中端存储系统之三)
查看>>
Eclipse遇到Initializing Java Tooling解决办法
查看>>
while((ch = getchar()) != '\n')
查看>>