本节介绍:

Python介绍

Python发展史

Python 2 or Python 3?

Python的安装

Hello World 程序

变量

用户输入

模块知识

.pyc是什么鬼?

数据类型知识

数据运算

表达式 if... else ... 语句

表达式 for 循环

break 和 continue

表达式 while 循环

作业需求

六、变量\字符编码

Variables are used to store information to be referenced and manipulated in a computer program. They also provide a way of labeling data with a descriptive name, so our programs can be understood more clearly by the reader and ourselves. It is helpful to think of variables as containers that hold information. Their sole purpose is to label and store data in memory. This data can then be used throughout your program.

声明变量

#_*_coding:utf-8_*_

name = "Zheng Laotou"

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

变量定义的规则:

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

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

以下关键字不能声明为变量名

['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']

变量的赋值

name = "Zheng Loatou"

name2 = name

print(name,name2)

name = "Jack"

print("What is the value of name2 now?")

七、字符编码

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

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

关于中文

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

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

GB2312 支持的汉字太少。1995年的汉字扩展规范GBK1.0收录了21886个符号,它分为汉字区和图形符号区。汉字区包括21003个字符。2000年的 GB18030是取代GBK1.0的正式国家标准。该标准收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字。现在的PC平台必须支持GB18030,对嵌入式产品暂不作要求。所以手机、MP3一般只支持GB2312。

从ASCII、GB2312、GBK 到GB18030,这些编码方法是向下兼容的,即同一个字符在这些方案中总是有相同的编码,后面的标准支持更多的字符。在这些编码中,英文和中文可以统一地处理。区分中文编码的方法是高字节的最高位不为0。按照程序员的称呼,GB2312、GBK到GB18030都属于双字节字符集 (DBCS)。

有的中文Windows的缺省内码还是GBK,可以通过GB18030升级包升级到GB18030。不过GB18030相对GBK增加的字符,普通人是很难用到的,通常我们还是用GBK指代中文Windows内码。

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

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

注:此处说的的是最少2个字节,可能更多

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

所以,python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),如果是如下代码的话:

报错:ascii码无法表示中文

#!/usr/bin/env python

print "你好,世界"

改正:应该显示的告诉python解释器,用什么编码来执行源代码,即:

#!/usr/bin/env python

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

print "你好,世界"

注释

当行注视:# 被注释内容

多行注释:""" 被注释内容 """

八、用户输入

#!/usr/bin/env python

#_*_coding:utf-8_*_

#name = raw_input("What is your name?") #only on python 2.x

name = input("What is your name?")

print("Hello " + name )

输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即:(getpasswd.py)

#!/usr/bin/env python

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

import getpass

# 将用户输入的内容赋值给 name 变量

pwd = getpass.getpass("请输入密码:")

# 打印输入的内容

print(pwd)

备注:这里使用命令行  python getpasswd.py

字符串拼接输出:

name = input("name:")

age = input("age:")

job = input("job:")

salary = input("salary:")

info = '''

---------- Info of '''+ name + ''' ---------

Name: ''' + name +'''

Age:''' + age + '''

Job:''' + job + '''

Salary:''' + salary

print(info)

结果:

name:Zheng

age:30

job:IT

salary:10000

---------- Info of Zheng ---------

Name: Zheng

Age:30

Job:IT

Salary:10000

字符串格式化输出1:

name = input("name:")

age = input("age:")

job = input("job:")

salary = input("salary:")

info = '''

---------- Info of %s ---------

Name: %s

Age: %s

Job: %s

Salary: %s

''' % (name,name,age,job,salary)

print(info)

结果:

name:Zheng

age:30

job:IT工程师

salary:10000元

---------- Info of Zheng ---------

Name: Zheng

Age: 30

Job: IT工程师

Salary: 10000元

字符串格式化输出2:

name = input("name:")

age = int(input("age:"))

job = input("job:")

salary = input("salary:")

info = '''

---------- Info of %s ---------

Name: %s

Age: %d

Job: %s

Salary: %s

''' % (name,name,age,job,salary)

print(info)

结果:

name:Zheng

age:30

job:IT工程师

salary:50000

---------- Info of Zheng ---------

Name: Zheng

Age: 30

Job: IT工程师

Salary: 50000

字符串格式化输出3:

name = input("name:")

age = int(input("age:"))

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)

或者

结果:

name:Zheng

age:25

job:IT工程师

salary:100000元

---------- Info of Zheng ---------

Name: Zheng

Age: 25

Job: IT工程师

Salary: 100000元

字符串格式化输出4:

name = input("name:")

age = int(input("age:"))

job = input("job:")

salary = input("salary:")

info = '''

---------- Info of {0} ---------

Name: {0}

Age: {1}

Job: {2}

Salary: {3}

'''.format(name,age,job,salary)

结果:

name:Zheng

age:25

job:IT

salary:10000

---------- Info of Zheng ---------

Name: Zheng

Age: 25

