博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python3基础2--变量-字符编码-缩进-注释-用户输入-模块初识
阅读量:6430 次
发布时间:2019-06-23

本文共 2863 字,大约阅读时间需要 9 分钟。

一、python3 变量

1.1  声明变量
name = "python"

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

变量定义的规则:

 

 变量名只能是 字母、数字或下划线的任意组合

 变量名的第一个字符不能是数字

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

小结:定义的变量名必须是直观易懂有意义的,不建议写中文名,

 

1.3 变量的赋值

name = "python3"

print(name)
names = name
print(names)

 

二、python3 字符编码

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

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

 

2.1 字符编码之中文编码-GB2312-GBK1.0-GB18030

为了处理汉字,程序员设计了用于简体中文的GB2312和用于繁体中文的big5。

  GB2312(1980年)一共收录了7445个字符,包括6763个汉字和682个其它符号。汉字区的内码范围高字节从B0-F7,低字节从A1-FE,占用的码位是72*94=6768。其中有5个空位是D7FA-D7FE。GB2312 支持的汉字太少。

        GBK1.0(1995年)的汉字扩展规范GBK1.0收录了21886个符号,它分为汉字区和图形符号区。汉字区包括21003个字符。

        GB18030(2000年)的 GB18030是取代GBK1.0的正式国家标准。该标准收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字。现在的PC平台必须支持GB18030,对嵌入式产品暂不作要求。所以手机、MP3一般只支持GB2312。从ASCII、GB2312、GBK 到GB18030,这些编码方法是向下兼容的,即同一个字符在这些方案中总是有相同的编码,后面的标准支持更多的字符。在这些编码中,英文和中文可以统一地处理。区分中文编码的方法是高字节的最高位不为0。按照程序员的称呼,GB2312、GBK到GB18030都属于双字节字符集 (DBCS)。

    小结:由于ASCII在设计之初只考虑了,26个英文字母和特殊字符,导致中文以及其他一些国家的文字无法存储,就产生了中文编码。

  中文编码发展史:GB2312->GBK1.0->GB2312

2.2 字符编码之 Unicode编码

ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode(万国码)

Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。

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

PS:此处说的的是最少2个字节,根据实际应用可能更多。

 

     小结:Unicode的产生是由于各国都有自己的编码,并且各国编码不兼容的问题,以及传统ASCII的局限性。
 
2.3 字符编码之 UTF-8编码
由于Unicode 编码在存储字节方面一般是占2个字节的,而英文只需要占一个字节就足够了,这样就产生了一个问题,如果都是英文存储用Unicode编码的话,会浪费很多磁盘空间,所以在Unicode编码之上又优化产生了UTF-8编码。
    UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存。
 
    所以,在python2中python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),如果是如下代码的话:
报错:ascii码无法表示中文
#!/usr/bin/env python
print "你好,世界"
改正:应该显示的告诉python解释器,用什么编码来执行源代码,即:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
  
print "你好,世界"
 
上述只适合于python2 版本,python3版本由于默认编码就是Unicode所以不会有中文乱码的情况。
 

三、python3 缩进-注释

3.1 python3 缩进
python2和python3 一个让人诟病的地方是格式的缩进问题。
 
  为什么格式需要缩进处理?
第一,之所以缩进是因为层级之间有因果循环关系。
第二,之所以缩进是因为语法方面的开始结束代码段。
 
3.2 python3 注释
 
 当行注视:# 被注释内容
  多行注释:""" 被注释内容 """
 

四、python3 用户输入-模块初识

4.1 用户输入
4.1.1  明文密码输入。
username = input("please input usernane:")
password = input("please input password")
 
print(username,password)
 
4.1.2  密码不显示输入
import getpass
username = input("please input usernane:")
pwd 
= 
getpass.getpass(
"请输入密码:"
)
 
print(username,pwd)
 
4.2 模块初识
4.2.1  基础模块之:sys
import sys
sys.path 方法
sys.argv 方法
 
print(sys.path)  ###打印出ENV全局环境变量
 
print (sys.argv) ### 传递参数
 
4.2.2  基础模块之:os
print(os.system("df -h") ##查看操作系统磁盘使用情况
 

 

转载于:https://www.cnblogs.com/dong-python3/p/8329281.html

你可能感兴趣的文章
Logwatch linux日志监视器解析
查看>>
【第8章】JVM内存管理
查看>>
在绿色的河流上
查看>>
ovirt官方安装文档 附录G
查看>>
磁盘故障小案例
查看>>
了解相关.NET Framework不同组件区别及安装知识
查看>>
ToughRADIUS快速指南
查看>>
Kubernetes+Prometheus+Grafana部署笔记
查看>>
linux磁盘管理基本命令
查看>>
HTML
查看>>
【转】左手坐标系和右手坐标系
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
POJ 3335 Rotating Scoreboard 半平面交
查看>>
oracle 闪回查询
查看>>
window.location.href和window.location.replace的区别
查看>>
《Gamestorming》读书笔记
查看>>
域名和网址链接被微信浏览器拦截怎么办 微信屏蔽网址打开如何解决
查看>>
SpringBoot 统一响应格式
查看>>
使用SQL Server Analysis Services数据挖掘的关联规则实现商品推荐功能(二)
查看>>