python笔记1

1. 第一个程序:helloworld

Windows python交互器实现:

Linux python交互器实现:

./hello.py  要加可执行权限

chmod +x hello.py

./hello.py运行发现提示语法错误,原因:没有告诉系统用什么语法实现

spacer.gif

Pycharm实现:

print ("hello world")   ###3.0写法

print"hello world"  ###2.7写法

运行测试:

spacer.gif

 

2.变量与赋值

案例1:

spacer.gif

分析:从中可以看出name和“=”之间可以有空格,也可以没有空格。

 

spacer.gif

分析:这样写报语法错误,从中可以看出表示一个字符串需要加引号。

 

spacer.gif

分析:这样写报变量AndyH没有被赋值,从中可以看出AndyH被作为一个变量来看待。

 

案例2:

spacer.gif

分析:从中可以看出2.x和3.x的print区别,其中2.7兼容2.x和3.x的命令。

spacer.gif

分析:

 

查看a,b内存地址

spacer.gif

分析:可以看出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:

spacer.gif

分析2.0和3.0的input变量区别

 

4.条件判断与缩进

 4.1 IF...ELSE条件语句

案例1:

spacer.gif

spacer.gif

运行会报错,缩进错误,同一级别的缩进要保持一致

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需要加int

if input_num == lcynum:     ###如果输入值等于lcynum
print ("bingo")       ###则打印binggo
elif input_num > lcynum:   ###如果输入值大于lcynum
print ("pleaseprint smaller")     ###则打印please print smaller
else:           ###否则其他情况(也就是小于lcynum)
print ("pleaseprint bigger")   ###则打印please print bigger

 

3.x写法,注意int函数:

lcynum = 6        ###给lucky number赋值
input_num = int(input ("inputlucky number:"))    ###定义输入内容变量,3.0需要加int

if input_num == lcynum:     ###如果输入值等于lcynum
print ("bingo")       ###则打印binggo
elif input_num > lcynum:   ###如果输入值大于lcynum
print ("pleaseprint smaller")     ###则打印please print smaller
else:           ###否则其他情况(也就是小于lcynum)
print ("pleaseprint bigger")   ###则打印please print bigger

 

运行结果

小于6情况:

spacer.gif

 

大于6:

spacer.gif

 

等于6:

spacer.gif

 

 

 

 

 

 

5.循环控制

案例1:猜lucky number扩展:无限次数限制,输出一次重新再提示输入

5.1 while  循环语句

lcynum = 6        ###给lucky number赋值

whileTrue:       ###循环语句
input_num= int(input ("input lucky number:"))    ###定义输入内容变量,3.0需要加int

if input_num == lcynum:     ###如果输入值等于lcynum
print("bingo")        ###则打印binggo
elif input_num > lcynum:   ###如果输入值大于lcynum
print("please printsmaller")     ###则打印please print smaller
else:            ###否则其他情况(也就是小于lcynum)
print("please printbigger")   ###则打印please print bigger

 

运行结果:无限循环输入

spacer.gif

 

案例2:无限循环,当输入正确结果之后,结束循环,break

spacer.gif

运行结果:输入正确结果之后停止循环

spacer.gif

 

 

案例3:不使用True

lcynum = 6        ###给lucky number赋值

while input_num != lcynum:       ###循环语句,当input_num不等于lcymum的时候循环
input_num = int(input ("inputlucky number:"))    ###定义输入内容变量,3.0需要加int

if input_num == lcynum:     ###如果输入值等于lcynum
print ("bingo")       ###则打印binggo
elif input_num > lcynum:   ###如果输入值大于lcynum
print ("pleaseprint smaller")     ###则打印please print smaller
else:           ###否则其他情况(也就是小于lcynum)
print ("pleaseprint bigger")   ###则打印please print bigger

 

运行结果:

spacer.gif

报错,input_num没有被定义。

分析:虽然下面已经定义了input_num,但还是报错,说明python是从上往下执行的,所以第一次出现的input_num变量没有声明。所以可以先给它定义一个初始值。

 

修改如下:

