python基础语法学习常见小问题

说明:我是最近觉得python在完成很多工作中方便使用而且功能强大,想突击学习一下。用的是廖雪峰老师的教程,学习python3.X。这里是廖雪峰老师的网站链接:

http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000

  本人用的windows学习python;

一、常见小的细节:

  1.python中 elif 是else if的缩写;

  2.python初始使用有交互式的,就是有>>>符号的命令行格式,直接执行输入的每一个语句,方便测试,特别是在写程序的时候把一些代码直接复制过来执行,往往很容易发现问题,但是不会保存,每次得重新写;  另外一种就是在 > 下面,python hello.py解释执行整个文件;

  3.两个容器: list : classmates == ["Jack", "Rose"],可以修改,可以不同类型 l = [1, "Jack", True]; tuple: t = (1, 2 ,3), t1 = (1, )只有一个元素的时候,要加一个逗号,还有就是tuple元祖一旦定义就不能改变,这是相对于list更加安全的地方,tuple里面也可以嵌套list,list里面是可动态修改的,tuple也是支持不同的类型, t2 = (1, 'Jack');

  4.输入函数input() : input()返回的数据类型是strstr不能直接和整数比较,必须先把str转换成整数。Python提供了int()函数来完成这件事情;

  5.dic 和 list : dic使用hash算法存储,key-value;查找速度快并且与存储规模无关,但是浪费内存多,dict的key必须是不可变对象;list查找速度较慢但是浪费内存少;

  6.set:是一个无序不重复元素集。可以用来消除重复元素: 

      >>> a = [11,22,33,44,11,22]  

      >>> b = set(a)  

      >>> b

      Set([33, 11, 44, 22])  

  7.python函数可以返回多个数值:Python的函数返回多值其实就是返回一个tuple,但写起来更方便。

  8.不变对象与可变对象:

    为什么要设计strNone这样的不变对象呢?因为不变对象一旦创建,对象内部的数据就不能修改,这样就减少了由于修改数据导致的错误。此外,由于对象不变,多任务环境下同时              读取对象不需要加锁,同时读一点问题都没有。我们在编写程序时,如果可以设计一个不变对象,那就尽量设计成不变对象。

  9.函数在设置默认参数的时候,一定要默认参数必须指向不变对象!!!否则会随着函数的调用,默认参数发生改变;

  10.私有函数和公有函数:将对外面提供的接口设置成为共有的,内部逻辑实现定义为私有的 : _xx, __xx这种函数,是一种比较好的代码封装和抽象的方法;

    但是python没有一种机制可以限制对私有函数的访问,只是不应该被访问;

原文地址:https://www.cnblogs.com/robin2ML/p/6711028.html