列表,元组,字典的转换。
list列表是一组可变的元素集合
列表是'[]'括号组成的,[]括号包含所有元素,列表的创建可以传递字符串,也可以传递多个字符串来创建列表。如"asd", / "a","b" ...
tuple元组的创建和列表一致,区别在于 元组是以'()'创建的,并且元组数据不可变。
dict字典不同于列表和元组,他是一种键值对关系,即key-value,key是唯一的。
字典的作用就是储存一些需要关键字来索引数据的数据结构。
bytes类型转换
如果我们创建一个字符串,并且想把它转换成字节,那么需要用到bytes类型,如:
s = "asd"
bytes(s,encoding="utf-8") 需要指定字符串的自身的编码。否则会出错
dict的formkeys函数可以将列表创建字典的同时,在参数2设置一个共同的值。共享同一块内存,但如果分别赋值不同的值。则改变为分别指向不同的内存。
set -- 集合
set 集合是类似列表,但是不同的是set内不存在重复元素,这是set的天性就是去重。集合内的数据都是唯一的。 set的元素没有固定的顺序,随时变化。
set的函数 
s.clear()  清除set元素
s.remove(x) 移除集合内的一个值,如果不存在报错。
s.add(x) 增加一个值
s.pop() 将集合内的自后一个pop并返回。
s.intersection(x) j交集 ,求s和x的交集,就是参数1 有的,同时参数2也有的。a & b
s.issubset(x) 判断x是不是s的子集,就是判断x的元素是否全部都在s中存在,并且s的元素比x多。
s.issuperset(x) 判断s是不是x的父序列
s.symmetric_difference(x) 交叉集- 把s存在的,x不存在的,x存在的。s不存在的一并返回
set.difference(形参1)  差集。求集合和参数1的差集,就是集合有的,参数没有的。,函数会返回差集的数据 = a - b
s.differents_update(x)  求差集的同时将差集数据更新到s 
s.union(x) 并集。 == s | b
三目运算-》三元
res = value1 if 条件 else value2 ,如果为真res= value1,否则res = value2
深浅拷贝
对于str,int 的拷贝赋值,地址都是一样的。
对于浅拷贝,仅仅拷贝最外面一层。(不包括数据层,数据层是不拷贝的。因为内存优化机制问题,只要指向的数值一致。那么内存地址都是指向同一个地址)
对于深拷贝,也是不涉及数据层的。深拷贝只是将数据层以外的所有层都拷贝一份。
函数
函数是提高代码复用性的一个数据结构,因为在面向过程里代码往往是复制黏贴,很多代码都是重合的。
所以函数应用而生,为代码的重复利用而设计。
函数就是把实现特定功能的代码写到一个数据结构内,这个数据结构称为函数。
当需要时只需调用即可。
函数已可以传递参数进去,参数有多样:
1 位置参数,位置参数默认在前面。因为 其他参数都有其他功能。
2 默认参数,可以设置一些默认不需要赋值的参数。
3 可变参数,可变参数是用于接收数目不定的参数,因为有时候可以需要接收不确定数量的参数所以可变参数就派上用场了。 *argv
4 关键字参数,关键字参数类似于可变参数,也是可以接收数量不定的参数,不过却别在于关键字参数只接收key=value 这样的形式参数,不是这样形式的参数都是可变参数接收。
对于将一个list对象当做形参传递给函数时,参数传递时 可以直接传递变量,也可以变量前 带一个*号,
对于直接传递 ,函数内部*argv 是一个包含一个list对象的tuple
对于带*号传递,函数内部*argv是一个包含n个元素的tuple
全局变量 & 局部变量
1     全局变量可以在全局范围内使用,但是在局部内不可更改,除非使用golbal关键字声明全局变量。但是这样是不推荐的做法,行业内严禁。
2     局部变量是在函数内定义的或者循环结构内定义的变量,只要循环或函数结束就会删除局部变量。
全局变量推荐大写。
参数一共有几类:
1 普通参数 -> func("a"/variable)
2 指定参数 -> func(p="xxx")
3 默认参数 一般放到最后, def fnc(a,b,c,d=4,e=5)
4 可变参数/动态参数 可以接收数量不定的变量集合, def func(*args) func(1,2,3,4,5)
5 动态关键字参数,可以接收指定参数的形式参数,但是又没有相对应的形参。

转载于:https://www.cnblogs.com/zxcv-/p/6816690.html

