python初始

举报
芒果_Mango 发表于 2022/04/30 23:05:02 2022/04/30
【摘要】 大家好,我是芒果,一名非科班的在校大学生。对C/C++、数据结构、Linux及MySql、算法等领域感兴趣,喜欢将所学知识写成博客记录下来。 希望该文章对你有所帮助!如果有错误请大佬们指正!共同学习交流作者简介:CSDN C/C++领域新星创作者https://blog.csdn.net/chuxinchangcun?type=blog掘金LV3用户 https://juejin.cn/us...

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

作者简介:

本文档主要讲解内容:

对以下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

多元赋值

  • 可以同时给多个变量赋不同的值
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也是变量, 只不过是系统自带的"内置变量", 一样可以修改值的
  • 不过我们实际写代码的时候, 千万千万别这么写, 和作死无异~~~(当然, 除非是你故意想埋坑).

增量赋值

  • 我们前面提到过, 可以使用 += 直接让变量自增.
  • 其实还支持很多其他的自增操作(参见下图).

image-20220316092904342

变量的作用域和生命周期

  • 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函数

  • 内建函数globals()返回了全局作用域下都有哪些变量, 内建函数locals()返回了局部作用域下都有哪些变量
  • 关于Python的变量的生命周期, 这个不需要程序猿操心, Python提供了垃圾回收机制自动识别一个变量的生命周期是否走到尽头, 并自动释放空间(详情我们稍后再讲).
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。