课节1: Python环境搭配搭建入门教程
TIOBE 指数:最受关注的语言排行榜
python的特点
简洁性 实现同样的功能,python代码的行数往往是java的1/5。
易读性 代码像纯英语一样易于理解。
可扩展性 开源,任何人都可以做出自己的贡献。
课程框架
python入门及环境配置
语法基础
函数
高级特性
面向对象
文件操作与常用模块的使用
python的安装和环境配置
Anaconda(强烈推荐!) 下载地址 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 安装方法 https://blog.csdn.net/ITLearnHall/article/details/81708148/
IDE(pycharm) 下载地址:https://www.jetbrains.com/pycharm/download/#section=windows
安装方法:https://www.pycharm.com.cn
jupyter notebook windows:用win+R调出运行窗口,输入CMD。
mac: 直接打开terminal。
输入:jupyter notebook
python的代码大概长这样子
猜数字小游戏
my_number = 3200 # 这是真实的价格
guess_number = input('这台冰箱多少钱?') # 所有符号都是英文标点(半角字符)
guess_number = int(guess_number)while guess_number != my_number:
if guess_number<my_number: # 使用缩进来标识代码段
guess_number = input('猜低了!再猜')
guess_number = int(guess_number)
else:
guess_number = input('猜高了!再猜')
guess_number = int(guess_number)
print('\n恭喜您,猜对了!\n')
基本数据类型
整数 Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样2-5
浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的0.11.58e103e-4
认识运算符
print(1+2) # 加法
print(1-2) # 减法
print(1*2) # 乘法
print(1/2) # 除法
print(1//2) # 整除 (向下取整)
print(1%2) # 取余数
print(2**2) # 幂运算
print(2020- 5*5/2 +8**1) #结合顺序和一般的数学运算符一样
浮点数的计算精度0.1+0.2
0.1(10)=0.00011001100110011...(2)
字符串是以单引号’或双引号"括起来的任意文本’this is a string’“yes”
'爸爸说:"今天我做饭"'"爸爸说:\"今天我做饭\""
len('hello world!')
布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值布尔值 布尔值可以用and、or和not运算。# 注意大小写!True or False
空值 空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。None
给变量赋值
number = 1
number = 5.5
number = 'number'
给变量赋值
Number = 5
number = 10.5
NUMBER = 20
name = 'Molly'
beautiful = True
给变量赋值
number += 2
number -= 5
number *= 4
number /= 6
number %= 2
number **= 5
number //= 5
i++ i–
起名法则
简单地理解,标识符就是一个名字,就好像我们每个人都有属于自己的名字,它的主要作用就是作为变量、函数、类、模块以及其他对象的名称
Python 中标识符的命名不是随意的,而是要遵守一定的命令规则,比如说:
标识符是由字符(A~Z 和 a~z)、下划线和数字组成,但第一个字符不能是数字。 标识符不能和 Python 中的保留字相同。 Python中的标识符中,不能包含空格、@、% 以及 $ 等特殊字符。 在 Python 中,标识符中的字母是严格区分大小写的
判断下面的名字,哪些是合法的?
UserID4word
nameimport
data$money
mode12
user_age
_my_name
数据类型间相互转换
int(2.5)str(4)bool(3) # 非0: Ture 其它 Falsefloat('0.6')
interval 10 min
组合数据类型
列表 list
list是一种有序的集合,可以随时添加和删除其中的元素。
list1 = [1, 2, 3, 4, 5 ]
list2 = ["a", "b", "c", "d","e","f"]
list3 = ['physics', 'chemistry', 1997, 2000]
len(list1)
list1[4]
list3.append(5)
list1.pop()
把list中所有元素翻转 善用搜索引擎
元组 tuple
另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改
tuple1 = (1, 2, 3, 4, 5 )
tuple2 = ("a", "b", "c", "d","e","f")
tuple3 = ('physics', 'chemistry', 1997, 2000)
len(tuple1)
tuple1.append(3)
可变对象 不可变对象
可变对象:list dict set
不可变对象:tuple string int float bool
a = 5
print(id(a))
a = 6
print(id(a))
a = [5]
print(id(a))
a.append(6)
print(id(a))
字典dict
Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。
word = {'apple':'苹果','banana':'香蕉'}
scores = {'小张':100, '小李':80}
grad = {4:'很好',3: '好',2:'中',1:'差',0:'很差'}
scores['小张']
grad[3]
scores['小赵']=60
scores
集合 set
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
s = {1,1,2,3,4}
set([1,1,2,3,4])list({1,1,2,3,4})list((1,2,3))
流程控制:条件判断和循环
IF语句流程图
60分以上的同学及格了
score = 80if score < 60:
print('不及格')else:
print('及格')
print(1==2) # 判断是否相等
print(1!=2) # 判断是否相等
print(1>2) # 判断是否相等
print(1<2) # 判断是否相等
print(1>=2) # 判断是否相等
print(1<=2) # 判断是否相等
print(0.1+0.2==0.3) # 优先级
(0.1+0.2-0.3)<1e-5
多分支:红灯停 绿灯行
light = '红灯'
if light == '红灯':
print('停')elif light == '绿灯':
print('行')else:
print('等一等')
or and not1 < 2 and 2==3
学生三门课程都超过80分?
score_math = 90
score_english = 80
score_biology = 50
if score_math>80 and score_english>80 and score_biology>80:
print('奖励一朵小红花!')else:
print('仍需努力')
循环语句
while … do …a
while 判断条件(condition): 执行语句(statements)
从1数到9
number = 1while number<10: # 注意边界条件
print(number)
number+=1
my_number = 3200 # 这是真实的价格
guess_number = input('这台冰箱多少钱?')
guess_number = int(guess_number)while guess_number != my_number:
if guess_number<my_number:
guess_number = input('猜低了!再猜')
guess_number = int(guess_number)
else:
guess_number = input('猜高了!再猜')
guess_number = int(guess_number)
print('\n恭喜您,猜对了!\n')
for 循环
for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
for iterating_var in sequence: statements(s)
for i in range(9):
print(i+1)
fruits = ['banana', 'apple', 'mango']for fruit in fruits: # 第一个实例
print( '当前水果 :', fruit)
for letter in 'Python': # 第二个实例
print( '当前字母 :', letter)
break continue pass
如果希望在中间离开循环,也就是 f or 循环结束重复之前,或者 while 循环找到结束条件之 前。有两种⽅式来做到:
使⽤ break 语句来完全终⽌循环。
使⽤ continue 语句直接跳到循环的下⼀次迭代。
查找list_1 中的数字
list_1 = [1,6,3,2,8,4]for number in list_1:
if number == 3:
print('找到了!')
break
my_number = 3200 # 这是真实的价格
guess_number = input('这台冰箱多少钱?')
guess_number = int(guess_number)while True:
if guess_number<my_number:
guess_number = input('猜低了!再猜')
guess_number = int(guess_number)
elif guess_number>my_number:
guess_number = input('猜高了!再猜')
guess_number = int(guess_number)
else:
break
print('\n恭喜您,猜对了!\n')
continue : 跳过本轮 # 打印1-10中的偶数 for i in range(10):
num = i+1
if num%2 == 0:
print(num)
else:
continue# 可以把continue删掉吗?
continue : 跳过本轮 # 打印1-10中的偶数 for i in range(10):
num = i+1
if num%2 != 0:
continue
print(num)
print(num**2)
pass: 占位,还没想好怎么写,先让程序跑起来for i in range(5):
pass