摘要:个数相等,顺序对应当在函数参数里面使用的时候,可以在实参里面修改默认值在调用函数传入参数的时候,明确告诉实参,形参给传的是那个实参的值,
变量
python3中变量的定义是不固定类型的(动态),区分大小写
值类型 | 引用类型 |
---|---|
不可变的(值类型) | 可变的(引用类型) |
int (整型) | list (列表) |
str (字符串) | set (集合) |
tuple (元组) | dict (字典) |
通过内置函数id(),可以知道变量在内存的位置
b = "icessun" b = b + "hello" print(b) >>> "icessunhello" # 不是说字符串是不可变的嘛?怎么改变了
如果字符串可以改变,那么可以使用索引值给字符串赋值"python"[0] = "h" -----> 报错,会发现报错,是不行的。
上面程序的结果是因为,+连接符,把两个字符串连接起来了,链接起来的值重新赋值给了b元素,使用id(b)函数,会发现其实上面两个b变量在内存的位置是不一样的,所以第一个b变量的值没有改变,被覆盖了。
乘方的表示法 :2**5 ----> 2的5次方=32
is / not is
a = (1,2,3) b = (1,3,2) print(a is b) # 元组是不可变的 print(a == b) # 元组是有序的,值是不相等的 >>> False False # 集合 a = {1,2,3} b = {1,3,2} print(a==b) # 集合是无序的,所以值是相等的 print(a is b) >>> True False # 字符串,数字 两个取值相等,则is 返回True,但是数字有特殊 a = "icessun" b = "icessun" print(a is b) >>> True a = 1 b = 1 c = 1.0 print(a==b) print(a==c print(a is b) print(a is c) >>> True True True False
从上面可以看出,元组是不可变的,改变里面元素的位置就变成了两个新的元组。is不是比较两个变量的值是否相等,而是比较变量在内存的地址是否相等,算术运算符==是比较值是否相等的
对象的三个特性 | 一切都是对象 |
---|---|
id()函数:变量在内存的地址 | is :身份运算符 |
type()函数:类型判断函数 | isinstance(变量,(int,str,float....)) |
value值的比较 | == :算术比较符 |
判断一个变量是否在一个变量里面 in / not in
b= "a" b in {"c":1} >>> False b=1 b in {"c":1} >>> False b="c" b in {"c":1} >>> True
优先级:not > and > or
代码编写缩进来区分代码块,没有大括号{ }
pass:占位语句
常量一般大写
单行注释:#;推荐在这行语句的开头写,与上一条语句有空格
多行注释: """注释内容"""
代码后面不需要分号,有也可以
实例化一个对象,不需要new关键词
a = input() a = int(a) print("a is " + str(a)) if a==1: print("apple") elif a==2: print("orange") elif a==3: print("banana") else: print("shoppingp") # 使用 if else if a==1: print("apple") else: if a==2: print("orange") else: if a==3: print("banana") else: print("shopping")
input()接收用户的输入,elif功能类似于switch功能;
int(a):因为终端输入的是字符串,所以应该强制转为数字进行比较
print("a is " + str(a)):字符串的拼接只能两者都是字符串,否者会报错
主要用来遍历循环:序列List,集合Set,字典Dict
a = [["apple","orange","banana","grape"],(1,2,3)] for x in a: for y in x: if y=="orange": break # continue print(y) # 默认是换行(print(y,end="/n"))输出的,要想不换行:print(y,end=" ");故可以在end里面添加其他的符号来连接字符 else: print("fruit is gone") >>> apple 1 2 3 fruit is gone
break跳出里面的for循环,但是外面的for循环没有跳出,还是会执行;和else配对的是外面的for循环,所以依然会执行;要是在外层的for循环里面加入break,那么就不会执行else语句;for循环后面有else语句,当循环执行完毕,也会依然接着执行else语句,所以会输出fruit is gone;一般不推荐在for循环后面使用else语句
循环中使用range()函数
for x in range(0,10): print(x,end="|") >>> 0|1|2|3|4|5|6|7|8|9| for x in range(10,0,-2): print(x,end="|") >>> 10|8|6|4|2| # 打印列表a中所有的基奇数项 a=[1,2,3,4,5,6,7,8] # 循环+range()函数的方法 for x in range(0,len(a),2): print(a[x]) # 列表的切片的方法 print(a[0:len(a):2]) >>> [1,3,7]
range()函数的作用类似于其他语言中的for(i = 初始值;i < 长度;i ++);里面可以传入两个或者三个参数,两个参数的时候表示的是:初始值,长度;传入三个参数的时候表示的是:初始值,长度,步长
def ice(a,b): a1=a*3 b1=b*2+10 return a1,b1 ice_a1,ice_b1 = ice(3,6) print(ice_a1,ice_b1) >>> 9 22 a=1 b=2 ====> a,b,c=1,2,3 或者 (1,2,3) 当abc都相等的时候:a=b=c=1 或者 a,b,c=1,1,1 c=3
序列解包:就是当一个函数有多个返回值的时候,不需要使用一个变量接收到所有的返回值,然后又重新遍历返回值,取到对应的返回值;只需要使用和返回值个数对等的变量依次接收就行;当然只是针对返回值是值类型的函数。个数相等,顺序对应
当在函数参数里面使用的时候,可以在实参里面修改默认值;在调用函数传入参数的时候,明确告诉实参,形参给传的是那个实参的值sum(y=3,x=2)
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/41105.html
摘要:时间永远都过得那么快,一晃从年注册,到现在已经过去了年那些被我藏在收藏夹吃灰的文章,已经太多了,是时候把他们整理一下了。那是因为收藏夹太乱,橡皮擦给设置私密了,不收拾不好看呀。 ...
摘要:以下这些项目,你拿来学习学习练练手。当你每个步骤都能做到很优秀的时候,你应该考虑如何组合这四个步骤,使你的爬虫达到效率最高,也就是所谓的爬虫策略问题,爬虫策略学习不是一朝一夕的事情,建议多看看一些比较优秀的爬虫的设计方案,比如说。 (一)如何学习Python 学习Python大致可以分为以下几个阶段: 1.刚上手的时候肯定是先过一遍Python最基本的知识,比如说:变量、数据结构、语法...
摘要:语言也被称作为胶水语言,可以混合其他如,等来编程可以把其他语言制作的各种模块尤其是很轻松的联结在一起。会认为子类是一种父类类型。 最近学习了python3的语法,整理记录一下;语法是编程的先决条件,精通语法是编好程序的必要条件; 导语 给我最大的感觉是:这个语言的编写,居然不使用 { }来控制代码块的区域,而是使用缩进来分割代码块,所以使用python语言编写的代码不能压缩混淆。能够...
摘要:一积累中如何快速查看包中的源码最常用的大开发快捷键技巧将对象保存到文件中从文件中读取对象中的用法的配置详解和代码的格式详解格式化内容设置生成详解注释规范中设置内存调试的小知识单步执行命令的区别的动态代理机制详解内容有瑕疵,楼指正泛型继承的几 一、积累 1.JAVA Eclipse中如何快速查看jar包中 的class源码 最常用的15大Eclipse开发快捷键技巧 Java将对象保存到...
阅读 2883·2021-11-25 09:43
阅读 2294·2021-11-24 09:39
阅读 2648·2021-09-23 11:51
阅读 1375·2021-09-07 10:11
阅读 1424·2019-08-27 10:52
阅读 1916·2019-08-26 12:13
阅读 3320·2019-08-26 11:57
阅读 1354·2019-08-26 11:31