零基础学Python|Python基础语法学习第二天

简介: 零基础学Python|Python基础语法学习第二天


回顾练习:输出语句

输出 “Go Big Or Go Home!"

print("Go Big Or Go Home!")

1.导入库

在python中导库也称为导包,或者叫导入模块,和Java中的导包概念相同,就是将Python自带的包或第三方的包或自定义的包和函数(或称为API)导入到当前的文件中以供使用。

在 python 用 import 或者 from…import 来导入相应的模块。

将整个模块(假设模块名为  mymodule)导入,格式为: import mymodule
从某个模块中导入某个函数,格式为: from mymodule import myfunction
从某个模块中导入多个函数,格式为: from mymodule import firstfunc, secondfunc, thirdfunc
将某个模块中的全部函数导入,格式为: from mymodule import *
将某个模块改名(改为s),格式为:import mymodule as s

示例:sys模块是与python解释器交互的一个接口。sys 模块提供了许多函数和变量来处理 Python 运行时环境的不同部分。

# 练习1
import sys
print('================Python import mode==========================')
print('命令行参数为:')
for i in sys.argv:
    print(i)
    print('\n python 路径为',sys.path)

示例:输出当前系统的时间

#练习2
import datetime
print("当前时间:"+str(datetime.datetime.now()))

注:str是一个用于类型转换的函数,可以将目标转换为字符串类型

2.条件语句

学习编程语言必学的一个知识点,用于各种业务条件的流程判断等。

if 判断条件

if:

执行语句……

条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。

a=0
b=1
if a>b: 
    print(a,">",b)

if else分支语句

if:

执行语句……

else:

执行语句……

程序语言指定任何非0和非空(null)值为true,0 或者 null为false。

编程中 if 语句用于控制程序的执行,基本形式为:

a=1
b=0
if a>b: 
    print(a,">",b)
else: 
    print(a,"<",b)

if elif else多分支语句

if:

执行语句……

elif:

执行语句……

else:

执行语句……

if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。

当判断条件为多个值时,可以使用以下形式:

num = 5 
if num == 3:# 判断num的值 
    print 'boss' 
elif num == 2:
    print 'user'
elif num == 1:
    print 'worker'
elif num < 0: # 值小于零时输出
    print 'error' 
else: 
    print 'roadman' # 条件均不成立时输出

由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。

当if有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与或要优先判断。

你也可以在同一行的位置上使用if条件判断语句,如下实例:仅限代码块只有一行的情况下

# 实例 5
var = 100 
if ( var == 100 ) :print "变量 var 的值为100"
print "Good bye!"

注:python编码基本语法格式

python在编写代码块时,使用代码缩进和冒号:来表示代码块的分割。缩进可以使用空格或Tab键来实现,一般采用四个空格作为一个缩进量。在python中,定义函数、类、控制语句等,行为的冒号和下一行的缩进表示一个代码块的开始,而缩进结束,表示一个代码块的结束。python对代码块的缩进要求非常严格,同一个级别的代码块缩进量必须相同。否则会抛出SystemError异常。
编码规范知识贴:
* 每个import语句只导入一个模块,尽量避免同时导入多个
* 不要在行为添加分号 ;
* 每行不超过80个字符,如果超过,建议用( )将内容连接起来,避免使用  "\"进行连接
* 使用空行可以增加代码的可读行
* 应避免在循环中使用 +  +=累加字符串。因为字符串是不可变的,这样做会创建很多临时对象,推荐将每个字符串加入列表中,使用join进行连接。
* 使用异常处理结构提高程序的容错性。

逻辑判断示例:

#练习3  input函数用于接受控制台输入,无论输入的是数字还是字符串,都会当成字符串处理
height = input("请输入您的身高:")
print("您的身高:"+height)
weight = input("请输入您的体重:")
print("您的体重:"+weight)
#运算时需要将字符串转换为浮点型
bmi = float(weight)/(float(height)*float(height))
print("您的BMI指数为:"+str(bmi))
#判断身材是否合理
if bmi<18.5:
    print("您的体重过轻")
elif bmi>=18.5 and bmi<24.9:
    print("正常范转,请保持")
elif bmi>=24.9 and bmi<29.9:
    print("您的体重过重")
else:
    print("过于肥胖,请减肥!")

常类型转换函数:

### 3.循环语句

python中常用的循环语句主要有下面四个:

while循环

while … else循环

for 循环

for … else 循环

下面一一介绍

while循环语句

while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。

count = 0 
while (count < 9): 
    print 'The count is:', count
    count = count + 1
print("Good bye!")

