一 执行第一个python程序

1.下载安装python2.7和python3.6的版本及pycharm,我们可以再解释器中输入这样一行代码:

则相应的就打出了一句话。这里的print是打印的意思。你输入什么就打印出什么。

2.保存文件名为hello.py。注意这里的后缀是以.py结尾的。

3.exit()  退出(cmd命令)。

二、变量

声明变量:例如:

变量定义规则:

变量名只能是数字,字母或下划线的任意组合

变量名的第一个字符不能是数字

以下关键字不能声明为变量名{'and','as','del','def','if','else','with','continue','break','exec','elif','except','class','yield','return','while',,"finally","try'',"catch"}

定义方式:

驼峰式 :  AgeofOldboy = 56
下划线 : Age_of_oldboy = 56

引用计数:

增加引用计数:

1.对象被创建并将其引用赋值给变量,引用计数加1(例a=1)

2.同一个对象的引用又赋值给其它变量,引用计数加1(例b=a)

3.对象作为参数被函数调用,引用计数加1(例int(a))

4.对象成为容器对象中的一个元素,引用计数加1(例list_test=['xuyaping','z',a])

减少引用计数:

1.a作为被函数调用的参数,在函数运行结束后,包括a在内的所有局部变量均会被销毁,引用计数减1

2.变量被赋值给另外一个对象,原对象引用计数减1(例b=2,1这一内存对象的引用只剩a)

3.使用del删除对象的引用,引用计数减1(例del a)

4.a作为容器list_test中的一个元素,被清除,引用计数减少(例list_test.remove(a))

5.容器本身被销毁(例del list_test)
注意:python内存回收交给一段独立的代码即垃圾回收器(包含引用计数器和循环垃圾收集器),引用计数在归零时并不会立即清除(可能有循环调用)

不必纠结循环引用收集,只需记住垃圾回收器帮你自动清理内存。

简单例子

x=1 #创建内存变量1,将变量1的引用传给x,此刻1的引用计数为1
y=x #1的引用计数增加到2 y=2 #创建新的内存变量2,将变量2的引用传给y,原本指向1的y,此刻给了2,所以1的引用计数减少到了1 del x #删除了内存对象1的引用x,此刻1再无引用,此刻它就成了python解释器回收的目标

  

变量定义的三个重要组成部分:

id      地址
type 类型
value 值

三、常量

常量即指不变的量,如3.1415926.........,或在程序运行中不会改变的量。程序员约定俗称用变量名全部大写代表常量。

例如:AGE_SD=56

四、基本数据类型

  我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某些方面有很笨,你得明确的告诉它,“1”是数字,“汗”是文字。否则计算机是分不清的。因此,在每个编程语言中都会有一个叫数据类型的东西,其实就是对常用的各种数据类型进行了明确的划分,你想让计算机进行数值运算,你就传入数字给它,你想让它处理文字,你就传字符串类型给它。python中有很多数据类型,今天我们先了解数字,字符串,布尔类型。

1.数字:int(短整型)

 long(长整型)(在python三中没有了)

2.字符串str:在Python中,加了引号的字符都被认为是字符串,有一串字符组成。字符串的操作方法见下一篇。

下图是运行的结果

双引号和单引号没有任何区别。那么多引号有啥作用呢?作用就是字符串必须用多引号。

字符串的拼接:用‘+’号连接,不可用‘-’号,但是可以用‘’*‘’号。列表也是如此

字符串的取值:首先要明确,字符串整体就是一个值,只不过特殊之处在于:python中没有字符类型,字符串是由一串字符组成,想取出字符串中的字符,也可以按照下标的方式取得。

name="hello"

name:取得是字符串整体的哪一个值
name【1】:取得是第二位置的字符

3.布尔类型:true 和 false  用来判断。

例如:

a=3
b=2 a>b #False
a<b #True 

4.列表list:包含在【】内,用逗号分隔。 用途:(存多个值,可以修改)

# 查看元素和元素类型

增加元素

# 修改’eat’元素为‘draw’

# 删除'sleep'元素

以上截图都只是些常用的操作。

5.字典dict:定义在{},用逗号隔开,每一个元素的形式都是键值对,即key:value

1.用途:可以有多个值,这一点与列表相同,但可以是任意数据类型

2.特征:每一个值都有唯一一个对应关系,即key。key必须是不可变类型,这个以后再说,目前我们先知道的两个不可变类型是:字符串和数字。

当然,字典也有像列表一样的那些操作。

3.常用操作:

# 查看操作:

# 增加操作:增加height=1.60,注意没有append方法

# 修改操作:将haiyan修改为xiaoxiao

# 两种删除操作:注意没有remove方法

五、程序交互

 1 . 什么是程序交互?

name=input('请输入你的用户名:')   #无论输入什么内容,都是字符串类型。

2 . 为什么要程序交互?  

让计算机能够模拟人,去接受用户输入的信息

六、流程控制if....else

七、内存地址(id),类型(type)

由图可知:age和age1的id看起来是相等的,但是,上上图的fff和fff1的id却不一样。这是为什么呢?这是因为10这个数字比较短,而上上图中一连串的数字则就能体现出来。所以如果两个变量的值相等,则他们的内存地址即id是不一样的。

python基础(数字、字符串、布尔值、字典数据类型简介)的更多相关文章

  1. 第七篇Python基本数据类型之数字&字符串&布尔值

    数字 写在最前,必须要会的:int() 整型 Python3里无论数字多长都用int表示,Python2里有int和Long表示,Long表示长整型 有关数字的常用方法,方法调用后面都必须带括号() ...

  2. Python 6 数字和布尔值及字符串的基本功能

    数据类型:查看变量数据类型type(变量)  或者  print(type(变量)) 整数int:就是不带小数的自然数字,也叫整型.在2.X版本中还分为长整型和整形.但是在3.X版本中统一称为整数或整 ...

  3. Python基础 整形、布尔值、if条件判断、while循环、运算符、格式化输出

    1,计算机基础.2,python历史. 宏观上:python2 与 python3 区别: python2 源码不标准,混乱,重复代码太多, python3 统一 标准,去除重复代码.3,python ...

  4. python基础——数字&集合&布尔类型

    Python的核心数据类型 内置对象 对象类型 例子 数字 123,3.1415,3+4j,Decimal(小数),Fraction(分数) 字符串 'dodo',"guido's" ...

  5. Python数据类型-01.数字和布尔值

    本节主要介绍Python中的基础知识中的数据类型,数字和布尔值 介绍几个知识点:1)内置函数print()的用法,直接打印括号里面的内容,或者print后跟多个输出,以逗号分隔.2)内置函数type( ...

  6. Python基础之格式化输出、运算符、数字与布尔值互换以及while...else

    python是一天学一点,就这样零零碎碎…… 格式化输出 %是占位符,%s是字符串格式,%d整数格式,%f是浮点数格式 name = input('输入姓名') age = input('输入年龄') ...

  7. Python基础-列表、元组、字典、字符串

    Python基础-列表.元组.字典.字符串   多维数组 nums1 = [1,2,3] #一维数组 nums2 = [1,2,3,[4,56]] #二维数组 nums3 = [1,2,3,4,['a ...

  8. js中对象转化成字符串、数字或布尔值的转化规则

    js中对象可以转化成 字符串.数字.布尔值 一.对象转化成字符串: 规则: 1.如果对象有toString方法,则调用该方法,并返回相应的结果:(代码通常会执行到这,因为在所有对象中都有toStrin ...

  9. jsoncpp封装和解析字符串、数字、布尔值和数组

    使用jsoncpp进行字符串.数字.布尔值和数组的封装与解析. 1)下载jsoncpp的代码库 百度网盘地址 :http://pan.baidu.com/s/1ntqQhIT 2)解压缩文件 json ...

  10. Python处理json字符串转化为字典

    有一个需求,需要用python把json字符串转化为字典 inp_str = " {'k1':123, 'k2': '345','k3','ares'} " import json ...

随机推荐

  1. (转)64位开源处理器Rocket的源代码简单介绍

    转载地址: http://blog.csdn.net/leishangwen/article/details/46604819 最近大概阅读了一下UCB发布的Rocket处理器的源码,对源代码各个文件 ...

  2. Ubuntu/Mac彻底解决手机ADB识别问题

    之前写过一篇同样解决手机识别问题的文章(http://www.cnblogs.com/benhero/p/4202967.html) ,不过今天在遇到特殊手机"魅族"!之前的解决方 ...

  3. Storm系统架构以及代码结构学习

    转自:http://blog.csdn.net/androidlushangderen/article/details/45955833 storm学习系列:http://blog.csdn.net/ ...

  4. Vector类与Enumeration接口

    Vector类用于保存一组对象,由于java不支持动态数组,Vector可以用于实现跟动态数组差不多的功能.如果要将一组对象存放在某种数据结构中,但是不能确定对象的个数时,Vector是一个不错的选择 ...

  5. 尽管以C++为基础,但 Java 是一种更纯粹的面向对象程序设计语言

    “尽管以C++为基础,但 Java 是一种更纯粹的面向对象程序设计语言”. 无论C++还是Java 都属于杂合语言.但在 Java 中,设计者觉得这种杂合并不象在 C++里那么重要.杂合语言 允许采用 ...

  6. 【BZOJ】2020: [Usaco2010 Jan]Buying Feed, II (dp)

    http://www.lydsy.com/JudgeOnline/problem.php?id=2020 和背包差不多 同样滚动数组 f[j]表示当前位置j份食物的最小价值 f[j]=min(f[j- ...

  7. grep检索文本

    grep [OPTIONS] PATTERN [FILE...] grep zifuchuan  * 不行的话来一个: grep zifuchuan  */* 不行的话再来一个: grep zifuc ...

  8. 从零开始开发一个vue组件打包并发布到npm (把vue组件打包成一个可以直接引用的js文件)

    自己写的组件 有的也挺好的,为了方便以后用自己再用或者给别人用,把组件打包发布到npm是最好不过了,本次打包支持 支持正常的组件调用方式,也支持Vue.use, 也可以直接引用打包好的js文件, 配合 ...

  9. java网络编程2-URL和URI

    //创建url可以指定请求的url协议,但不同的jvm支持的协议可能不相同(大部分支持http.file.https) //构造只判断字符串中的协议支不支持,而不判断url的正确性 URL url=n ...

  10. [Linux 学习] Centos 图形和命令行界面切换

    要想切换图形界面和命令行界面切换, 需修改一个文件... root 下, 到 /etc/inittab 修改 id:5:initdefault Linux系统有7个运行级别(runlevel): 运行 ...