Python ---Day1

 

 

一、Python的安装

windows 下的安装:

1、下载软件

下载地址:https://www.python.org/

2、安装软件:目前安装的是Python36版本

3、配置环境变量:

系统属性---高级---环境变量---

 

二、Hello World程序(第一个程序)

1、windows中的第一个程序

 

 退出:exit()

2、linux中的第一个程序

#!/usr/bin/env python        ------env是用来调用系统变量的,这里是调用系统中python变量

 

755:   (4--r 读的权限   ,2---w 写的权限   ,1---x  执行权限)

      7表示为:读写执行权限,5表示:读和执行权限。   

     第一个7表示所属用户,第一个5表示用户所属组权限,第二个5表示其他用户的权限。

执行程序:

  

 

三、变量(variable)

1、Python开发工具:

                         PyCharm ,暂时用5.0.3

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','rield'】

         简单演示:

                   ①、一个变量赋值,第二个变量等于等一个变量,然后改变第一个变量的值,第二个变量会出现什么变化。(不变,第二个变量还是第一次给第一个变量的赋值。)

                     

                    打印出来的结果:

                    

 ②③

3、常量

         常量,与变量相反,意思:不变的量。

         在Python中没有常量这个概念,我们通常使用大写的字母表示,如:PIE这个常量就要大写,其实是可以改变,我们默认不去改变。

          

 

四、字符编码(Character Encoding)与二进制(Binary)