While 循环语句 else

while … else 在循环条件为 false 时执行 else 语句块:

count = 0 
while count < 5:
    print(count, " is less than 5") 
    count = count + 1 
else:
    print(count, " is not less than 5")

for 循环语句

for循环可以遍历任何序列的项目,如一个列表或者一个字符串。

for letter in 'Python': # 第一个实例 
    print("当前字母: %s" % letter) 
fruits = ['banana', 'apple', 'mango'] 
for fruit in fruits: # 第二个实例 
    print('当前水果: %s'% fruit) 
print("Good bye!")

for 循环语句 else

在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。

#练习4  求10-20之间的质数  (质数是指除了1和自己外没有别的因数的数字)
for num in range(10,20): # 迭代 10 到 20 之间的数字
    for i in range(2,num): # 根据因子迭代
        if num%i == 0: # 确定第一个因子
            j=num/i # 计算第二个因子
            print('%d 等于 %d * %d' % (num,i,j))
            break # 跳出当前循环
    else: # 循环的 else 部分
        print('%d 是一个质数' % num)

嵌套循环

在一个循环体里面嵌入另一个循环。

  1. while与while嵌套
  2. for与for嵌套

你可以在循环体内嵌入其他的循环体,如在while循环中可以嵌入for循环, 反之,你可以在for循环中嵌入while循环。

以下实例使用了嵌套循环输出2~100之间的素数(素数就是质数):

# 练习 5  求素数
i = 2
while(i < 100):
    j = 2
    while(j <= (i/j)):
        if not(i%j):
            break
        j = j + 1
        if (j > i/j) :
            print(i," 是素数")
    i = i + 1
    print("Good bye!")

循环控制语句

循环控制语句可以更改语句执行的顺序。Python支持以下循环控制语句:

break 语句

Python break语句,就像在C语言中,打破了最小封闭for或while循环。

break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。

break语句用在while和for循环中。

如果您使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码

for letter in 'Python': # 第一个实例 
    if letter == 'h':
        break
    print('当前字母 :', letter)
print("Good bye!")

continue 语句

Python continue 语句跳出本次循环,而break跳出整个循环。

continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。

continue语句用在while和for循环中。

for letter in 'Python':# 第一个实例 
    if letter == 'h':
        continue 
    print('当前字母 :', letter)
print("Good bye!")

pass 语句

Python pass 是空语句,是为了保持程序结构的完整性。

pass 不做任何事情,一般用做占位语句。

for letter in 'Python':
    if letter == 'h':
        pass 
        print('这是 pass 块')
    print('当前字母 :', letter) 
print("Good bye!")

4.运算符

算术运算符

注:在使用%求余时,如果除数是一个负数,那么结果也是一个负数

小贴士:
算术运算的优先级和数学中的运算优先级是一样的
优先级由高到低排序如下:
第一级: **
第二级: *,/,%,//
第三级:  +,-

在Python中,* 运算符还可以用于字符串中,计算结果就是字符串重复指定次数的结果。

print("M"*10)   #输出10个重复的M
print("@"*10)   #输出10个重复的@
print(" "*10,"M"*5)  #先输出10个空格,再输出5个M

