目录 Python--基本数据类型 1.整型 int 2.浮点型 float 3.字符串 str 字符串格式 字符串嵌套 4.列表 list 列表元素的下标位置 索引和切片:字符串,列表常用 5.字典 dict 6.布尔型 boll 7.元组 tuple 8 .集合 set python中不可变数据类型和可变数据类型 如何区分可变与不可变 用一张表来说明: 实例如下: Python--基本数据类型 赋值格式: 变量名 赋值符号 值 查看数据类型的方法: type( ) 1.整型 int 整型一般…
函数参数传递本质上和变量整体复制一样,只是两个变量分别为形参a和实参b.那么,a=b后,a变了,b值是否跟着变呢?这取决于对象内容可变不可变 首先解释一下,什么是python对象的内容可变不可变? python的变量是无类型的,如n=1   #变量n无类型(n相当于指针),其指向int数据类型的值,这个值是int类型. 所以,python中,strings, tuples, 和numbers是不可更改的对象,而list,dict等则是可以修改的对象. 举个列子, 不可变如,a=5后,a=10,这…
补充:(可用操作技巧) >>> x=900 >>> y=900 >>> x==y True >>> type(x) is type(y) True >>> x is y False >>> id(x) 3107344641872 >>> id(y) 3107344907216 #is 左边的是否是右边的,is比较的是id 而‘==’比较的是值 ===================…
可变/不可变类型 可变类型 ID不变的情况下,值改变,则称之为可变类型,如列表,字典 不可变类型 值改变,ID改变,则称之为不可变类型,如 整数 字符串,元组 整数类型 int 正整数 用途就是记录年龄,电话号码,等内容 定义: age = 19. # int() 类型转换 int() 只能是纯数字的字符,还有浮点型 float 浮点数 用途就是用来记录工资,身高,体重,带有小数为的数据 定义:pice = 3.2 # float() 类型的转换 float() 包含小数的字符串,或是正整数型…
与c/c++不同,Python/Java中的变量都是引用类型,没有值类型 Python赋值语句由三部分构成,例如:   int   a  = 1 类型 标识 值 标识(identity):用于唯一标识一个对象(指向对象的内存地址):类型(type):值(value) Python使用标识访问对象的值,也就是说Python中的对象其实相当于c的指针 引用(reference):对象的内存地址 可变类型:重新赋值时直接更改内存中原有对象,变量引用不变.float.list.dict 不可变类型:重新…
Java可变参数/可变长参数 传递的参数不确定长度,是变长的参数,例如小例子: package demo; public class Demo { public static int sum(int n, int... nums) { for (int i = 0; i < nums.length; i++) { n = n + nums[i]; } return n; } public static void main(String[] args) { int s1 = sum(1, 2);…
1.可变不可变类型 可变类型 定义:值改变,id不变,改的是原值 不可变类型 定义:值改变,id也变了,证明是产生了新的值没有改变原值 验证 x = 10 print(id(x)) x = 11 print(id(x)) >>>140726762169264 >>>140726762169296 #整型为不可变类型 分别验证,浮点型,字符串,列表,字典,bool,得出以下结果 可变类型:列表,字典(key:不可变类型,value:任意类型) 不可变类型:整形,浮点型,字…
续昨天: 列表的常用方法: 1.chear() 用途:清空列表,其返回值无,返回none. list1=[1,2,3,4,5] a=list1.clear() print(list1) print(a) #输出结果>>>[] # None 2.reverse() 用途:将列表反转. list1=[1,2,3,4,5] list1.reverse() print(list1) #输出结果>>>[5, 4, 3, 2, 1] 3.sort() 用途:在默认情况下,从小到大排…
元组(不可变列表) 创建元组: ages = (11, 22, 33, 44, 55) 或 ages = tuple((11, 22, 33, 44, 55)) 一般情况下是不需要被人该的数值才使用元组 r=(1,2,3,4,5,6,) #只读列表,不可不可变 print(type(r)) #查看数据类型 字符串 "hello world" 万恶的字符串拼接: python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的…
1.可变类型:值改变,但是id不变,证明就是改变原值,是可变类型 2.不可变类型:值改变,但是id也跟着改变,证明是产生新的值,是不可变类型 数字类型 一.整型int 1.用途:记录年龄.等级.数量 2.定义方式 age = 18 数据类型转换:只能将纯数字的字符串转成int 二.浮点型float 1.用途:记录身高.薪资.体重 2.定义方式 salary = 10.1 数据类型转换:只能将包含小数的字符串转成float x =float('3.1') x=3.1 print(id(x)) x=…
String是一个类,也可以表示字符串数据类型 String:是对象不是原始类型.为不可变对象,一旦被创建,就不能修改它的值.对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去. String 是final类,即不能被继承.作为参数传递时,只是复制了一份引用 string s = "a"; s = "b"; 那意思是这里是两个对象,string s = "a";是一个对象,s = "b"; 又是…
Python的基本类型介绍 前言 做python有一段时间了,从工作开始就在不断地学习和积累.但是有时候用到一些技术点,甚至是基础知识的时候,总是会遗忘.所以,从今天开始,就在这里记录下来,不仅可以分享给大家,而且还可以帮助我来复习.博客会持续更新,开始会是python基础的复习,后面会根据工作内容来分享一些框架.数据库等等的一些内容.希望能够给大家带来帮助.也希望有疑惑.补充和不足的地方,大家能及时提出和指正.让我们共同进步,明天会更好!Thanks everyone! python的基本数据…
在python的数据类型中,整数.字符串.元组是不可变的:而列表.字典是可变的.所以不用C的思维来修改一个整数,它相当于重新定义了一个整数(原来的被覆盖掉了),名字和原来一样,但与前面的同名变量没有一点关系了.同理作为函数时这些类型作为参数,函数调用完毕是值时不可能改变的. 一 函数中的参数: 1.1 关键字参数:就是加上关键字后参数的顺序可以改变,如def func(a,b)  ,调用时func(b=x,a=y) 1.2默认参数:必须放在最右边,不可变时用缺省值 1.3可变参数:放在最右边,加…
变量进阶(理解) 目标 变量的引用 可变和不可变类型 局部变量和全局变量 01. 变量的引用 变量 和 数据 都是保存在 内存 中的 在 Python 中 函数 的 参数传递 以及 返回值 都是靠 引用 传递的 1.1 引用的概念 在 Python 中 变量 和 数据 是分开存储的 数据 保存在内存中的一个位置 变量 中保存着数据在内存中的地址 变量 中 记录数据的地址,就叫做 引用 使用 id() 函数可以查看变量中保存数据所在的 内存地址 注意:如果变量已经被定义,当给一个变量赋值的时候,本…
#可变类型: 值变了,但是id没有变,证明没有生成新的值而是在改变原值,原值是可变类型#不可变类型:值变了,id也跟着变,证明是生成了新的值而不是在改变原值,原值是不可变 # x=10# print(id(x))# x=11# print(id(x))# y=['a','b','c']print(id(y))y[0]='A'print(y)print(id(y))…
数组 Arrays 数组是内置(build-in)类型,是一组同类型数据的集合,它是值类型,通过从0开始的下标索引访问元素值.在初始化后长度是固定的,无法修改其长度.当作为方法的入参传入时将复制一份数组而不是引用同一指针.数组的长度也是其类型的一部分,通过内置函数len(array)获取其长度. 初始化 数组的初始化有多种形式,查看示例代码 , 在线运行示例代码 [5] int {1,2,3,4,5} 长度为5的数组,其元素值依次为:1,2,3,4,5 [5] int {1,2} 长度为5的数组…
复习 ''' 流程控制 1.顺序结构.分支结构.循环结构 2.if分支结构 if 条件: 代码块 elif 条件: 代码块 else: 代码块 # 可以被if转换为False:0 | '' | None | [] | {} 3.while循环结构 while 条件: 循环体 # 1)可以通过改变循环变量,使循环条件不满足 # 2)当达到特定条件,直接使用break来强行结束所属循环 break:结束所属循环 continue:结束所属循环的本次循环进入下一次循环 while...else...:…
在学习python过程中我们一定会遇到不可变数据类型和可变数据类型. 1.名词解释 以下所有的内容都是基于内存地址来说的. 不可变数据类型: 当该数据类型的对应变量的值发生了改变,那么它对应的内存地址也会发生改变,对于这种数据类型,就称不可变数据类型. 可变数据类型    :当该数据类型的对应变量的值发生了改变,那么它对应的内存地址不发生改变,对于这种数据类型,就称可变数据类型.    总结:不可变数据类型更改后地址发生改变,可变数据类型更改地址不发生改变 2.数据类型分类 在python中数据…
<python的可变与不可变数据类型>     python与C/C++不一样,它的变量使用有自己的特点,当初学python的时候,一定要记住“一切皆为对象,一切皆为对象的引用”这句话,其实这个特点类似于JAVA,所以在python里面大家也不用担心类似于C/C++中的指针的复杂问题, 在python中数据分为可变数据类型,不可变数据类型.     ●可变数据类型:列表list和字典dict.     ●不可变数据类型:整型int.浮点型float.字符串型string和元组tuple.  …
python数据类型分别有整数int / 浮点数float / 布尔值bool / 元组tuple / 列表list / 字典dict,其中数据类型分为两个大类,一种是可变数据类型:一种是不可变数据类型,两者有什么区别呢? 一.关于内存 在讲解python可变数据类型和不可变数据类型之前需要先普及一下内存相关的简单知识! 在python编程的时候,代码中的变量实际上都是存储在计算机内存中,当然这里指的内存在计算机中是虚拟的,你看不见摸不着!每一个内存都有一个对应的内存地址,讲到这里需要再次介绍一…
字典:采用键值对存储数据的数据类型,字典的键必须是不可变的数据类型 补充: 不可变(可哈希)数据类型:str,bool,int,tuple 可变(不可哈希)数据类型:list,  dict, set 对str的所有操作都是产生一个新字符串,并没有改变原字符串的内容 哈希:是把元素通过hash算法变成内存地址 容器型数据类型:list, tuple,dict,set 非容器型数据类型:str,bool,int,float 1.增 # 用键来添加,有键则覆盖,无键则添加 dic = {'name':…
一:python数据类型的分类: 可变(不可哈希)的数据类型: list 列表 dict 字典 set 集合 不可变(可哈希)的数据类型: str 字符串 bool 布尔型 int 整型 tuple 元组…
如果实现的多个方法,这些方法里面逻辑基本相同,唯一不同的是传递的参数的个数,可以使用可变参数可变参数的定义方法 数据类型...数组的名称,这个数组存储传递过来的参数,类似JavaScript注意点:        (1)可变参数需要写在方法的参数列表中,不能单独定义        (2)在方法的参数列表中只能有一个可变参数        (3)方法的参数列表中的可变参数,必须放在参数最后            - score(String name, int...args) case: publ…
最近对深浅拷贝(复制)做了一些研究,在此将自己的理解写下来,希望对大家有所帮助.本人尚处在摸索阶段,希望各位予以指正. 本文包括如下方向的探索: 1.指针与对象: 2.深/浅拷贝(复制): 3.可变/不可变对象: 4.Objective-C中的copy与mutableCopy方法. 一.指针与对象 在初始学习编程的时候,对于绝大多数面向对象编程的语言,这都是个绕不开的重点与难点.非常惭愧的是对它的认识我一直是不够的,并且感觉这项技术有许多的内容可以挖掘.说这是面向对象编程的核心思想也不为过.很多…
Jdk1.5新特性之静态导入 jdk1.5新特性值静态导入 静态导入的作用:简化缩写 静态导入的作用:可以作用一个类的所有静态成员. 静态导入的格式:import static 包名.类名.静态的成员 import static java.util.Collections.sort; //静态导入指定的某个静态成员方法 import static java.util.Collections.*;  导入所有的静态成员 除了可以导入静态的成员方法,也可以静态的导入成员变量,比如System.out…
可变个数的形参的方法:1.格式:对于方法的形参来说:数据类型...形参名2.可变个数的形参的方法与同名的方法之间可以构成重载3.可变个数的形参在调用时,个数从0开始,到无穷都可以(在调用这个方法时,sayHello后的括号里输入几个值都可以,可以输入0个也可以无穷个)4.使用可变多个形参的方法与方法的形参使用数组是一致的甚至是一个方法,使用要不同的名称5.若方法中存在可变个数的形参,那么一定要声明在方法形参之后(如代码中的sayHello(int i,String... args)中的int是方…
数据类型分为可变.不可变.可变对象表示可以原处修改该数据对象,不可变对象表示必须创建新对象来保存修改后的数据. 在基础数据类型中: 数值.字符串.元组.frozenset是不可变对象 列表.set.dict是可变对象 对于可变对象,比如有一个列表L,查看它的id以及第一个元素的id. >>> L = ['a', 'b', 'c'] >>> id(L) 23099392 >>> id(L[0]) 57027008 这意味着在内存中有一片区域,这片区域存放…
ls = [10, 20, 30] print(id(ls), ls) ls[0] = 100 print(id(ls), ls) print(id(10)) print(id(20)) print(id(100)) '))  可变指的是:数据类型的引用地址可变,直接在堆区数据区对原数据直接操作 不可变指的是:数据类型的应用地址不可变,需要重新创建与原数据一致的数据进行间接操作. 参考链接:https://www.cnblogs.com/Jacck/p/7790049.html…
可变数组 可变数组与嵌套表相似,也是一种集合.一个可变数组是对象的一个集合,其中每个对象都具有相同的数据类型.可变数组的大小由创建时决定.在表中建立可变数组后,可变数组在主表中作为一个列对待.从概念上讲,可变数组是一个限制了操作个数的嵌套表. 可变数组,允许用户在表中存储重复的属性.例如:在嵌套表时使用过的部门表,一个项目可以有多个项目,用户使用可变数组这一类型可以在部门中设置多个项目的名字,如果限定每个部门的项目不超过3个,则可以建立一个10个数据项为限的可变数组.之后就可以处理此可变数组,可…
最近突然被问到String为什么被设计为不可变,当时有点懵,这个问题一直像bug一样存在,竟然没有发现,没有思考到,在此总结一下. 1.String的不可变String类被final修饰,是不可继承和修改的.当一个String变量被第二次赋值时,不是在原有内存地址上修改数据,而是在内存中重新开辟一块内存地址,并指向新地址. String类为什么要被设计为是final的? 1.不可变性支持线程安全. 2.不可变性支持字符串常量池,提升性能. 3.String字符串作为最常用数据类型之一,不可变防止…