python快速入门

基础知识

python是一门脚本语言,它是解释执行的。

python使用缩进做为语法,而且python2环境下同一个py文件中不能同时存在tab和空格缩进,否则会出错,建议在IDE中显示缩进符。

A文件和B文件在表头不能互相导入,因为会导致循环导入,但在函数中可以互相导入

[En]

File An and file B cannot import each other in the header because it causes a circular import, but can import each other in function

python在声明变量时不写数据类型,可以type(xx)来获取字段的类型,然后可以int(),list()等进行类型强转

条件判断是If和elif,后面加冒号:可以不写()

没有++和–,有+=和-=

说明:本文没有特殊说明的都是指在python2环境下

列表和字典

如果tuple中只有一个元素需要这样写: (1,),直接写(1)会被当成int

列表排序:sorted(list, key = lambda x: x.id),注意sorted排序是不返回内容的,而是会修改原list。如果要自定义排序使用cmp,示例:self.disData.sort(cmp = self.contentCmp)

在遍历列表时,即有类似于C#中的foreach也有for,例子如下:

for index,data in enumerate(list):
    pass
for data in list:
    pass
for k, v in dict.iteritems():
    print k, v

在构建词典时,如果值是List,我们通常会这样写

[En]

When building a dictionary, if value is list, we usually write like this

d = {}
for key, value in pairs:
    if key not in d:
        d[key] = []
    d[key].append(value)

如果使用setDefault,它会使代码看起来更简洁。

[En]

If you use setdefault, it will make the code look more concise.

d = {}
for key, value in pairs:
    d.setdefault(key, []).append(value)

有序字典:在C#和Python中,Dict都是无序的。您可以使用OrderedDict来确保元素的顺序。从集合导入OrderedDict和其他用途与dict相同。

[En]

Ordered dictionary: dict is unordered in both C # and python. You can use OrderedDict to ensure the order of elements. From collections import OrderedDict and other uses are the same as dict.

列表解包

对于一个列表,可以直接解包,如果不需要的元素,可以使用_来显示,比如

list1 = [1,10,100,50,30]
a,b,c,_=list1 # 这样就提取了list1中的前三个元素

#用在参数传参数时,可以在list前加*来解包参数
def test(lv,atk):
    pass
list2=[1,888]
test(*list2)

调试和打印

python对象是可以直接打印出来,而对于又封装了一层或者打印出来是 object at 0x00000282C2D4F858>的,可以通过 obj.__dict__来打印详细数据。

因为python中任何都是对象,除了少除自定义对象都是有__dict__的

使用dir(Obj)打印对象的所有方法

[En]

All the methods of printing an object using dir (obj)

inspect用来打印函数调用堆栈,它还有其它的用途,具体可查看:

dict,list,tuple判空

对于一个dict,如果没有数据(dictxx={})但它不是None,可通过if xx 来判断,同理list也是可以这样来判断。在python中无数据和None是个东西,是不等价的。

示例:

[En]

Example:

tuple1 = ()
if not tuple1:
    print ("空元组")
dict1= {}
if not dict1:
    print ("空字典")
list1 = [1,"a"]
print list1

函数或属性判空

判断依据:hasattr(对象,“名字”):

[En]

Judge by: hasattr (object, “first name”):

脚本语言不同于强类型语言,IDE在编写代码时不会检查此类错误。

[En]

Scripting languages are different from strongly typed languages, and IDE won’t check for such errors when writing code.

__str____repr__

在C#中,这两个函数都可以理解为TO字符串

[En]

Both of these functions can be understood as tostring in C #

当在命令行中调用obj时,会调用__repr__来打印,

工具函数

filter(过滤函数,列表)

zip()将多个list打包一个包含多个tuple的列表,以最短的list为准,取相同位置的元素出来放到tuple中

面向对象

装饰器

它可以理解为封装方法,该方法在调用函数时自动传递给修饰器以进行检查。

[En]

It can be understood as encapsulating the method, which is automatically passed to the decorator for checking when a function is called.

热更新和热重载

python原生支持热重载(reload),运行期间不重启来达到重加载脚本

Original: https://www.cnblogs.com/zhaoqingqing/p/16413904.html
Author: 赵青青
Title: python快速入门

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/6388/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

免费咨询
免费咨询
扫码关注
扫码关注
联系站长

站长Johngo!

大数据和算法重度研究者!

持续产出大数据、算法、LeetCode干货,以及业界好资源!

2022012703491714

微信来撩,免费咨询:xiaozhu_tec

分享本页
返回顶部
最近整理资源【免费获取】:   👉 程序员最新必读书单  | 👏 互联网各方向面试题下载 | ✌️计算机核心资源汇总