这一篇我们简单的介绍一下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,例:

  1. #! /user/bin/local python
  2.  
  3. print(" hello world")

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

  1. >>> python hello.py

则加不加该句则无所谓。

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

  1. >>> ./hello.py

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

 


 

三、编码

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

  1. # -*- coding:utf-8 -*-
  2.  
  3. 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,它规定一个英文用一个字节表示,一个中文用三个字节表示。

    等等。。


四、注释

   当行注释---> #

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

  1. #这是当行注释
  2.  
  3. '''
  4. 这代表多行注释
  5. 第一句python代码---》hello world
  6. '''
  7. info ='''
  8. name ='Little_five'
  9. age ='22'
  10. ''

五、 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、同时需注意的是尽量不使用常用的类名、模块名等作为变量名

  1. #!/usr/bin/local python
  2. # -*- coding: utf-8 -*-
  3.  
  4. name ="little_five"
  5. _name ='xiaowu'

七、输入

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

  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3.  
  4. name = input("please enter your name--->:")
  5. print(name)

八、if条件语句:

  1、if ...else...

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

  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3.  
  4. username ='little-five'
  5. password =''
  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- -*-
  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- -*-
  3.  
  4. count =
  5. while count <= :
  6. #当count等于7的时候,跳出本次循环。即循环内continue以下的命令都不执行
  7. if count == :
  8. continue
  9. print(count)
  10. count +=

十、for循环

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

  1. #!/usr/bin/env python
  2. # -*- coding: utf- -*-
  3.  
  4. name =["James",Mike","liudehua","gutianle"
  5. for item in name:
  6. print(item

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

  

第二篇:Python基本知识的更多相关文章

  1. [转帖]虚拟内存探究 -- 第二篇:Python 字节

    虚拟内存探究 -- 第二篇:Python 字节 http://blog.coderhuo.tech/2017/10/15/Virtual_Memory_python_bytes/ 是真看不懂哦     ...

  2. 第二篇 python进阶

    目录 第二篇 python进阶 一 数字类型内置方法 二 字符串类型内置方法 三 列表类型内置方法(list) 四 元组类型内置方法(tuple) 五 字典内置方法 六 集合类型内置方法(self) ...

  3. 第二篇 Python运算符

    1.算术运算符 运算符 描述  +  两个值相加  -  两个值相减  *  两个值相乘  /  两个值相除  %  得到两个数相除的余数  **  x**y得到x的y次幂  //  返回两个数相除商 ...

  4. 第二篇 Python图片处理模块PIL(pillow)

    本篇包含:16.Point    17.Putalpha    18.Putdata    19.Putpalette    20.Putpixel      21.Quantize     22.R ...

  5. WEBBASE篇: 第二篇, HTML知识2

    HTML知识2 <!doctype html> <html lang="en"> <head> <meta charset="U ...

  6. 接口测试框架——第二篇-python读取excel文件内容

    今天完善excel_module.py文件,上代码: # coding: utf-8 import xlrd class ReadExcel(): def __init__(self, file_na ...

  7. 第二篇 Python初识别及变量名定义规范

    第一个Python程序 可以打开notepad或者其他文本编辑器,输入:print("Hello Python!"),将文件保存到任意盘符下,后缀名是  .py 两种python程 ...

  8. 第二篇 - python爬取免费代理

    代理的作用参考https://wenda.so.com/q/1361531401066511?src=140 免费代理很多,但也有很多不可用,所以我们可以用程序对其进行筛选.以能否访问百度为例. 1. ...

  9. AI之路,第二篇:python数学知识2

    第二篇:python数学知识2 线性代数 导入相应的模块: >>> import numpy as np     (数值处理模块)>>> import scipy ...

  10. Python开发【第二篇】:Python基础知识

    Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

随机推荐

  1. Python核心编程(第二版)PDF

    Python核心编程(第二版) 目录 第1部分 Python核心第1章 欢迎来到Python世界1.1 什么是Python1.2 起源1.3 特点1.3.1 高级1.3.2 面向对象1.3.3 可升级 ...

  2. Java EE互联网轻量级框架整合开发— SSM框架(中文版带书签)、原书代码

    Java EE互联网轻量级框架整合开发 第1部分 入门和技术基础 第1章 认识SSM框架和Redis 2 1.1 Spring框架 2 1.2 MyBatis简介 6 1.3 Spring MVC简介 ...

  3. Python web-Http

    web应用 Web应用程序一般指浏览器端/服务器端应用程序,这类应用程序一般借助谷歌,火狐等浏览器来运行.在网络编程的意义下,浏览器是一个socket客户端,服务器是一个socket服务端 impor ...

  4. Spring MVC 验证表单

      在实际工作中,得到数据后的第一步就是检验数据的正确性,如果存在录入上的问题,一般会通过注解校验,发现错误后返回给用户,但是对于一些逻辑上的错误,比如购买金额=购买数量×单价,这样的规则就很难使用注 ...

  5. 【sqlalchemy】

    https://www.cnblogs.com/ccorz/p/5711955.html

  6. go micro 微服务框架温习

    go mod edit -require="github.com/chromedp/chromedp@v0.1.0" @后面加上你需要的版本号.就可以 已经修改go.mod 里的依 ...

  7. antd一些问题

    1.去掉button光晕 用ant design中的Button的时候,每次点击都会在视图button上添加一个属性ant-click-animating-without-extra-node这个属性 ...

  8. JS获当前网页元素高度offsetHeight

    本文测试的是offsetHeight,获取网页中某元素的高度,单位是像素,获取的类型是整型,可以进行数字运算.如图,网页中的元素本身的高度包括,自身的内容+padding+border,而margin ...

  9. centos7 双网口绑定

    1.关闭和停止NetworkManager服务 systemctl stop NetworkManager.service # 停止NetworkManager服务 systemctl disable ...

  10. [学习笔记] 下载、安装、启动 Eclipse(OEPE)

    OEPE 的全称是: Oracle Enterprise Pack for Eclipse 截止目前的最新版本是:(12.2.1.9) 下载地址:(需要在甲骨文官网注册一个账户才能下载) https: ...