第二篇:Python基本知识
这一篇我们简单的介绍一下Python学习的基本知识--》Python文件是如何运行、Python文件打开通常会有两行注释,那么这两行注释是什么;上篇提到的字节码,这些字节码都存储在哪?即pyc文件;还有基本知识-->变量、input、if条件语句、while循环语句、for循环等
一、运行:
在D:\python_test\ 目录下创建hello.py文件,其内容如下:
- #! /user/bin/local/ python
- # -*- coding:utf-8 -*-
- 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:代码经过编译可以产生字节码;字节码通过反编译也可以得到代码。
六、变量
声明变量:变量即为值可以变化的量,由于值存储在内存中,故需要取出该值则需要一个指针,指向该内存地址能够取出该内存中的值,而这个指针就是变量名。
- #! /user/bin/local python
- #-*- coding:utf-8 -*-
- 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...
假设我们要创建一个简单的用户登入操作,可以让用户输入用户名和密码,若用户名和密码都正常,则登入成功,否则,登入失败。
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- username ='little-five'
- password =''
- #让用户输入用户名和密码
- user = input("pelase enter your username -->:")
- passwd = input("please enter your password-->")
- #如用户名和密码正确
- if username ==user and password == passwd: #条件成立
- print("welcome...")
- else: #条件不成立
- print("sorry,error username or password")
即 if 条件成立,执行 if 内的命令;否则条件不成立,则执行else内的命令。
2、if ... elif ...elif...else..
假设我们创建一个门票收取机制,即年龄小于5五岁的儿童免费和年龄大于60岁的老人可以打折,而其他的正常票价。如:
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- age = input("enter your age-->:")
- if age<5:
- price =0
- elif age <18:
- price =5
- elif age <60:
- price =10
- else:
- price =5
- print("You admission cost is -->",price)
即 当出现并非两种情形是,if ..else..无法解决问题。故对于这种多种情况时我们可以使用 if ..elif .. eilf ......else..来应对。
当然if的用法不止这两种,还可以if ..if ...、if...elif...elif..等等这些,但是最终用法都与上述两种类似,就不一一列举了。
九、while循环
一、while循环的用法:
例如计算1-5的平法,可以使用while 循环:
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- count =1
- #当条件成立时则执行while下的循环体
- while count <6:
- res = count**2
- count +=1
- print (res)
- #当条件不成立时,则执行else下的命令行
- else:
- print("count <1 or count >5")
二、break --> 终止该循环的所有循环,即跳出该循环去执行循环外的下一条命令
例如,我们需要让用户输入并打印用户输入的信息,当用户输入q可退出:
- #!/usr/bin/env python
- # -*- coding: utf- -*-
- message =''
- while True:
- #让用户不停的输入要发送的信息,直到输入q退出
- mes = input("please input what you want tosend ,enter "q" to end the program."
- if mes =="q":
- break #终止该循环
- message += mes
- print(message)
三、continue -->终止该循环的当前循环,即跳出本次循环去执行下一次循环,跳至下一次循环的while判断
例如:我们需要打印1--9,除了7,这样我们就可以使用到continue了:
- #!/usr/bin/env python
- # -*- coding: utf- -*-
- count =
- while count <= :
- #当count等于7的时候,跳出本次循环。即循环内continue以下的命令都不执行
- if count == :
- continue
- print(count)
- count +=
十、for循环
for循环--->通常可以用来遍历各种可迭代对象,例如:字符串str、列表list、元组tuple、字典dict等等
- #!/usr/bin/env python
- # -*- coding: utf- -*-
- name =["James",Mike","liudehua","gutianle"
- for item in name:
- print(item
当然,for循环还可以用于匿名函数,这里不再介绍。
第二篇:Python基本知识的更多相关文章
- [转帖]虚拟内存探究 -- 第二篇:Python 字节
虚拟内存探究 -- 第二篇:Python 字节 http://blog.coderhuo.tech/2017/10/15/Virtual_Memory_python_bytes/ 是真看不懂哦 ...
- 第二篇 python进阶
目录 第二篇 python进阶 一 数字类型内置方法 二 字符串类型内置方法 三 列表类型内置方法(list) 四 元组类型内置方法(tuple) 五 字典内置方法 六 集合类型内置方法(self) ...
- 第二篇 Python运算符
1.算术运算符 运算符 描述 + 两个值相加 - 两个值相减 * 两个值相乘 / 两个值相除 % 得到两个数相除的余数 ** x**y得到x的y次幂 // 返回两个数相除商 ...
- 第二篇 Python图片处理模块PIL(pillow)
本篇包含:16.Point 17.Putalpha 18.Putdata 19.Putpalette 20.Putpixel 21.Quantize 22.R ...
- WEBBASE篇: 第二篇, HTML知识2
HTML知识2 <!doctype html> <html lang="en"> <head> <meta charset="U ...
- 接口测试框架——第二篇-python读取excel文件内容
今天完善excel_module.py文件,上代码: # coding: utf-8 import xlrd class ReadExcel(): def __init__(self, file_na ...
- 第二篇 Python初识别及变量名定义规范
第一个Python程序 可以打开notepad或者其他文本编辑器,输入:print("Hello Python!"),将文件保存到任意盘符下,后缀名是 .py 两种python程 ...
- 第二篇 - python爬取免费代理
代理的作用参考https://wenda.so.com/q/1361531401066511?src=140 免费代理很多,但也有很多不可用,所以我们可以用程序对其进行筛选.以能否访问百度为例. 1. ...
- AI之路,第二篇:python数学知识2
第二篇:python数学知识2 线性代数 导入相应的模块: >>> import numpy as np (数值处理模块)>>> import scipy ...
- Python开发【第二篇】:Python基础知识
Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...
随机推荐
- fa-list-alt
你可以用 <i> 标签把 Font Awesome 图标放在任意位置. <i class="fa fa-list-alt" aria-hidden="t ...
- jvm 虚拟机字节码指令表(转)
- SignalR 传Model类型的参数
目录 集线器方法 js调用 集线器方法 集线器写了一个方法是这样的 public void test(string name, Customer customer) 第一个参数是string类型的,第 ...
- 【ssh连接docker container问题】
在向docker container执行ssh或scp的时候,应该将docker container的22端口映射出来,然后ssh/scp命令指定映射出来的端口
- AI - TensorFlow - 示例05:保存和恢复模型
保存和恢复模型(Save and restore models) 官网示例:https://www.tensorflow.org/tutorials/keras/save_and_restore_mo ...
- idea创建自定义代码块
1.File——>settings 2.找到Editor——>live Templates,点击加号+ 3.创建group或直接创建,我这里创建了一个user组,然后在user组里面添加l ...
- 第5课.linux进阶命令
1.find:查找符合条件的文件 格式: find 目录名 选项 查找条件 eg: find /work/001_linux_basic/dira/ -name "test1.txt&quo ...
- Linux 脚本语言入门
0.脚本编写初步介绍 (1)脚本第一行以 #!/bin/sh 开始,也可以用 #!/bin/bash 开始,但是第一行必须以这种方式开始. (2)脚本名需要以.sh结尾 (3)#开头的句子表示注释 ( ...
- 剑指offer13:数组[奇数,偶数],奇数偶数相对位置不变。
1. 题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. 2. 思路和方 ...
- 计算机网络自顶向下方法第3章-传输层 (Transport Layer).2
3.5 面向连接的运输: TCP 3.5.1 TCP连接 TCP是因特网运输层的面向连接的可靠的运输协议. TCP连接提供全双工服务(full-duplex service). TCP连接是点对点的连 ...