注:使用除法时(/或//)和求余(%)时 除数不能为0

# 练习 6  算术运算
python = 90
java = 89
c = 98
sub = python-java
print("java和python的分差是:"+str(sub))
avg = (python+java+c)/3;
print("三门学科的平均分是:"+str(avg))

赋值运算符

1.简单赋值运算符(=)

简单赋值运算符表示为c = a + b,将 a + b 的运算结果赋值为 c。

2.加法赋值运算符(+=)

加法赋值运算符表示为c += a,等效于 c = c + a。

3.减法赋值运算符(-=)

减法赋值运算符表示为c -= a,等效于 c = c - a。

4.乘法赋值运算符(*=)

乘法赋值运算符表示为c *= a,等效于 c = c * a。

5.除法赋值运算符(/=)

除法赋值运算符表示为c /= a,等效于 c = c / a。

6.取模赋值运算符(%=)

取模赋值运算符表示为c %= a 等效于,c = c % a。

7.幂赋值运算符(**=)

幂赋值运算符表示为c **= a,等效于 c = c ** a。

8.取整除赋值运算符(//=)

取整除赋值运算符表示为c //= a,等效于 c = c // a。

比较运算符

注:在python中,当需要判断一个变量是否介于两个值之间时,可以采用"值1<变量<值2"的形式,如 “0<a<100”

逻辑运算符

逻辑运算是对真和假两种布尔类型的值进行运算,运算的结果仍为一个布尔值。常用的是逻辑与(and),逻辑或(or),逻辑非(not)。

示例:

#练习7 逻辑运算符
print("手机店正在打折,活动进行中...")
strWeek = input("请输入中文星期(如星期一):")
intTime = int(input("请输入时间中的小时(范围:0~23):"))
#判断是否满足活动参与条件
if(strWeek=="星期二" and (intTime>=10 and intTime<=11)) \
    or (strWeek=="星期五" and (intTime>=14 and intTime<=15)):
    print("恭喜你,获得了折扣活动参与资格,快快选购吧!")
else:
    print("对不起,你来晚一步,期待下次活动....")

位运算

位运算是把数字看作二进制来进行运算的,需要先将执行运算的数字转换成二进制,再执行运算。

&:按位与操作,只有 1 &1 为1,其他情况为0。可用于进位运算。
|:按位或操作,只有 0|0为0,其他情况为1。
~:逐位取反。
^:异或,相同为0,相异为1。可用于加操作(不包括进位项)。
<<:左移操作,2的幂相关
>>:右移操作,2的幂相关

1.位与运算:&

示例:12&8 进行位运算,先将12和8转换为二进制 位运算后还是8

0000 0000 0000 1100
&0000 0000 0000 1000
 --------------------
 0000 0000 0000 1000

2.位或运算:|

示例:4|8 进行或运算,先将4和8转换为二进制 或运算后是12

0000 0000 0000 0100
&0000 0000 0000 1000
 --------------------
 0000 0000 0000 1100

3.位异或运算:^

示例:31^22 进行位或运算,先将31和22转换为二进制 位或运算后是9

0000 0000 0001 1111
&0000 0000 0001 0110
 --------------------
 0000 0000 0000 1001

4.位取反运算:~

示例:~123 进行取反运算,先将123转换为二进制 取反运算后是-124

~0000 0000 0111 1011
 --------------------
 1111 1111 1000 0100

5.左移位运算:<<

左移位运算符<<是将一个二制操作数向左移动指定的位数,左边(高位端)溢出的位被丢弃,右边(低位端)的空位用0补充。左移位运算相当于乘以2的n次幂。

示例:48左移1位

48的二进制数为 0011 0000 ,将其左移1位,(00110000<<1)=01100000 ,转换为十进制就是96.
也可以直接用48*2。如果左移2位,就是48*2*2

6.右移位运算:>>

右移位运算符>>是将一个二制操作数向右移动指定的位数,右边(低位端)溢出的位被丢弃,左边(高位端)的空位用0或1补充(如果左侧最高位是0则补0,最高位是1则补1)。左移位运算相当于除以2的n次幂。

示例:右移1位

48的二进制数为 0011 0000 ,将其右移1位,(00110000>>1)=00110000 ,转换为十进制就是24.
也可以直接用48/2。如果左移2位,就是48/(2*2)

运算符的优先级:

相关文章
|
机器人 程序员 Python
已完结!给小白的《50讲Python自动化办公》
已完结!给小白的《50讲Python自动化办公》
181 7
已完结!给小白的《50讲Python自动化办公》
|
7月前
|
Linux 开发工具 Python
初学者从无到有的Python语言如何入门,这份Python学习路线赶紧带走_python 从无到(1)
初学者从无到有的Python语言如何入门,这份Python学习路线赶紧带走_python 从无到(1)
初学者从无到有的Python语言如何入门,这份Python学习路线赶紧带走_python 从无到(1)
|
7月前
|
存储 算法 C语言
不用看网课就能学到python的文章(第四天)
不用看网课就能学到python的文章(第四天)
|
7月前
|
存储 小程序 C语言
不用看网课就能学到python的文章(第五天)
不用看网课就能学到python的文章(第五天)
|
7月前
|
C语言 Python
不用看网课就能学到python的文章(第二天)
不用看网课就能学到python的文章(第二天)
|
7月前
|
C语言 Python
不用看网课就能学到python的文章(第三天)
不用看网课就能学到python的文章(第三天)
|
7月前
|
Java Go API
零基础学Python|Python基础语法学习第二天
零基础学Python|Python基础语法学习第二天
|
7月前
|
存储 Java 开发工具
零基础学Python|Python基础语法学习第一天
零基础学Python|Python基础语法学习第一天
|
7月前
|
存储 Java 索引
零基础学Python|Python基础知识学习第三天
零基础学Python|Python基础知识学习第三天
125 0
|
7月前
|
存储 Java Python
零基础学Python|Python进阶学习第五天
零基础学Python|Python进阶学习第五天