python基础知识

python的哲学是简单优雅

提供了非常完善的基础代码库,并且有大量的第三方库

#让linux系统知道这是python程序

#!usr/bin/env
# -*-coding:utf-8-*-

 

系列对比:

python与自然语言(为什么要有编程语法):

计算机编程语言和我们日常使用的自然语言有所不同,最大的区别就是,自然语言在不同的语境下有不同的理解,而计算机要根据编程语言执行任务,就必须保证编程语言写出的程序决不能有歧义,所以,任何一种编程语言都有自己的一套语法,编译器或者解释器就是负责把符合语法的程序代码转换成CPU能够执行的机器码

变量:

程序变量与方程变量(未知数):变量的概念基本上和初中代数的方程变量是一致的,只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。

最后,理解变量在计算机内存中的表示也非常重要。当我们写:

a = 'ABC'

时,Python解释器干了两件事情:

    1. 在内存中创建了一个'ABC'的字符串;

    2. 在内存中创建了一个名为a的变量,并把它指向'ABC'

也可以把一个变量a赋值给另一个变量b,这个操作实际上是把变量b指向变量a所指向的数据,例如下面的代码

 

各数据类型间转换:

查看数据类型使用type

str转换为int:int()

tuple转换为list:list()

 

一些使用技巧:

复制列表:a=L[:]

判断字符串s是否为空

 避免在循环中用+和+=操作符来累加字符串. 由于字符串是不可变的, 这样做会创建不必要的临时对象, 并且导致二次方而不是线性的运行时间. 作为替代方案, 你可以将每个子串加入列表, 然后在循环结束后用 .join 连接列表

迭代:

在Python中,迭代是通过for ... in来完成的,而很多语言比如C语言,迭代list是通过下标完成的

因为dict的存储不是按照list的方式顺序排列,所以,迭代出的结果顺序很可能不一样。

默认情况下,dict迭代的是key。如果要迭代value,可以用for value in d.values(),如果要同时迭代key和value,可以用for k, v in d.items()

 如何判断一个对象是可迭代对象呢?方法是通过collections模块的Iterable类型判断 

from collections import Iterable

isinstance('abc', Iterable) # str是否可迭代

 



如果要对list实现类似Java那样的下标循环怎么办?Python内置的enumerate函数可以把一个list变成索引-元素对,这样就可以在for循环中同时迭代索引和元素本身:
for i, value in enumerate(['A', 'B', 'C']):
...     print(i, value)

 

 

      用列表生成式,可以写出非常简洁的代码。例如,列出当前目录下的所有文件和目录名,可以通过一行代码实现:

>>> import os # 导入os模块,模块的概念后面讲到
>>> [d for d in os.listdir('.')] 

 




posted @ 2021-02-24 16:37  bobo的学习笔记  阅读(114)  评论(0编辑  收藏  举报