第二篇:Python基本知识 第二篇:Python基本知识

第二篇:Python基本知识

 

    这一篇我们简单的介绍一下Python学习的基本知识--》Python文件是如何运行、Python文件打开通常会有两行注释,那么这两行注释是什么;上篇提到的字节码,这些字节码都存储在哪?即pyc文件;还有基本知识-->变量、input、if条件语句、while循环语句、for循环等

一、运行:

  在D:\python_test\ 目录下创建hello.py文件,其内容如下:

1 #! /user/bin/local/ python
2 # -*- coding:utf-8 -*-
3 
4 print("hello world")

  在Windows下运行Python文件,通常有两种方式:

    一、打开终端---> C:\Program Files\Python36\python3.exe  D:\python_test\hello.py,即输入Python3的运行路径+文件路径,即可运行python文件。

    二、运行Python解释器 -->即打开C:\Program Files\Python36\python.exe执行python文件。

  而在Python内部执行过程如下图:


二、文件行

   当我们打开Python文件时,通常会在文件的头部会有 #!/user/bin/local python,例:

#! /user/bin/local python

print(" hello world")

   这意味着在Linux下执行时,打开文件时先读取首行,并通过其找到python解释器的路径,以此来执行该文件。若直接在Linux终端输入 :

>>> python hello.py

则加不加该句则无所谓。

   而针对使用以下方法打开python文件时,这时候写上Python解释器执行路径是非常有必要的:

>>> ./hello.py

即直接执行该文件,但打开是需注意文件的权限,若其他用户无法打开该文件,通过该命令--> chmod o+x hello.py来修改文件执行。

 


 

 三、编码

   当我们打开python文件,除了会写明python解释器的执行路径,还通常会表明读取该文件是以何种编码执行:

# -*- coding:utf-8 -*-

print("hello world")

即表明该文件以utf-8的编码方式进行编码的,而在Python2中,默认是以ASCII码的编码方式进行编码的,故需加上这句来告诉Python解释器是以utf-8的编码方式进行编码的。

而在Python3中,文件的编码方式默认为utf-8编码方式。故加不加这句都无所谓。

 常见的编码方式有以下几种:

    ASCII码:ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。

    以下为ASCII码表:

  需要注意的是:大写的英文字母即 A~Z--->二进制转十进制后为 65~90。

         小写的英文字母即 a~z--->二进制转十进制后为 97~122.

    GBK编码 -->GBK编码为GB2312编码的扩展,GBK全名为汉字内码扩展规范,英文名Chinese Internal Code Specification。K 即是“扩展”所对应的汉语拼音(KuoZhan)中“扩”字的声母。

  它规定一个中文为两个字节。

    Unicode编码-->Unicode-->万国码,即当许多国家开始使用计算机,无论是中国的GBK还是日本的JIS等都无法同时进行编码,容易出现乱码等问题,例如想用八国语言

  来写一篇文章,这样无论是GBK还是JIS都无法实现,故发明了Unicode,它包含了各种国家的编码方式,它规定一个字符用两个或者两个以上的字节来表示。

    utf-8编码-->它是Unicode编码的压缩和优化,由于Unicode规定一个字符用两个或者两个以上的字节表示,故以前美国人使用ASCII码的时候,一个英文用一个字节来表示,因此浪费了许多内存空间,故由此便

出现了utf-8,它规定一个英文用一个字节表示,一个中文用三个字节表示。

    等等。。


 

四、注释

   当行注释---> #

   多行注释 --> ''' ''' 或者 """ """,注也可使用多行注释来代表多行字符串。例如

复制代码
#这是当行注释