Job: IT

Salary: 10000

python用户输入的是q吗编码_Day01-Python基础3-变量/字符编码/用户输入相关推荐

  1. python用户输入的是q吗编码_python3基础2--变量-字符编码-缩进-注释-用户输入-模块初识...

    2.1 字符编码之中文编码-GB2312-GBK1.0-GB18030 为了处理汉字,程序员设计了用于简体中文的GB2312和用于繁体中文的big5. GB2312(1980年)一共收录了7445个字 ...

  2. Python之路 day1 基础1 变量 for while 用户输入

    一. Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为AB ...

  3. 信息量-log2P(莫斯编码使用频繁P大的字符编码段信息量少)、信息熵:期望E=-Plog2P、两点分布交叉熵=KL散度=相对熵=-plnp-(1-p)ln(1-p)不对称、JS散度对称

    信息熵为什么要定义成-Σp*log§? 信息熵为什么要定义成-Σp*log(p)? 在解释信息熵之前,需要先来说说什么是信息量. 信息量是对信息的度量,单位一般用bit. 信息论之父克劳德·艾尔伍德· ...

  4. 【转】刨根究底字符编码之十——Unicode字符集的字符编码方式

    一.字符编码方式CEF的选择 1. 由于Unicode字符集非常大(并且作为开放字符集还在不断扩展之中),有些字符的编号(即码点值)需要两个或两个以上字节来表示,而要对这样的编号进行编码,也必须使用两 ...

  5. 【转】刨根究底字符编码之四——EASCII及ISO 8859字符编码方案

    1. 计算机出现之后,首先逐渐从美国发展到了欧洲.由于欧洲很多国家所用到的字符中,除了基本的.美国也用的那128个ASCII字符之外,还有很多衍生的拉丁字母等字符.比如,在法语中,字母上方有注音符号: ...

  6. mysql修改客户端编码命令_mysql命令行修改字符编码

    1.修改数据库字符编码 mysql> alter database mydb character set utf8 ; 2.创建数据库时,指定数据库的字符编码 mysql> create ...

  7. java修改默认字符编码_设置默认的Java字符编码?

    如何以编程方式正确设置JVM(1.5.x)使用​​的默认字符编码? 我已经读过-Dfile.encoding =以前是以往的方式去为旧的JVM -我没有那么奢侈的原因,我不会进入. 我努力了: Sys ...

  8. mysql编码修改utf8_修改数据库mysql字符编码为UTF8

    MySQL会出现中文乱码的原因不外乎下列几点: 1.server本身设定问题,例如还停留在latin1 2.table的语系设定问题(包含character与collation) 3.客户端程式(例如 ...

  9. mysql 导入设置编码_MySQL导入或导出数据库字符编码集设置

    解决方法: 开始-->运行-->cmd -->进入dos命令窗体:(如果命令无法执行,请将mysql的安装路径放到系统变量path的最前面) 1. 数据库表中字段的字符集设置 .sh ...

最新文章

  1. java核心技术面试精讲
  2. MATLAB AWGN信道 M-ary PSK 误码性能
  3. 你写的前端到底用没用到这些
  4. opencv4.10不能使用sift = cv2.xfeatures2d.SIFT_create()
  5. 描述符演练-02-逻辑疏理-类的装饰器
  6. 共线方程(百度百科)
  7. 计算机视觉专硕:OCR、实习和秋招
  8. 凝结11年技术实力 弹性计算国内首著发布
  9. ardupilot在Linux上设置SITL(FlightGear)
  10. Arduino开发板使用DS3231实时时钟模块的方法
  11. Python 处理视频文件
  12. 学以致用——Java源码——抛双骰儿游戏综合评估(游戏步数与胜率的关系,公平性,平均步数等)(Game of Craps Evaluation)
  13. 海外版TikTok培训课程怎么选择
  14. 运筹学笔记 线性规划与单纯形法
  15. 宣传6个9的可靠性就真的可靠吗
  16. 3.项目一(家庭收支记账软件)
  17. javascript---对象和函数的引用、浅拷贝、深拷贝、递归
  18. Python中的函数及Python字符串中提取字母、数字
  19. 校园网路由器有线中继(针对802.1X)
  20. 问题——Word中一级标题离页眉很近

热门文章

  1. 星特朗望远镜怎么样_我们,来看一看月亮?——星特朗SCTW-70天文望远镜测评...
  2. Java线程池详细介绍与使用
  3. 团队知识管理实践 -- 以产品帮助文档为例
  4. Windows10安装VirtualBox虚拟化工具后无法打开虚拟机
  5. 广告配音语音制作软件哪个好?
  6. Centos7 boot 引导目录误删除恢复
  7. virtualbox rc=-101 问题解决
  8. 从护肤品到北斗/GPS双模定位模块应该怎么选
  9. oracle优化日记_Oracle优化日记:一个金牌DBA的故事
  10. 十六进制转八进制(大数操作)