第2章 Python语法基础,IPython和JupyterNotebooks

2.3 Python语法基础

变量和参数传递

变量赋值时,注意是对一个对象的双重引用,以下a,b都指向一个对象,运行结果是[1, 2, 3, 4]

a=[1,2,3]
b=a
a=a.append(4)
b

要理解python 引用的含义,数据是何时、如何、为何复制的。

鸭子类型

经常的,你不关心一个对象的类型,只关心对象是否有某些方法或用途,通常被称为“鸭子类型”,常⻅的例子是编写⼀个函数可以接受任意类型的序列(list、tuple、 ndarray)或是迭代器。你可先检验对象是否是列表(或是 NUmPy数组),如果不是的话,将其转变成列表:运行结果

['s', 'w', 'e']
def isiterable(obj):
    if iter(obj):   
        return True
    else:
        return False
x="swe"
if not isinstance(x,list) and isiterable(x):
    x =list(x)
print(x)

引入

以下从同目录下导入some_module模块,

从上一目录找到base文件夹找到jira文件夹导入utils模块,

从上一目录找到base文件夹找到jira文件夹导入ismdefectloader模块的JiraISMDefectLoader类

from . import some_module
from ..base.jira import utils as utils
from ..base.jira.ismdefectloader import JiraISMDefectLoader

⼆元运算符和⽐较运算符

is和is not常⽤来判断⼀个变量是否为None:以下判断summary_a是否为空或none(excel单元格)

if summary_a != "" and summary_a != 'None':

可变与不可变对象

可变:如列表、字典、NumPy数组,和⽤ 户定义的类型(类);

不可变:元组和字符串。等

控制流

if、elif和else循环。

for循环:for循环是在⼀个集合(列表或元组)中进⾏迭代,或者就是⼀个 迭代器。for循环的标准语法是:

for	value in collection:
	#do	something with value

continue:你可以用continue使for循环提前,跳过当前语句剩下的部分。以下代码运行结果10.

array=[1,2,3,None,4]
num = 0
for a in array:
    if a is None :
       continue
    num += a
print(num)

break:可以用break跳出for循环,以下代码运行结果是6.

array=[1,2,3,None,4]
num = 0
for a in array:
    if a is None :
       break
    num += a
print(num)

While循环:while循环指定了条件和代码,当条件为False或⽤break退出循环。

pass:pass是Python中的非操作语句。代码块不需要任何动作时可以使用(作为未执行代码的占位符);因为Python需要使用空白字符划定代码块,所以需要pass。

range:range函数返回⼀个迭代器,它产⽣⼀个均匀分布的整数序列,range的三个参数是(起点,终点,步进)(返回不含终点):

[in]:list(range(10))
    
[out]:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值