Python 编程导论 Chapter 2 —— Python 简介


typora-copy-images-to: Python 编程导论

Python 编程导论 Chapter 2 —— Python 简介


  • 编程语言的特点

    • 低级与高级,使用机器层次的指令还是语言设计者的抽象操作
    • 通用性和专注性,sql只适用于数据库提取信息,不能建立操作系统
    • 解释运行与编译运行,源代码通过解释器直接执行还是先进行编译
      • 前者更易调试
      • 后者速度更快更小
  • Python的静态语义检查薄弱

2.1 Python 的基本元素

  • Python 程序有时称为脚本,是一系列的定义和命令
  • Python 的解释器,也称为shell,用来求值并执行命令
2.1.1 对象、表达式和数值类型
  • 对象是Python程序处理的核心,其类型为:

    • 标量 ,对象不可分,视为原子
      • int 整数
      • float 实数
      • bool 布尔值 True & False
      • None 只有一个值,在4.1讨论
    • 非标量,对象可分,如字符串,有内部结构
  • 对象和操作符可以组成表达式

    • ==用来检验两个表达式是否相等
    • != 用来检验两个表达式是否不等

在这里插入图片描述

  • 操作符具有优先级,同时通过括号可以改变计算顺序

  • bool类型上的基本操作符

    • and 两者都为True
    • or 至少有一个为True
    • not 如果 为 False 值为 True
2.1.2 变量与赋值

在这里插入图片描述

  • 在Python中,变量仅是名称,没有其他意义。一个对象可以有一个或多个名称与之关联,也可以不关联任何名称

  • Python变量名是大小写敏感的,可以包含大写字母、小写字母、数字(但不能以数字开头)和特殊字符 _

  • Python支持多重赋值。以下语句:x, y = 2, 3

x, y = 2, 3
x, y = y, x
print ('x =', x)
print ('y =', y)
# 交换两个变量的绑定
2.1.3 Python IDE
  • 集成开发环境下使用文本编辑器编写程序
    • Anaconda
    • Canopy

2.2 程序分支

  • 分支型程序更有价值。最简单的分支语句是条件语句

  • 条件语句分为三个部分:

    • 测试,取值True or False
    • 代码块,True 值使用
    • 可选代码块,False 值使用

在这里插入图片描述

# 条件语句
if Boolean expression:
	block of code
else:
	block of code
    
if x%2 == 0:
	print 'Even'
else:
	print 'Odd'
print 'Done with conditional'

# 条件语句的嵌套
if x%2 == 0:
	if x%3 == 0:
		print 'Divisible by 2 and 3'
	else:
		print 'Divisible by 2 and not by 3'
elif x%3 == 0:
	print 'Divisible by 3 and not by 2'
    
# 复合布尔表达式 and
if x < y and x < z:
	print('x is least')
elif y < z:
	print('y is least')
else:
	print('z is least')

2.3 字符串和输入

  • 类型检查的存在是好事

  • 3* ‘a’ 相当于’a’+‘a’+‘a’

  • 字符串是Python中的序列类型之一。所有序列类型都可以执行以下操作:

    • len()求字符串的长度
    • 使用索引从字符串提取单个字符
    • 可以分片操作'abc'[1:3] ='bc''abc'[:]就相当于'abc'[0:len('abc')]
2.3.1 输入
  • input 函数可以直接接受用户的输入
>>> n = input('Enter an int: ')
Enter an int: 3
>>> print(type(n))
<type 'str'>
  • 当一个 float 值被转换成 int 值时,数值是被截断的(不是四舍五入). 例如, int(3.9) 的值是 int 3
2.3.2 杂谈字符编码
# 你可以告诉Python使用何种编码方式
# -*- coding: encoding name -*-
# -*- coding: utf-8 -*-

2.4 迭代

  • 需要程序多次做同一件事情的时候,可以使用迭代语句

在这里插入图片描述

与条件语句类似,它从一个测试条件开始。如果测试条件取值为 True ,程序就执行一次循环体,然后重新检查测试条件。一直重复这个过程,直到测试条件为 False ,此后程序控制权就传递给迭代语句后面的代码

# Square an integer, the hard way
x = 3
ans = 0
itersLeft = x
while (itersLeft != 0):
	ans = ans + x
	itersLeft = itersLeft - 1
print(str(x) + '*' + str(x) + ' = ' + str(ans))

# 当程序第四次检查测试条件时,测试条件的值为 False 

# Find a positive integer that is divisible by both 11 and 12
x = 1
while True:
    if x % 11 == 0 and x % 12 == 0:
        break
    x += 1
print(x)

练习题

  • 编写一个程序,要求用户输入10个整数,然后输出其中最大的奇数。如果用户没
    有输入奇数,则输出一个消息进行说明
# 我的思路
# 先让用户输入10个数
# 找出其中的奇数
# 排序打印最大值

number_list = []
for number_imput in range(10):
    num = int(input(f"Please input your {number_imput}th number : "))
    number_list.append(num)

odd_list = []
for number in number_list:
    if number % 2 != 0:
        odd_list.append(number)
if odd_list == None :
    print("no odd number is found")

last_list = sorted(odd_list)
print(f"The largest odd number you input is {last_list[-1]}!")


# 样板思路:
def return_biggest_number(A_LIST):
	odd=[]
	for each_num in A_LIST:
		if each_num%2==1:
			odd.append(each_num)
	if odd==None:
		print('no odd number is found')
	return sorted(odd)[-1]

num_list=[]
for each_num in range(10):
	num = input('input the '+str(each_num)+'th number')
	num_list.append(int(num))

print(return_biggest_number(num_list))
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值