lcynum = 6        ###给lucky number赋值
input_num = -1     ###定义一个初始值

while input_num != lcynum:       ###循环语句,当input_num不等于lcymum的时候循环
input_num = int(input ("inputlucky number:"))    ###定义输入内容变量,3.0需要加int

if input_num == lcynum:     ###如果输入值等于lcynum
print ("bingo")       ###则打印binggo
elif input_num > lcynum:   ###如果输入值大于lcynum
print ("pleaseprint smaller")     ###则打印please print smaller
else:           ###否则其他情况(也就是小于lcynum)
print ("pleaseprint bigger")   ###则打印please print bigger

运行结果:

spacer.gif

 

案例4:优化脚本,下图标识部分表示变量已经判断了两次,重复判断了,继续优化

spacer.gif

修改如下:

lcynum = 6        ###给lucky number赋值
input_num = -1     ###定义一个初始值

while input_num != lcynum:       ###循环语句,当input_num不等于lcymum的时候循环
input_num = int(input ("inputlucky number:"))    ###定义输入内容变量,3.0需要加int

    #if input_num == lcynum:     ###如果输入值等于lcynum
        #print ("bingo")        ###则打印binggo
if input_num > lcynum:   ###如果输入值大于lcynum
print ("pleaseprint smaller")     ###则打印please print smaller
    #else:            ###否则其他情况(也就是小于lcynum)
elif input_num < lcynum:    ###如果输入值小于lcynum
print ("pleaseprint bigger")   ###则打印please print bigger

print ("bingo")

 

验证结果:

spacer.gif

 

案例5:lucky number次数限制,3次猜不中结束或者猜中结束

lcynum = 6        ###给lucky number赋值
input_num = -1     ###定义一个初始值
guess_count = 0    ###定义猜测次数的初始值

while guess_count <3:
    input_num =
int(input ("inputlucky number:"))    ###定义输入内容变量,3.0需要加int
if input_num > lcynum:   ###如果输入值大于lcynum
print ("pleaseprint smaller")     ###则打印please print smaller
elif input_num < lcynum:    ###如果输入值小于lcynum
print ("pleaseprint bigger")   ###则打印please print bigger
else:
print ("bingo")
break
guess_count += 1                  ###每循环一次+1,和上面语法实现效果一致
else:    ####当上面的条件不满足(即循环结束)
print ("toomany retrys !")

测试结果:

spacer.gif

spacer.gif

 

5.2 for循环语句

lcynum = 6        ###给lucky number赋值
input_num = -1     ###定义一个初始值

for i in range(3):
    input_num =
int(input ("inputlucky number:"))    ###定义输入内容变量,3.0需要加int
if input_num > lcynum:   ###如果输入值大于lcynum
print ("pleaseprint smaller")     ###则打印please print smaller
elif input_num < lcynum:    ###如果输入值小于lcynum
print ("pleaseprint bigger")   ###则打印please print bigger
else:
print ("bingo")
break
else
:    ####当上面的条件不满足(即循环结束)
print ("toomany retrys !")

 

6.常用数据类型

spacer.gif

字符串格式化

案例1:“+”串联字符串

name = input("name:")
age =
input("age:")
job =
input("job:")

print("Infomationof []:" + name + "\nName:[]" +name +"\nAge:[]"+ age + "\nJob:[]" +job)

运行结果:

spacer.gif

 

案例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))

运行结果:

 

spacer.gif

 

案例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)



测试结果:

spacer.gif

注意:除了%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)

 

测试结果:

spacer.gif

 

案例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

spacer.gif

 

案例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

spacer.gif

 

7. 列表常用操作

作用:在一个变量里存多个信息

索引

切片

追加

删除

长度

循环

包含

dir(name_list)

 

8.元组

t = (1,2,3,4)

dir(t)

spacer.gif

只有count、index功能

把列表和元组转换

spacer.gif

spacer.gif

 

 

8.文件操作

file obj = file("文件路径","模式")   ###3.0没有file

file obj = open(“file”,"模式")

 

 

 


你可能感兴趣的:(python)