'''
这代表多行注释
第一句python代码---》hello world
''' info =''' name ='Little_five' age ='22' ''
复制代码

五、 pyc 文件

  执行Python代码时,如果导入了其他的 .py 文件,那么,执行过程中会自动生成一个与其同名的 .pyc 文件,该文件就是Python解释器编译之后产生的字节码。

  记得我们上篇介绍C语言和Python、以及Java的区别时提到:

     C语言为编译型语言--》代码编译得到机器码,机器码在CPU上直接执行。

     Python为编译型还是解释型并不明确,姑且为解释型。---》代码编译得到字节码,再通过虚拟机执行字节码转换成机器码,最后由CPU执行。

      而这里所说的字节码便便被存储在pyc文件内。

   ps:代码经过编译可以产生字节码;字节码通过反编译也可以得到代码。


六、变量

  声明变量:变量即为值可以变化的量,由于值存储在内存中,故需要取出该值则需要一个指针,指向该内存地址能够取出该内存中的值,而这个指针就是变量名。

1 #! /user/bin/local python
2 #-*- coding:utf-8 -*-
3 
4 name = 'Little-five 

  上述代码声明了一个变量,变量名为: name,变量name的值为:"Little-five"

  变量的作用:昵称,其代指内存里某个地址中保存的内容

  

    声明变量名的规则:

      1、变量只能使用数字、字母、下划线‘_’

      2、数字不能作为变量名的开头

      3、以下关键字不能声明为变量名
    ['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'

      4、同时需注意的是尽量不使用常用的类名、模块名等作为变量名

#!/usr/bin/local python
# -*- coding: utf-8 -*-

name ="little_five"
_name ='xiaowu'

七、输入

  input--->将用户输入的值变为字符串,并且可以将其赋值给某个变量名。例如:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

name = input("please enter your name--->:")
print(name)

八、if条件语句:

  1、if ...else...

    假设我们要创建一个简单的用户登入操作,可以让用户输入用户名和密码,若用户名和密码都正常,则登入成功,否则,登入失败。

复制代码
 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3  
 4  username ='little-five'
 5  password ='12345'
 6 #让用户输入用户名和密码
 7 user = input("pelase enter your username -->:")
 8 passwd = input("please enter your password-->")
 9 #如用户名和密码正确
10 if username ==user and password == passwd: #条件成立
11     print("welcome...")
12 else:  #条件不成立
13     print("sorry,error username or password")
复制代码

    即 if 条件成立,执行 if 内的命令;否则条件不成立,则执行else内的命令。

  2、if ... elif ...elif...else..

    假设我们创建一个门票收取机制,即年龄小于5五岁的儿童免费和年龄大于60岁的老人可以打折,而其他的正常票价。如:

复制代码
 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 
 4 age = input("enter your age-->:")
 5 
 6 if age<5:
 7     price =0
 8 elif age <18:
 9     price =5
10 elif age <60:
11     price =10
12 else:
13     price =5
14 print("You admission cost is -->",price)
复制代码

   即 当出现并非两种情形是,if ..else..无法解决问题。故对于这种多种情况时我们可以使用 if ..elif .. eilf ......else..来应对。

   当然if的用法不止这两种,还可以if ..if ...、if...elif...elif..等等这些,但是最终用法都与上述两种类似,就不一一列举了。


九、while循环

  一、while循环的用法:

    例如计算1-5的平法,可以使用while 循环:

复制代码
 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 
 4 count =1 
 5 #当条件成立时则执行while下的循环体
 6 while count <6:
 7     res = count**2
 8     count +=1
 9     print (res)
10 #当条件不成立时,则执行else下的命令行
11 else:
12     print("count <1 or count >5")
复制代码

  二、break --> 终止该循环的所有循环,即跳出该循环去执行循环外的下一条命令

    例如,我们需要让用户输入并打印用户输入的信息,当用户输入q可退出:

复制代码
 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 
 4 message =''
 5 while True:
 6     #让用户不停的输入要发送的信息,直到输入q退出
 7     mes = input("please input what you want tosend ,enter "q" to end the program."
 8     if mes =="q":
 9     break #终止该循环
10     message += mes
11 print(message)
复制代码

  三、continue -->终止该循环的当前循环,即跳出本次循环去执行下一次循环,跳至下一次循环的while判断

    例如:我们需要打印1--9,除了7,这样我们就可以使用到continue了:

复制代码
 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 
 4 count = 1
 5 while count <= 10:
 6     #当count等于7的时候,跳出本次循环。即循环内continue以下的命令都不执行
 7     if count == 7:
 8         continue
 9     print(count)
10     count += 1
复制代码

十、for循环

  for循环--->通常可以用来遍历各种可迭代对象,例如:字符串str、列表list、元组tuple、字典dict等等

复制代码
#!/usr/bin/env python
# -*- coding: utf-8 -*-

name =["James",Mike","liudehua","gutianle"
for item in name:
    print(item
复制代码

  当然,for循环还可以用于匿名函数,这里不再介绍。

    这一篇我们简单的介绍一下Python学习的基本知识--》Python文件是如何运行、Python文件打开通常会有两行注释,那么这两行注释是什么;上篇提到的字节码,这些字节码都存储在哪?即pyc文件;还有基本知识-->变量、input、if条件语句、while循环语句、for循环等

一、运行:

  在D:\python_test\ 目录下创建hello.py文件,其内容如下:

1 #! /user/bin/local/ python
2 # -*- coding:utf-8 -*-
3 
4 print("hello world")

  在Windows下运行Python文件,通常有两种方式:

    一、打开终端---> C:\Program Files\Python36\python3.exe  D:\python_test\hello.py,即输入Python3的运行路径+文件路径,即可运行python文件。

    二、运行Python解释器 -->即打开C:\Program Files\Python36\python.exe执行python文件。

  而在Python内部执行过程如下图:


二、文件行

   当我们打开Python文件时,通常会在文件的头部会有 #!/user/bin/local python,例:

#! /user/bin/local python

print(" hello world")

   这意味着在Linux下执行时,打开文件时先读取首行,并通过其找到python解释器的路径,以此来执行该文件。若直接在Linux终端输入 :

>>> python hello.py

则加不加该句则无所谓。

   而针对使用以下方法打开python文件时,这时候写上Python解释器执行路径是非常有必要的:

>>> ./hello.py

即直接执行该文件,但打开是需注意文件的权限,若其他用户无法打开该文件,通过该命令--> chmod o+x hello.py来修改文件执行。

 


 

 三、编码

   当我们打开python文件,除了会写明python解释器的执行路径,还通常会表明读取该文件是以何种编码执行:

# -*- coding:utf-8 -*-

print("hello world")

即表明该文件以utf-8的编码方式进行编码的,而在Python2中,默认是以ASCII码的编码方式进行编码的,故需加上这句来告诉Python解释器是以utf-8的编码方式进行编码的。

而在Python3中,文件的编码方式默认为utf-8编码方式。故加不加这句都无所谓。

 常见的编码方式有以下几种:

    ASCII码:ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。

    以下为ASCII码表:

  需要注意的是:大写的英文字母即 A~Z--->二进制转十进制后为 65~90。

         小写的英文字母即 a~z--->二进制转十进制后为 97~122.

    GBK编码 -->GBK编码为GB2312编码的扩展,GBK全名为汉字内码扩展规范,英文名Chinese Internal Code Specification。K 即是“扩展”所对应的汉语拼音(KuoZhan)中“扩”字的声母。

  它规定一个中文为两个字节。

    Unicode编码-->Unicode-->万国码,即当许多国家开始使用计算机,无论是中国的GBK还是日本的JIS等都无法同时进行编码,容易出现乱码等问题,例如想用八国语言

  来写一篇文章,这样无论是GBK还是JIS都无法实现,故发明了Unicode,它包含了各种国家的编码方式,它规定一个字符用两个或者两个以上的字节来表示。

    utf-8编码-->它是Unicode编码的压缩和优化,由于Unicode规定一个字符用两个或者两个以上的字节表示,故以前美国人使用ASCII码的时候,一个英文用一个字节来表示,因此浪费了许多内存空间,故由此便

出现了utf-8,它规定一个英文用一个字节表示,一个中文用三个字节表示。

    等等。。


 

四、注释

   当行注释---> #

   多行注释 --> ''' ''' 或者 """ """,注也可使用多行注释来代表多行字符串。例如

复制代码
#这是当行注释

'''
这代表多行注释
第一句python代码---》hello world
''' info =''' name ='Little_five' age ='22' ''
复制代码

