python学习之基本语法(二)

运算符指具有运算功能的符号。表达式由值、变量和运算符组成的式子。

当python显示表达式的值时,显示的格式与你输入的格式是相同的。如果是字符串,就意味着包含引号。

** 幂运算符,返回x的y次幂     10**3为10的3次方

//取整除运算符,返回商的整数部分,不包含余数   9//2输出4,9.0//2.0 输出4.0

 

在python程序中只能将and、or、not三种运算符用作于逻辑运算符,而不像C、Java等编程语言那样可以使用&、|、!.

And   x and y 如果x为false,x and y返回false,否则,它返回y的计算值

Or    x or y  如果x是非0,它返回x的值;否则,它返回y的计算值

Not  not x  如果x为true,返回false;如果x为false,它返回true

 

成员运算符能够测试实例中包含的一系列成员,包含字符串、列表或元组。成员运算符用来验证给定的值(变量)在指定的范围里是否存在。

成员运算符有两个分别是:in和not in

In:如果在指定的序列中找到值则返回True,否则,返回False

Not in:如果在指定的序列中没有找到值则返回True,否则,返回False

#filename 1_9.py

a = 4;

b = 9;

list = [1,2,3,4,5];

if(a in list):

print("a在列表中")

else:

    print("a不在列表中")

if(b not in list):

print("b不在列表中")

else:

print("b在列表中")

 

身份运算符

身份运算符用来比较两个对象是否是同一个对象,这和用比较运算符中的“==”来比较两个对象的值是否相等有所区别。

身份运算符有两个,分别是is 和 is not 。

要想理解身份运算符的实现原理,需要从python变量的属性谈起

Python语言中的变量有三个属性,分别是name、id、value。

Name可以理解为变量名

Id可以联合内存地址来理解

Value就是变量的值

在python语言中,身份运算符is通过id来进行判断。如果id一样就返回True,否则,返回false。

#filename 1_10.py

a = [1,2,3];

b = [1,2,3];

print(a==b)

print(a is b)

print(id(a))

print(id(b))

 

变量a和变量b的value值是一样的,用“==”比较运算符比较的是变量的value,所以返回true。但当使用is的时候,比较的是id,变量a和变量b的id是不一样的。

运算符

描述

**

指数(最高优先级)

~、+、-

按位翻转,一元加号和减号

*、/、%、//

乘、除、取模和取整数

+、-

加法、减法

>>、<<

右移、左移运算符

&

位与

^、|

位运算符

<=、<、>、>=

比较运算符

<>、 ==、 !=

等于运算符(<>2.6以前版本的不等,!=Python3后的不等)

=、 %=、 /=、 //=、 -=、 +=、 *=、 **=

赋值运算符

is、 is not

身份运算符

in、 not in

成员运算符

not、 or、 and

逻辑运算符

 

条件语句

  1. If 判断条件:

      执行语句

  1. If 判断条件:

      执行语句

Else:

执行语句

 

  1. If 判断条件1:

      执行语句1

Elif 判断条件2:

      执行语句2

Elif 判断条件3:

      执行语句3

……

   Else:

       执行语句4

  1. if的嵌套语句

   If 判断条件2:

         执行语句1

Elif 判断条件2:

·执行语句2

  Else:

       执行语句3

  1. switch(整数选择因子){

Case 整数值1:语句;break;

Case 整数值2:语句;break;

Case 整数值3:语句;break;

Case 整数值4:语句;break;

……

Default:语句;

}

注意:整数选择因子必须是byte、short、int和char类型,

使用for循环语句

For iterating_var in sequence:

  Statements

iterating_var:表示循环变量

Sequence:表示遍历对象,通常是元组、列表和字典等。

Statements:表示执行语句

#filename 1_11.py

for letter in 'const':

print('当前字母:',letter)

fruits = ['banana','apple','mango']

for fruit in fruits:

print('当前单词:',fruit)

 

