低级编程与高级编程
:二者之间的区别是,编写程序时,我们是使用机器层次的指令和数据对象(底层操作),还是使用语言设计者提供的更为抽象的操作(图形用户界面,UI)。
通用性与专注于某一应用领域
:指编程语言中的基本操作是广泛适用的还是只针对某个领域,例如SQL。
解释运行与编译运行
:指程序员编写的指令序列,即源代码是直接执行(通过解释器,使用解释型语言编写的程序更易调试,因为解释器可以给出与源代码相关的错误信息。),还是要先转换成机器层次的基础操作序列。(通过编译器,编译型语言(如,java)编写的程序速度更快,占用的空间也更少。)
python中对象
:对象分为标量对象(不可再分)和非标量对象(有内部结构,可再分)。Python有以下4类标量对象:
操作符
:对象和操作符可以组成表达式,每个表达式都相当于某种类型的对象,我们称其为表达式的值。
int类型和float类型支持的操作符
:
注:如果i和j都是int类型,结果也是int类型。如果其中任意一个是float类型,那么结果就是float类型。
比较运算符
:包括:==(等于)、!=(不等于)、>(大于)、>=(大于等于)、<(小于)和<=(小于等于)。
bool类型上的基本操作符
:and、or和not
变量
:在Python中,变量仅是名称,没有其他意义。赋值语句将=左边的名称与=右边的表达式所表示的对象关联起来,一个对象可以有一个或多个名称与之关联,也可以不关联任何名称。
多重赋值
:Python支持多重赋值。如:x, y = 2, 3
变量名
:将程序写得清晰易懂极其重要,恰当地选择变量名称在增强程序可读性方面扮演了重要角色。
最简单的分支型程序是条件语句
程序运行时间
:
str类型的对象
:用来表示由字符组成的字符串。str类型的字面量可以用单引号或双引号表示,如'abc'或"abc"。
重载
:即根据应用其上的对象类型的不同,它的意义也不同。操作符+存在重载的情形,例如:
字符串
:是Python中的序列类型之一。所有序列类型都可以执行以下操作:
注
:为什么在索引end-1 处而不是在end 处结束呢? 这样做是为了让'abc'[0:len('abc')]这样的表达式具有我们希望的值。如果冒号前面的索引值省略,那么默认值为0;如果冒号后面的索引值省略,那么默认值就是字符串的长度。于是,表达式'abc'[:]在语义上就等同于更加冗长的'abc'[0:len('abc')]。input函数
:可以直接接受用户输入。它可以使用一个字符串作为参数,显示在shell中作为提示信息,然后等待用户输入,用户输入以回车键结束。用户输入的行信息被看作一个字符串,并成为这个函数的返回值。
name = input('Enter your name: ')
字符串进行类型转换
:只要字符串中的值是某种类型的有效字面量,就可以对字符串进行类型转换。
Unicode编码的由来
:
字符串存在编码问题。
UnicodeDecodeError处理
: 如果中文字符串在Python环境下遇到 UnicodeDecodeError,这是因为.py文件保存的格式有问题。 可以在第一行添加注释:
# -*- coding: utf-8 -*-
目的是告诉Python解释器,用UTF-8编码读取源代码。
需要程序多次做同一件事情的时候,可以使用迭代语句,最简单的迭代语句就是for循环
1.实际练习:编写一个程序,检查3个变量x、y和z,输出其中最大的奇数。如果其中没有奇数,就输出一个消息进行说明。
# 解法1
def odd_max_input(x, y, z):
list = []
for i in [x, y, z]:
if i % 2 == 1:
list.append(i)
if len(list) == 0:
print('没有奇数')
else:
print(max(list))
# 解法2
def odd_max_input(x,y,z):
a=sorted([x,y,z],reverse=True)
for i in a:
if i%2==1:
return i
print('没有奇数')
# 解法3
def odd_max_input2(x,y,z):
a=[x,y,z]
max =0
for i in a:
if i%2==1:
if i > max:
max = i
if max==0:
print('没有奇数')
else:
print(max)
2.实际练习:将以下代码中的注释替换为while循环语句。 numXs = int(input('How many times should I print the letter X? ')) toPrint = '' numXss=abs(numXs)concatenate X to toPrint numXs times
numXs = int(input('How many times should I print the letter X? '))
toPrint = ''
while numXss!=0:
toPrint = toPrint+'X'
numXss=numXss-1
print(toPrint)
3.实际练习:编写一个程序,要求用户输入10个整数,然后输出其中最大的奇数。如果用户没 有输入奇数,则输出一个消息进行说明。
# 解法1
a=0
numXs =[]
while a!=10:
b=int(input('please input 10 int '))
numXs.append(b)
a+=1
numXss=sorted(numXs,reverse=True)
c=0
for i in numXss:
c+=1
if i%2==1:
print('最大的奇数是{}'.format(i))
break
elif c==10:
# 解法2
r = input('输入10个数字,用,[英文格式]间隔:')
list = [i for i in map(lambda i: int(i), r.split(',')) if i % 2 == 1]
print(list)
if len(list) == 0:
print('no odd')
else:
print(max(list))