五、 pyc 文件

  执行Python代码时,如果导入了其他的 .py 文件,那么,执行过程中会自动生成一个与其同名的 .pyc 文件,该文件就是Python解释器编译之后产生的字节码。

  记得我们上篇介绍C语言和Python、以及Java的区别时提到:

     C语言为编译型语言--》代码编译得到机器码,机器码在CPU上直接执行。

     Python为编译型还是解释型并不明确,姑且为解释型。---》代码编译得到字节码,再通过虚拟机执行字节码转换成机器码,最后由CPU执行。

      而这里所说的字节码便便被存储在pyc文件内。

   ps:代码经过编译可以产生字节码;字节码通过反编译也可以得到代码。


六、变量

  声明变量:变量即为值可以变化的量,由于值存储在内存中,故需要取出该值则需要一个指针,指向该内存地址能够取出该内存中的值,而这个指针就是变量名。

1 #! /user/bin/local python
2 #-*- coding:utf-8 -*-
3 
4 name = 'Little-five 

  上述代码声明了一个变量,变量名为: name,变量name的值为:"Little-five"

  变量的作用:昵称,其代指内存里某个地址中保存的内容

  

    声明变量名的规则:

      1、变量只能使用数字、字母、下划线‘_’

      2、数字不能作为变量名的开头

      3、以下关键字不能声明为变量名
    ['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'

      4、同时需注意的是尽量不使用常用的类名、模块名等作为变量名

#!/usr/bin/local python
# -*- coding: utf-8 -*-

name ="little_five"
_name ='xiaowu'

七、输入

  input--->将用户输入的值变为字符串,并且可以将其赋值给某个变量名。例如:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

name = input("please enter your name--->:")
print(name)

八、if条件语句:

  1、if ...else...

    假设我们要创建一个简单的用户登入操作,可以让用户输入用户名和密码,若用户名和密码都正常,则登入成功,否则,登入失败。

复制代码
 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3  
 4  username ='little-five'
 5  password ='12345'
 6 #让用户输入用户名和密码
 7 user = input("pelase enter your username -->:")
 8 passwd = input("please enter your password-->")
 9 #如用户名和密码正确
10 if username ==user and password == passwd: #条件成立
11     print("welcome...")
12 else:  #条件不成立
13     print("sorry,error username or password")
复制代码

    即 if 条件成立,执行 if 内的命令;否则条件不成立,则执行else内的命令。

  2、if ... elif ...elif...else..

    假设我们创建一个门票收取机制,即年龄小于5五岁的儿童免费和年龄大于60岁的老人可以打折,而其他的正常票价。如:

复制代码
 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 
 4 age = input("enter your age-->:")
 5 
 6 if age<5:
 7     price =0
 8 elif age <18:
 9     price =5
10 elif age <60:
11     price =10
12 else:
13     price =5
14 print("You admission cost is -->",price)
复制代码

   即 当出现并非两种情形是,if ..else..无法解决问题。故对于这种多种情况时我们可以使用 if ..elif .. eilf ......else..来应对。

   当然if的用法不止这两种,还可以if ..if ...、if...elif...elif..等等这些,但是最终用法都与上述两种类似,就不一一列举了。


九、while循环

  一、while循环的用法:

    例如计算1-5的平法,可以使用while 循环:

复制代码
 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 
 4 count =1 
 5 #当条件成立时则执行while下的循环体
 6 while count <6:
 7     res = count**2
 8     count +=1
 9     print (res)
10 #当条件不成立时,则执行else下的命令行
11 else:
12     print("count <1 or count >5")
复制代码

  二、break --> 终止该循环的所有循环,即跳出该循环去执行循环外的下一条命令

    例如,我们需要让用户输入并打印用户输入的信息,当用户输入q可退出:

复制代码
 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 
 4 message =''
 5 while True:
 6     #让用户不停的输入要发送的信息,直到输入q退出
 7     mes = input("please input what you want tosend ,enter "q" to end the program."
 8     if mes =="q":
 9     break #终止该循环
10     message += mes
11 print(message)
复制代码

  三、continue -->终止该循环的当前循环,即跳出本次循环去执行下一次循环,跳至下一次循环的while判断

    例如:我们需要打印1--9,除了7,这样我们就可以使用到continue了:

复制代码
 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 
 4 count = 1
 5 while count <= 10:
 6     #当count等于7的时候,跳出本次循环。即循环内continue以下的命令都不执行
 7     if count == 7:
 8         continue
 9     print(count)
10     count += 1
复制代码

十、for循环

  for循环--->通常可以用来遍历各种可迭代对象,例如:字符串str、列表list、元组tuple、字典dict等等

复制代码
#!/usr/bin/env python
# -*- coding: utf-8 -*-

name =["James",Mike","liudehua","gutianle"
for item in name:
    print(item
复制代码

  当然,for循环还可以用于匿名函数,这里不再介绍。

猜你喜欢

转载自www.cnblogs.com/whxutao/p/9636994.html