在python语言中,还可以通过序列索引迭代的方式实现循环功能。在具体实现时,可以借助内置函数range()实现。

Range([start,] stop[,step])

各个参数如下:

 Start:可选参数,起始数,默认值为0.

 Stop: 终止数,如果range只有一个参数x,那么range生产一个从0至x-1的整数列表。

Step:可选参数,表示步长,即每次循环序列增长值。

注意:产生的整数序列的最大值为stop-1.

 

#filename 1_12.py

fruits = ['banana','apple','mango']

for index in range(len(fruits)):

print('当前单词:',fruits[index])

 

使用for……else循环语句

For中的语句和普通的语句没有区别,else中的语句会在循环正常执行完(即for不是通过break跳出而中断的)的情况下执行。

For iterating_var in sequence:

   Statements1

Else:

  Statements2

Inerating_var:表示循环变量

Sequence:表示遍历对象,通常是元组,列表是元组、列表和字典等。

Statements:for语句中的循环体,它的执行次数就是遍历对象中值的数量。

Statement2:else语句中的statements2,只有循环正常退出(遍历完所有遍历对象中的值)时才执行。

#filename 1_13.py

for num in range(10,20):

for i in range(2,num):

if num%i ==0:

j=num/i

print('%d等于%d*%d'%(num,i,j))

break

else:

    print(num,'是一个质数')

While跟其他语言的用法一样

While……else

While 条件:

      语句1

Else:

     语句2   #如果循环未被break终止,则执行

Pass语句

Pass语句是一个空语句,不做任何事。

Pass   #这是一个空语句,与c或者java的空语句;一样

range(1,5) 将输出序列 [1, 2, 3, 4] 。在默认情况

下, range 将会以 1 逐步递增。如果我们向 range 提供第三个数字,则这个数字将成为逐

步递增的加数。同样举个例子来说明, range(1,5,2) 将会输出 [1, 3] 。要记住这一序列扩

展直到第二个数字,也就是说,它不会包括第二个数字在内。

 

案例(保存为 function_global.py ):

x = 50

def func():

global x

print('x is', x)

x = 2

print('Changed global x to', x)

func()

print('Value of x is', x)

输出:

$ python function_global.py

x is 50

Changed global x to 2

Value of x is 2

它是如何工作的

global 语句用以声明 x 是一个全局变量——因此,当我们在函数中为 x 进行赋值时,这

一改动将影响到我们在主代码块中使用的 x 的值

默认参数值

对于一些函数来说,你可能为希望使一些参数可选并使用默认的值,以避免用户不想为他们

提供值的情况。默认参数值可以有效帮助解决这一情况。你可以通过在函数定义时附加一个

赋值运算符( = )来为参数指定默认参数值。

要注意到,默认参数值应该是常数。更确切地说,默认参数值应该是不可变的——这将在后

面的章节中予以更详细的解释。就目前来说,只要记住就行了。

案例(保存为 function_default.py ):

函数

def say(message, times=1):

print(message * times)

say('Hello')

say('World', 5)

输出:

$ python function_default.py

Hello

WorldWorldWorldWorldWorld

它是如何工作的

名为 say 的函数用以按照给定的次数打印一串字符串。如果我们没有提供一个数值,则将按

照默认设置,只打印一次字符串。我们通过为参数 times 指定默认参数值 1 来实现这一

点。

在第一次使用 say 时,我们只提供字符串因而函数只会将这个字符串打印一次。在第二次使

用 say 时,我们既提供了字符串,同时也提供了一个参数 5 ,声明我们希望说(Say)这

个字符串五次。

注意

只有那些位于参数列表末尾的参数才能被赋予默认参数值,意即在函数的参数列表中拥

有默认参数值的参数不能位于没有默认参数值的参数之前。

这是因为值是按参数所处的位置依次分配的。举例来说, def func(a, b=5) 是有效的,

但 def func(a=5, b) 是无效的。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

const

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值