python怎么输⼊根号3_python学习⼼得第三章
python学习⼼得第三章
python 定义数组1.三元运算
变量=值1 if 条件 else 值2
由图如果条件成⽴则赋值1给变量,如果条件不成⽴则赋值2给变量.
2.数据类型
集合:set()
class set(object):
"""
set() -> new empty set object
set(iterable) -> new set object
Build an unordered collection of unique elements.
"""
set的赋值:
集合是不重复元素且⽆序的数据类型。所以它没有索引,并且默认情况下{}是字典类型,⾥⾯只有加了元素以后才能判断是字典还是集合set()⾥⾯可以放⼊可迭代的对象,字符串,列表,元组
set()的常⽤功能:
添加 add:
添加的时候如果是相同的元素 就⽆效,并且set的输出和dict⼀样是⽆序的
清除 clear:
different:两个集合⾥⾯不⼀样的元素选出来
a.different(b):a⾥⾯有b⾥⾯没有
b.different(a):b⾥⾯有a⾥⾯没有
different_update:把原来的集合更新了,不在创造⼀个新的集合
discard:移除选中的某个元素,如果元素不存在也不报错,但是remove就会报错,其它功能是⼀样的
intersection:创造a与b中相同的元素组成的集合
intersection_update:创造a与b中相同的元素组成的集合并且赋值个放在前⾯的集合
isdisjoint:判断是否是不是相交的,如果不是就返回True否则返回False
issubset:是否是⼦集
issuperset:是否是⽗集
pop():⽆序的拿出⼀个元素,并且返回⼀个值
⼀般就拿set⽆序排列以后的第⼀个
symmetric_different():对称交集,创建⼀个a和b集合不相同元素的集合
symmetric_different_update():创建⼀个a和b集合不相同元素的集合,然后赋值给第⼀个集合
union并集
update:循环⼀个可iterable的对象,将⾥⾯的元素全部放在更新到集合⾥⾯,如果有重复的忽略
3.数据类型在内存的储存⽅式
1:字符串是⼀次性创建不能被修改,因为python是c写的,字符串其实就是字符数组,数组⾥⾯的内容是不能被修改的,所以字符串的操作每次都会创建⼀个新的字符串再内存⾥⾯
2:list是动态创建的,创建的时候记录了上⼀次和下⼀次的地址位置,⽅便添加和删除元素,不会再在内存⾥⾯创建⼀个新的列表
3:如果列表⾥⾯的元素字符串有变化,则是在内存⾥⾯创建了⼀个新的字符串,然后再让列表的索引指向这个新创建的字符串
4.深浅copy
我们使⽤深浅copy的时候先要导⼊copy这个模块
1:对于字符串和数字,深浅copy都是⼀样的,copy以后的字符串和数字都是和原来的字符串和数字,公⽤⼀个id
2:对于字典,列表,元组,进⾏深浅的时候有区别
浅拷贝
这⾥的复制其实是两个复制。浅拷贝,第⼀次复制了最外层的数据结构,然后在内存空间创建了⼀个这样的结构,同时在创建这样结构的时候,
也复制了原来这个数据结构的指针,赋予给这个被创建的结构,所以他们只有最外层地址不同,内部地址是⼀样的
深拷贝
深拷贝就是全部复制然后重新全部创建在内存,所有的内外部都是
注意深浅copy遇到字符串和数字时,内存地址都是⼀样的.python的优化所致,正常a=10,和b=10两个的地址是不⼀样的
5.函数
函数是为了减少我们编写程序的时候避免重复使⽤代码⽽产⽣的,通过在函数⾥⾯写代码,再调⽤函数,就可以在整个程序⾥⾯随时复制函数⾥⾯的代码
def 函数名():
函数体
.....
返回值
1:def是函数的关键字
2:函数名是程序员⾃⼰定义的
3:函数体就是具体⾥⾯的代码
4:执⾏完函数以后,会给返回以⼀个设定的值,如果没有设定就⽤默认none
当程序遇到def liu():的时候不会执⾏⾥⾯的代码,只是知道有⼀个函数liu()在这⾥,当程序遇到liu()的时候就会返回def liu():⾥⾯去执⾏代码,当函数⾥⾯遇到return的时候函数不再往下执⾏
⽽是返回return后⾯的值,没有return的时候返回none且函数会把⾥⾯的代码全部执⾏完,返回值为变量名()
5:函数的参数
当函数加上参数以后,函数⾥⾯的某些固定变量就可直接在外⾯更改
函数⾥⾯有三种参数
普通参数
默认参数
动态参数
1:普通参数
在def 函数名():括号⾥⾯的参数是形式参数,也就是形参
在a=liu()括号⾥⾯的参数是实际参数也就是实参。
2:默认参数
当实参没有传值给形参的时候默认参数就会传值,并且默认参数只能放在最后
3:动态参数
实参传的值都已元组的形式保存下来
在可迭代对象前⾯加⼀个*就把每⼀元素拿到元组⾥⾯去了。
形参**args表⽰可以穿字典类型
在字典前⾯加两个*直接把字典传进去
6.全局变量
在函数⾥⾯的变量是局部变量,它在函数⾥⾯的改变不会影响外⾯值得改变
系统报错的原因在与函数⾥⾯的a是局部变量,不能在外⾯使⽤,只有声明⼀下a是全局变量才能内外都使⽤

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。