1.第一个程序:helloworld
Windows python交互器实现:
Linux python交互器实现:
./hello.py要加可执行权限
chmod +x hello.py
./hello.py运行发现提示语法错误,原因:没有告诉系统用什么语法实现
Pycharm实现:
print("hello world")###3.0写法
print"hello world"###2.7写法
运行测试:
2.变量与赋值
案例1:
分析:从中可以看出name和“=”之间可以有空格,也可以没有空格。
分析:这样写报语法错误,从中可以看出表示一个字符串需要加引号。
分析:这样写报变量AndyH没有被赋值,从中可以看出AndyH被作为一个变量来看待。
案例2:
分析:从中可以看出2.x和3.x的print区别,其中2.7兼容2.x和3.x的命令。
分析:
查看a,b内存地址
分析:可以看出a和b储存在内存里的值发生了变化。
变量起名规则:
1.显示,通俗易懂
2.nums_of_aliex_gf
3.NumsOfAliexGf驼峰写法。
4.数字不能开头,可以在中间或者结尾,如na5me。
5.特殊字符不能有,如!@¥。除#以外,表示单行注释。
6.不能有空格。
7.关键字不能声明为变量名,如and,as,assert,break等。
错误示范:
1. .name-of-aliex-gf编程语言中的“-”代表减号
2. 5name
3. name of teacher
4. print
6. !name
3.用户交互
案例1:
分析2.0和3.0的input变量区别
4.条件判断与缩进
4.1 IF...ELSE条件语句
案例1:
运行会报错,缩进错误,同一级别的缩进要保持一致
python通过缩进来判断作用域,所以强制缩进,官方推荐缩进4格,pycharm中按Tab默认就是缩进4格。
案例2:猜luckynumber
假设lucky number =6
·猜的数字比6大,提示说你打印小一点
·猜的数字比6小,提示说你打印大一点
·猜的数字等于6,提示binggo
2.x写法:
lcynum =6###给lucky number赋值input_num =input("inputlucky number:")###定义输入内容变量,3.0需要加intifinput_num == lcynum:###如果输入值等于lcynumprint("bingo")###则打印binggoelifinput_num > lcynum:###如果输入值大于lcynumprint("pleaseprint smaller")###则打印please print smallerelse:###否则其他情况(也就是小于lcynum)print("pleaseprint bigger")###则打印please print bigger
3.x写法,注意int函数:
lcynum =6###给lucky number赋值input_num =int(input("inputlucky number:"))###定义输入内容变量,3.0需要加intifinput_num == lcynum:###如果输入值等于lcynumprint("bingo")###则打印binggoelifinput_num > lcynum:###如果输入值大于lcynumprint("pleaseprint smaller")###则打印please print smallerelse:###否则其他情况(也就是小于lcynum)print("pleaseprint bigger")###则打印please print bigger
运行结果
小于6情况:
大于6:
等于6:
5.循环控制
案例1:猜lucky number扩展:无限次数限制,输出一次重新再提示输入
5.1 while循环语句
lcynum=6###给lucky number赋值whileTrue:###循环语句input_num=int(input("input lucky number:"))###定义输入内容变量,3.0需要加intifinput_num ==lcynum:###如果输入值等于lcynumprint("bingo")###则打印binggoelifinput_num >lcynum:###如果输入值大于lcynumprint("please printsmaller")###则打印please print smallerelse:###否则其他情况(也就是小于lcynum)print("please printbigger")###则打印please print bigger
运行结果:无限循环输入
案例2:无限循环,当输入正确结果之后,结束循环,break
运行结果:输入正确结果之后停止循环
案例3:不使用True
lcynum =6###给lucky number赋值whileinput_num != lcynum:###循环语句,当input_num不等于lcymum的时候循环input_num =int(input("inputlucky number:"))###定义输入内容变量,3.0需要加intifinput_num == lcynum:###如果输入值等于lcynumprint("bingo")###则打印binggoelifinput_num > lcynum:###如果输入值大于lcynumprint("pleaseprint smaller")###则打印please print smallerelse:###否则其他情况(也就是小于lcynum)print("pleaseprint bigger")###则打印please print bigger
运行结果:
报错,input_num没有被定义。
分析:虽然下面已经定义了input_num,但还是报错,说明python是从上往下执行的,所以第一次出现的input_num变量没有声明。所以可以先给它定义一个初始值。
修改如下:
lcynum =6###给lucky number赋值input_num = -1###定义一个初始值whileinput_num != lcynum:###循环语句,当input_num不等于lcymum的时候循环input_num =int(input("inputlucky number:"))###定义输入内容变量,3.0需要加intifinput_num == lcynum:###如果输入值等于lcynumprint("bingo")###则打印binggoelifinput_num > lcynum:###如果输入值大于lcynumprint("pleaseprint smaller")###则打印please print smallerelse:###否则其他情况(也就是小于lcynum)print("pleaseprint bigger")###则打印please print bigger
运行结果:
案例4:优化脚本,下图标识部分表示变量已经判断了两次,重复判断了,继续优化
修改如下:
lcynum =6###给lucky number赋值input_num = -1###定义一个初始值whileinput_num != lcynum:###循环语句,当input_num不等于lcymum的时候循环input_num =int(input("inputlucky number:"))###定义输入内容变量,3.0需要加int
#if input_num == lcynum: ###如果输入值等于lcynum
#print ("bingo") ###则打印binggoifinput_num > lcynum:###如果输入值大于lcynumprint("pleaseprint smaller")###则打印please print smaller
#else: ###否则其他情况(也就是小于lcynum)elifinput_num < lcynum:###如果输入值小于lcynumprint("pleaseprint bigger")###则打印please print biggerprint("bingo")
验证结果:
案例5:lucky number次数限制,3次猜不中结束或者猜中结束
lcynum =6###给lucky number赋值input_num = -1###定义一个初始值guess_count =0###定义猜测次数的初始值whileguess_count <3:
input_num =int(input("inputlucky number:"))###定义输入内容变量,3.0需要加intifinput_num > lcynum:###如果输入值大于lcynumprint("pleaseprint smaller")###则打印please print smallerelifinput_num < lcynum:###如果输入值小于lcynumprint("pleaseprint bigger")###则打印please print biggerelse:print("bingo")breakguess_count +=1###每循环一次+1,和上面语法实现效果一致else:####当上面的条件不满足(即循环结束)print("toomany retrys !")
测试结果:
5.2 for循环语句
lcynum =6###给lucky number赋值input_num = -1###定义一个初始值foriinrange(3):
input_num =int(input("inputlucky number:"))###定义输入内容变量,3.0需要加intifinput_num > lcynum:###如果输入值大于lcynumprint("pleaseprint smaller")###则打印please print smallerelifinput_num < lcynum:###如果输入值小于lcynumprint("pleaseprint bigger")###则打印please print biggerelse:print("bingo")break
else:####当上面的条件不满足(即循环结束)print("toomany retrys !")
6.常用数据类型
字符串格式化
案例1:“+”串联字符串
name=input("name:")
age =input("age:")
job =input("job:")print("Infomationof []:"+ name +"\nName:[]"+name +"\nAge:[]"+ age +"\nJob:[]"+job)
运行结果:
案例2:"%"运用
name =input("name:")
age =input("age:")
job =input("job:")print("Informationof []:"+ name +"\nName:[]"+name +"\nAge:[]"+ age +"\nJob:[]"+job)print("Informationof %s:\nName:%s\nAge:%s\nJob:%s"%(name,name,age,job))
运行结果:
案例3:"""or '''运用(一般都用''')
name =input("name:")
age =input("age:")
job =input("job:")msg ='''
Information of %s
Name:%s
Age:%s
Job:%s
'''%(name,name,age,job)print(msg)
测试结果:
注意:除了%s之外还有%d和%f,
%d代表数字
%#f代表浮点
案例4:strip应用
name =input("name:").strip()
age =input("age:")
job =input("job:").strip()
msg ='''
Information of %s
Name:%s
Age:%s
Job:%s
'''%(name,name,age,job)print(msg)
测试结果:
案例5:
name =input("name:").strip()
age =int(input("age:"))
job =input("job:").strip()
msg ='''
Information of %s
Name:%s
Age:%s
Job:%s
'''%(name,name,age,job)print(msg)
测试结果:发现加了int语句后,age空格也自动去掉了,不需要strip
案例6:strip去关键字符
name=input("name:").strip("T")
age =int(input("age:"))
job =input("job:").strip()
msg ='''
Information of %s
Name:%s
Age:%s
Job:%s
'''%(name,name,age,job)print(msg)
测试结果:去掉了T
7.列表常用操作
作用:在一个变量里存多个信息
索引
切片
追加
删除
长度
循环
包含
dir(name_list)
8.元组
t = (1,2,3,4)
dir(t)
只有count、index功能
把列表和元组转换
8.文件操作
file obj = file("文件路径","模式") ###3.0没有file
file obj = open(“file”,"模式")