day 2 基本类型和函数相关推荐

  1. 基本类型和引用类型的值 函数的传递参数

    ECMAScript中函数的传参都是按值传递的. 不管是传基本类型的值还是引用类型的值都是按值传递,访问变量则分按值和按引用两种方式. 向参数传递基本类型的值 被传递的值会被复制(对应文章<基本 ...

  2. javascript变量中基本类型和引用类型的详解解读

    前言: Javascript语言中的变量和其他语言的变量有很大区别,javascript松散类型的本质,决定了它只是在特定时间时间保存特定值得名字而已.由于不存在定义某个变量必须保存何种数据类型值的规 ...

  3. java 定义变量时 赋值与不赋值_探究Java中基本类型和部分包装类在声明变量时不赋值的情况下java给他们的默认赋值...

    探究Java中基本类型和部分包装类在声明变量时不赋值的情况下java给他们的默认赋值 当基本数据类型作为普通变量(八大基本类型: byte,char,boolean,short,int,long,fl ...

  4. java 基本类型 不赋值_探究Java中基本类型和部分包装类在声明变量时不赋值的情况下java给他们的默认赋值...

    探究Java中基本类型和部分包装类在声明变量时不赋值的情况下java给他们的默认赋值 当基本数据类型作为普通变量(八大基本类型: byte,char,boolean,short,int,long,fl ...

  5. 对象在内存中的存储基本类型和包装类java类型转换

    对象在内存中的存储 对象头.实例数据和填充数据(为了对齐) 实例变量:存放类的属性数据信息,包括父类的属性信息,如果是数组的实例部分还包括数组的长度,这部分内存按4字节对齐. 填充数据:由于虚拟机要求 ...

  6. CSDN日报190929:面试官:兄弟,说说基本类型和包装类型的区别吧

    CSDN日报来啦!给大家奉上当日最新鲜的技术干货! 深度学习|[深度学习] 自然语言处理-Attention 作者:小墨鱼~~ 要了解深度学习中的注意力模型,就不得不先谈Encoder-Decoder ...

  7. 【Java基础】基本类型和包装类的区别

    前言 Java 一种静态编程语言,所有变量和表达式是在编译时就确定的.同时,Java 又是一种强类型语言,所有的变量和表达式都有具体的类型,并且每种类型是严格定义的.在 Java 中共有8种基本类型数 ...

  8. java5引入包装类型的意义_Java中的基本类型和包装类

    Java中基本数据类型与包装类型有 基本类型 包装器类型 boolean Boolean char Character int Integer byte Byte short Short long L ...

  9. java包装类和基本类型谁先谁后_你知道Java中基本类型和包装类的区别吗

    前情提要 上一篇中,通过一道常见的面试题(即:String.StringBuilder.StringBuffer的区别),引申到Java中基本类型和包装类的相关内容.在这一篇中,我们将解决上一篇中引申 ...

最新文章

  1. linux c 编译警告 warning: this decimal constant is unsigned only in ISO C90
  2. cad批量偏移_学会这12个CAD制图命令,走遍天下都不怕,有没有兴趣?
  3. 1.9 编程基础之顺序查找 03 不高兴的津津 scratch
  4. 信息学奥赛一本通 1114:白细胞计数 | OpenJudge NOI 1.9 08
  5. jQuery的Select操作集合
  6. Nginx做反向代理和负载均衡时“X-Forwarded-For”信息头的处理
  7. c语言大作业计算器,C语言实现简单计算器程序
  8. Qt,Linux: 播放声音(aplay)
  9. LibreELEC(kodi)基本设置
  10. 【高等数学】微积分----教你如何简单地推导求导公式(二)
  11. RAID磁盘阵列配置
  12. Pega How To系列之一:如何在页面上动态显示/隐藏内容 ----CheneyWang
  13. dataset中shuffle()、repeat()、batch()用法
  14. python怎么选取不连续的列_python – Pandas从数据帧中选择不连续的列
  15. STM32MINI板写的超声波代码
  16. 11月第2周业务风控关注|36名利用网络刷单实施诈骗的犯罪嫌疑人从菲律宾被押解回国
  17. JAVA视频资料百度网盘分享
  18. 防火墙阻止了从docker容器到外部的网络连接
  19. 如何使用纯Servlet做一个单表的CRUD操作
  20. 什么是线性表?线性表的特点,线性表的顺序存储和链式存储

热门文章

  1. [导入]C#中实现Socket端口复用
  2. OpenCV 相机校正过程中,calibrateCamera函数projectPoints函数的重投影误差的分析
  3. A Rectangular Barn
  4. php sendmail方法,PHP实现在windows下配置sendmail并通过mail()函数发送邮件的方法
  5. python注入_python的常见命令注入威胁
  6. 中文 查询_查询商标,商标注册通过分析的几个小技巧
  7. micropython stm32f103_micropython
  8. floquet端口必须沿z轴设置_金秀友佳FMH-630加工中心伸缩Y轴钢板防护罩批发价格...
  9. mysql information schema_[MySql技术]MySQL中information_schema是什么
  10. python tensorflow教程_TensorFlow入门教程TensorFlow 基本使用T