1、字符编码:字符与二进制之间的转换代码

               Python解释器在加载.py文件中的代码时,会对内容进行编码(默认ASCⅡ)

              ASCⅡ(American Standard Code for information interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,

         主要用于显示现代英语和其他西欧语言,其最多只能用8位来表示(一个字节),即:2**8=256-1,所以 ASCⅡ最多只能表示255个符号。

      GB2312(1980):是  ASCⅡ的扩展,共收录了7445个字符,包括,6763个汉字和682个其他符号。

       GBK1.0(1995):GB2312支持汉字太少演变而来,共收录21886个符号,分为汉字区和图形符号区,汉字包括21003个字符,

       GB18030(2000):取代GBK1.0,共收录27484个汉字,同事还收录了藏文、蒙文、维吾尔文等主要的少数民族文字。现在PC平台必须支持GB18030,对嵌入式产品暂时不作要求,所以手机、MP3一般只支持GB2312

         ASCⅡ、  GB2312(1980)、GBK到GB18030,这些编码方法是向下兼容的。

显然ASCⅡ码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode

        Unicode(统一码、万国码、单一码),Unicode是为了解决传统的字符编码方案的局限而产生的,他为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定所有的字符和符号最少由16位来表示(2个字节),即:2**16=65536。

       注:自出说的是最少2个字节,可能更多。

       由于Unicode的出现导致了会让空间变大,以前用ASCⅡ时每个字符占一个字节,现在用Unicode每个字符最少占2个字节,这样就导致存相同的内容,编码不同,所占空间大小相差很大。随后就演变出了UTF-8,可伸缩的Unicode.

       UTF-8:是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类: ascⅡ码中的内容用1个字节保存、欧洲的字符用2个字节保存、东亚的字符用3个字节保存。

       所以,python解释器在加载》py文件中的代码时,会对内容进行编码(默认ascⅡ),如果是如下代码的话,就会报错:ascⅡ无法表示中文。

 

五、用户交互程序(User Interaction Program)

    1、注释

              ①注释单行。   #被注释的内容

              ② 多行注释。   """ 被注释内容"""              三个单引号或者三个双引号。

              ③ 打印多行字符串。  多行注释类似。       """  需要打印的字符串 """   

   2、用户输入 (Input)

                     username = input("username:")

                     password = input("password:")

                     print(username,password)

              ①字符串的拼接(拼接时引用的符号要一样,要么是双引号,要么是单引号。)

            

 

          或者是这样

          

         不能是这样:

      

 

 

      ②

      

      

       

      错误提示:

         TypeError: %d format: a number is required, not str

         翻译:错误类型:%d格式:必须要是一个号码,不能是字符串。

        提示这个错误就必须要将默认的字符串转换为整型。

        下面解决方法:

        

          

       代码如下:

 1 name = input("Name:")
 2 age = int(input("Age:"))  #默认字符串,要转换为整型,integer缩写int
 3 print(type(age))           #打印age的类型,默认是字符串,现在是整行。
 4 job = input("Job:")
 5 salary = input("Salary:")
 6 info = '''
 7 ---------info of %s---------
 8 Name:%s
 9 Age:%d
10 Job:%s
11 Salary:%s
12 '''   % (name,name,age,job,salary)
13 # Age:%d   这行是让年龄这样以整型的形式显示出来。
14 print(info)
View Code

 

        下面是输出结果。

         

 

       

         ③    .format拼接

         

         

         代码如下:

         

name = input("Name:")
age = int(input("Age:"))  #默认字符串,要转换为整型,integer缩写int
job = input("Job:")
salary = input("Salary:")
info = '''
---------info of {_name}---------
Name:{_name}
Age:{_age}
Job:{_job}
Salary:{_salary}
'''.format(_name=name,
          _age=age,
          _job=job,
          _salary=salary)
print(info)

          .format拼接另一种方式:用数字表示

          

           

         代码如下:

 

name = input("Name:")
age = int(input("Age:"))  #默认字符串,要转换为整型,integer缩写int
job = input("Job:")
salary = input("Salary:")
info = '''
---------info of {0}---------
Name:{0}
Age:{1}
Job:{2}
Salary:{3}
'''.format(name,age,job,salary)
print(info)

 

 

六、if else 流程判断

   1、第一个应用:

                    设计一个登陆器,输入用户名和密码输入正确提示欢迎进入该系统,如果输入错误提示无效用户名或密码。

密码隐藏执行结果:

密码正常显示执行结果:

    

    相关代码:

#设计一个登陆器,输入用户名和密码输入正确提示欢迎进入该系统,如果输入错误提示无效用户名或密码。
#提取getpass这个模块
import getpass
_username = "alex"
_userpassword = "123"
username = input("username:")
#输入时隐藏密码:使用getpass.getpass模块,Import getpass是提取getpass这个模块
#getpass这个模块无法在Pycharm中应用,需要在cmd中运行。
userpassword = getpass.getpass("password:")
#userpassword = input("password:")
#下面是if else判断应用。
if _username ==username and _userpassword == userpassword:
    print("Welcome to the system!")
else:
    print("Invalid username or password!")

 

       2、if else 第二个应用:

                       猜年龄,猜的数值大,显示你猜大了。猜的数值小,显示你猜小了,猜的正确则显示猜的正确。

执行结果:

 

相关代码:

#猜年龄,猜的数值大,显示你猜大了。猜的数值小,显示你猜小了,猜的正确则显示猜的正确。

_age_of_oldboy = 56
#默认数值是字符型,要转换为整型。通过int()
age_of_oldboy = int(input("age_of_oldboy:"))

#如果输入的数值大了,显示你猜的大了,如果你输入的数值小了,显示你猜小了,多个判断用elif:
#这两个都不成立,则显示猜的正确。这里通过else:来判断。
if age_of_oldboy > _age_of_oldboy:
    print("You guess a little oldder age!")
elif age_of_oldboy < _age_of_oldboy:
    print("You guess a little younger age!")
else:
    print("You guessed right!")

 

七、while循环的用法

    1、while简单用法:

          使用while一直打印数值。

    

    相关代码:

#while用法:
#从0开始计数。
count = 0
#while----当什么的时候,  下面一句就是当为真时执行下面的语句。永远为真,所以会一直执行下面语句
while True:
    print("count:",count)      #打印计数数值,
    count = count + 1  #或者count += 1  ,计数器等于计数器加上1.执行这个会一直加1

      

       2、while用法2

            例:猜年龄,一共只能猜三次,三次之内猜对了提示猜对了,猜大了提示猜大了,猜小了提示猜小了,如果超过三次则提示输入的次数太多。

   相关代码:

#猜年龄,一共只能猜三次,三次之内猜对了提示猜对了,猜大了提示猜大了,猜小了提示猜小了,
#如果超过三次则提示输入的次数太多。
_age_of_oldboy = 56
count = 0
#当输入三次的以内时执行下面的语句。
while  count<3:
    age_of_oldboy = int(input("age_of_oldboy:"))
    if age_of_oldboy > _age_of_oldboy:
        print("You guessed older!")
    elif age_of_oldboy < _age_of_oldboy:
        print("You guessed lesser!")
    else:
        print("You guessed right!")
        break
    count = count + 1
#当超过三次时执行下面的命令。
else:
    print("You guess many times")

 

       3、while循环用法3:

             #猜年龄,一共能猜三次,三次之内猜对了提示猜对了,猜大了提示猜大了,猜小了提示猜小了,3次的时候提示是否需要继续,继续按任意键,不继续则按n.使用while循环来实现。

     

    相关代码:

#猜年龄,一共能猜三次,三次之内猜对了提示猜对了,猜大了提示猜大了,猜小了提示猜小了,
#三次的时候提示是否需要继续,继续按任意键,不继续则按n.
#使用while循环来实现。
_age_of_oldboy = 56
count = 0
#当输入三次的以内时执行下面的语句。
while  count<3:
    age_of_oldboy = int(input("age_of_oldboy:"))
    if age_of_oldboy > _age_of_oldboy:
        print("You guessed older!")
    elif age_of_oldboy < _age_of_oldboy:
        print("You guessed lesser!")
    else:
        print("You guessed right!")
        break
    count = count + 1
    #达到3次,提示是否继续猜,如果继续按任意键,不继续则按n。
    if count == 3:
        continue_confirm = input("Do you keep guessing!")
        if continue_confirm != "n":
             count = 0

 

 

八、for循环:

      1、for循环的简单格式:

          显示数字0到4 ,5个数字。

   

   相关代码:

#for循环基本格式
#显示数字0到4 ,5个数字。

for i in range(5):
    print("number:",i)

      2、for循环的简单格式2:

           打印偶数,包括0

相关代码:

#打印偶数,包括0
for i in range(0,10,2):
    print("number:",i)

      3、for循环的简单应用:

           猜年龄,一共只能猜三次,三次之内猜对了提示猜对了,猜大了提示猜大了,猜小了提示猜小了,如果超过三次则提示输入的次数太多。使用for循环来实现。

  

   相关代码:

    

#猜年龄,一共只能猜三次,三次之内猜对了提示猜对了,猜大了提示猜大了,猜小了提示猜小了,
#如果超过三次则提示输入的次数太多。
#使用for循环来实现。

_age_of_oldboy = 56
#count = 0          1、for循环这个不需要。
#当输入三次的以内时执行下面的语句。
#while  count<3:    2、for循环这个不需要。
for age_of_oldboy in range(3):
    age_of_oldboy = int(input("age_of_oldboy:"))
    if age_of_oldboy > _age_of_oldboy:
        print("You guessed older!")
    elif age_of_oldboy < _age_of_oldboy:
        print("You guessed lesser!")
    else:
        print("You guessed right!")
        break
    #count = count + 1  3、for循环这个不需要。
#当超过三次时执行下面的命令。
else:
    print("You guess many times")

            

            3、for循环套循环。

        

       执行结果:

  

     相关代码:

    

#循环套循环
for i in range(5):
    print("---------",i,"---------")
    for j in range(3):
        print(j)

 

 

 

 九、continue应用

       continue应用------结束本次循环,不继续向后执行,而是从继续当前循环。

       1、案例一:清晰的看出continue的作用。

          

        执行结果:

        

       相关代码:

      

#continue应用------结束本次循环,不继续向后执行,而是从继续当前循环。

for i in range(10):
    if i < 5 :
        print(i)
    else:
        print("continue",i)
        continue
    print("hehe!")

 

   

 

   

posted on 2017-03-30 23:22  aptech2017  阅读(149)  评论(0)    收藏  举报

导航