Python学习之旅 —— 基础篇(一)变量、交互、if判断、for循环

本篇要点:
python2与python3的显著区别(编程上体现比较明显的点)
 
变量以及变量命名规则
 
交互式输入
 
import模块的定义和引用
 
基础表达式:if 判断、for 循环
 
文件的读写
 
 
一、python2与python3的显著区别
1、最常用的print变更为print()
     Old: print “Hello world!"
     New: print ("Hello world!")
 
2、默认使用UNICODE编码,不用再苦恼中文字符打印的问题。
     python2中,想要打印中文字符不报错,必须指定编码类型,而python3中不需要。
     #!/usr/bin/env python
     # -*- coding:utf-8 -*-  # python2中要打中文必须写。  
     
二、变量命名规则
    
1、声明变量
      name = “Pesen Xie"
     
2、变量命名规则
  • 只能是字母、数字和下划线的任意组合;
  • 第一个字符不能是字母;
  • 关键字不能声明成变量(导致的后果是关键字不能正常使用。)

  ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

 

3、命名、打印变量示例代码:
#!/usr/bin/env python3
 
name_of_myself = "Pengcheng"
myname = name_of_myself  # myname变量的值指向的是name_of_myself变量值的内存存储空间,不会随着name_of_myself变量的值变化而变化。
name_of_myself = "Pesen"
 
print(name_of_myself,myname)

打印结果:
Pesen Pengcheng

 
三、交互式输入
     使用input()使用户可以在程序执行期间手动输入内容。python3中删除了raw_input(),取而代之的是input()。python3中的input()将用户所有的输入都作为字符串,而python2的input()是用户输入的是什么类型的数据就传递什么类型的数据。
     示例代码:
name = input("Input your Name:")
age = input("Input your Age:")
job = input("Input your Job:")

# %s 字符串,%d 正数,%f 浮点数
msg = '''
---------------------
Infomation of %s
Name: %s
Age: %s
Job: %s
--------END----------
''' % (name,name,age,job)  # 为上面的%s传递变量值。上面引用了4次变量,对应的就要传递4个变量值。要注意:第一个%s对应第一个变量,第二个%s对应第二个变量… 以此类推。

print(msg)
结果:
Input your Name:Pesen 
Input your Age:18
Input your Job:IT
 
---------------------
Infomation of Pesen
Name: Pesen
Age: 18
Job: IT
--------END----------
 
 
四、模块的引用和定义
1、引用模块
     import 模块名
     例如:
     import os # 执行系统的shell命令
     import sys 
     import getpass #隐藏密码输入明文显示在屏幕上
    
以getpass模块为例:
     
#!/usr/bin/env python3
# -*- coding:utf-8 -*-

# 没有getpass 可以 pip install getpass

import getpass

username = input("User: ")
password = getpass.getpass("Password:")

print(username,password)
执行上面这段代码时,username输入是显示在屏幕上的;而给password输入变量值时是隐藏的,不会在屏幕打印。
 
如果想保留系统命令的标准输出到变量,可以使用os模块:
import os
cmd_res = os.popen("date").read()
print(cmd_res)
 
引用模块时python有一个环境变量来告诉程序去哪里找引用的模块,可以通过sys模块看到这个path:
>>> import sys
>>> sys.path
['', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python35.zip', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/plat-darwin', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/lib-dynload', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages']
 
第一个双引号中为空,表示在当前目录查找。如果我们想在任意位置调用自己写的模块,可以将我们自己写的模块放到site-package目录下(linux中一般叫dist-package)。
怎么写一个模块?其实就是我们写的以.py结尾的可执行python脚本。例如:我写了一个脚本名字叫pesen.py,放到site-package目录之后,就可以通过 import pesen调用到模块pesen。(import时不能写pesen.py,只需要pesen这个名字即可。)
 
 
五、基础表达式:if 判断、for 循环
1、if else,没什么好解释的,只写写练习代码:
# 定义变量
ture_user = “pesen" 
ture_passwd = "1111"
 
# 用户交互为变量赋值
username = input("User: ")
passwd = input("Password: ")
 
# 对用户输入的信息进行正确性判断
if username == ture_user and passwd == ture_passwd: # and表示两个判断条件都为真时,才执行下一行,有一个不满足就走else下面的代码。
    print("Welcome login!",username)
else:
    print("用户名或密码错误,请重新输入.")

 2、for循环 

     简单的循环100次:
for i in range(100):
    print(i)
练习示例:猜年龄游戏
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
 
# 定义变量
true_age = 18
counter = 0
 
# 循环10次
for i in range(10):
 
         # 这一层判断表示猜到第三次还没有猜对时,提示用户还要不要继续猜。
    if counter < 3:
        age = int(input("请输入猜测的年龄: "))
 
                  # 此判断来验证用户是否猜对,猜不同结果给响应提示。
        if age == true_age:
            print("恭喜你,猜对了!")
            break # 猜对跳出整个循环
        elif age > true_age:
            print("大了,猜小一点.")
        else:
            print("小了,猜大一点.")
    else:
        confirm = input("猜的次数太多了,是否继续(y/n):")
        # 判断用户是否继续猜,如果继续给计数器重新复制,并继续猜测,不继续给出提示,并跳出整个循环。
        if confirm == "y":
            counter = 0
            continue
        else:
            print("再见!")
            break
    counter += 1 #猜测过程中计数器加1
 
六、文件的读写
     打开文件,调用方法处理文件,关闭文件
1、读文件 
>>> f = open("~/PycharmProjects/LearnPython/day01/test.txt","r”) # "r” 表示读取文件内容
>>> file = f.read() #可以通过 help(f)来查看读文件时都可以使用的方法
>>> print(file)
1
2
3
4
5
>>> f.close() # 必须关闭文件,如果不关闭会耗费系统资源,并且系统打开文件数是有限的,防止打开文件过多时程序出现问题。
2、写文件
>>> f = open("/Users/xiepengcheng/PycharmProjects/LearnPython/day01/test.txt","w”) # “w”表示写方式打开文件,文件存在打开文件,文件不存在创建文件
>>> f.write("pesen\n")
>>> f.close()
查看文件内容:整个文件的内容被替换为pesen,之前的内容不存在了。
 
3、追加
>>> f = open("/Users/xiepengcheng/PycharmProjects/LearnPython/day01/test.txt","a") #“a” 表示修改文件的追加,如果这个文件本身不存在,那 a 模式就会创建这个新文件,并且把内 容写进去。
>>> f.write("第二行\n") #在文件的末尾追加内容
>>> f.close()
查看文件内容:
pesen
第二行
 

posted on 2016-05-09 21:47  Pesen  阅读(954)  评论(0编辑  收藏  举报

导航