python初始

网友投稿 665 2022-05-30

大家好,我是芒果,一名非科班的在校大学生。对C/C++、数据结构、Linux及MySql、算法等领域感兴趣,喜欢将所学知识写成博客记录下来。 希望该文章对你有所帮助!如果有错误请大佬们指正!共同学习交流

掘金LV3用户 https://juejin.cn/user/1381426159953960

阿里云社区专家博主,星级博主,技术博主 https://developer.aliyun.com/profile/expert/5lkdbuggiiuhc

华为云云享专家 https://bbs.huaweicloud.com/community/myhomepage

本文档主要讲解内容:

对以下Python基础语法的一些细节有一定的巩固和认知. 语句和变量 对象和类型 数字和运算 条件和循环 函数和可调用对象

语句和变量

如果一行代码太长, 可以折成多行来写, 看起来会更清楚.一定要记得, 代码写出来是给人看的, 不能看不懂. 怎么简单, 怎么清晰, 就怎么写.

Python中, 如果一个语句被小括号, 中括号, 大括号包起来, 是可以跨行书写的.

#这样格式化一个字典,字典的元素看起来会清晰很多 serve = { 'ip':"192.168.1.1" , 'port':80 }

如果没有用括号包起来, 可以使用 \ 来换行.

if x ==1 and \ y ==1: do_something

双引号(")和单引号(’)字符串, 都不能折行, 但是三引号(’’’/""")可以折行.

print('''hello how are you''')

使用 ; 可以把多个语句写到同一行. 但是强烈不建议这么做.

Python中使用缩进表示语句块.

同一个语句块中的代码必须保证严格的左对齐(左边有同样数目的空格和制表符).

虽然Python语法允许使用制表符作为缩进, 但是Python编码规范强烈不推荐使用制表符. 因为不同的编辑 器的制表符长度不同(4个空格或者8个空格).

我们推荐使用四个空格来表示一个缩进.

变量赋值方式

可以同时给多个变量赋相同的值

x = y = 1

python初始

可以同时给多个变量赋不同的值

x,y = 1,2

C语言里, 如何交换两个变量嘛? 我们讲了三种方法

//临时变量交换 int a = 10; int b = 20; int tmp = a; a = b; b = tmp;

//a+b有溢出的风险 int a = 10; int b = 20; a = a + b; b = a - b; a = a - b;

//异或法 int a = 10; int b = 20; a = a ^ b; b = a ^ b; a = a ^ b;

python交换两个变量的写法:

x, y = 10, 20 x, y = y, x

请看这样一段毁你三观的代码(仅限 Python2)

True, False = False, True if True: print('haha') else: print('hehe') #程序打印hehe

猜猜输出结果:

True和False也是变量, 只不过是系统自带的"内置变量", 一样可以修改值的

不过我们实际写代码的时候, 千万千万别这么写, 和作死无异~~~(当然, 除非是你故意想埋坑).

我们前面提到过, 可以使用 += 直接让变量自增.

其实还支持很多其他的自增操作(参见下图).

变量的作用域和生命周期

Python中, def, class(我们后面会讲), lamda(我们后面会讲) 会改变变量的作用域

if, else, elif, while, for, try/except(我们后面会讲) 不会改变变量的作用域

for i in range(0,10): print(i) print(i) #即使出了for循环,变量i仍然能访问i变量 打印9 for不会影响变量的作用域

例子2:

def func(): x = 1 print(x) print(x) #出了函数的作用域就不能访问x变量

内建函数globals()返回了全局作用域下都有哪些变量, 内建函数locals()返回了局部作用域下都有哪些变量

关于Python的变量的生命周期, 这个不需要程序猿操心, Python提供了垃圾回收机制自动识别一个变量的生命周期是否走到尽头, 并自动释放空间(详情我们稍后再讲).

Python

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:MRS 3.1.1-lts版本 HetuEngine新特性预告(2021.06.30) MRS 3.1.1-lts版本预计将于2021年6月30日前后发布,在这个新版本中,HetuEngine将带来哪些振奋人心的新特性呢?
下一篇:Spark Streaming 进阶实战五个例子
相关文章