Python编码与变量

时间:2023-03-09 09:25:03
Python编码与变量

Python执行的方式

Window:

  1. 在CMD里面,使用 Python + 相对路径/绝对路径
  2. 在解释器里面,直接输入,一行代码一行代码的解释

Linux:

  1. 明确地指出用Python解释器来执行该文件,Python + 相对路径/绝对路径

  2. .如果想要像执行shell一样执行Python,那么就需要在文件头部指定解释器

    #!/usr/bin/env python
    print("Hello, World!")

    如此一来,执行文件名即可.

    PS:需要给文件加上执行权限


内容编码

python解释器执行.py文件时,会对内容进行编码,在Python 2.X中默认为ASCII,而Python 3.X中默认的编码为UTF-8.

ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646.ASCII码仅仅支持英文和其他一些符号,并不能支持中文等其他语言.

Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。Unicode中所有的字符都是4个字节.

UFT-8UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码,UTF-8用1到6个字节编码Unicode字符。用在网页上可以统一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。其中英文字母为1个字节,西欧等拉丁字母为2个字节,中文等中亚文字为3个字节,其他特殊字符为4个字节.

GBK全称《汉字内码扩展规范》(GBK即“国标”、“扩展”汉语拼音的第一个字母,英文名称:Chinese Internal Code Specification),该为中国出台的一个编码标准,中文字符为2个字节.且国家规定凡是出口到中国的电子计算机都要有GBK编码.

那么在Python2中我们必须要在开头指定编码

#!usr/bin/env python
#-*- coding: utf-8 -*-
print("我爱你")

(三) 注释

对一行注释,在注释的内容前面加上“#”

对多行注释,把要注释的内容写成""" 内容 """这样


执行脚本传入参数

Python有大量的模块,类库包括以下三种:

  • Python内部提供的大量工具包
  • 业内公布开源的模块
  • 程序员自己开发的模块

那么加载模块需要先把需要加载的模块文件放到该.py文件同级的目录下,然后使用如下方式

import sys

pyc文件

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

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


变量

变量既是我们储存在计算机里面的数据,每一个变量都会被赋予一个变量名,直接指向数据的内存地址.Python语言中所有的数据,都是围绕着对象这个概念来构建的,即每一种数据类型其实都是一种对象.

age = 18
name = "Hermaous"
li = [12, 13, 'Y']
dic = {'name': 'Hermaous', 'age': 18}
tup = (12, 14, 11, 'love')

Python提供的数据类型,有如下几种:

  • 字符串(str)
  • 数值(整数:int, 浮点数:float, 长整数:long, 复数:complex)
  • 列表(list)
  • 字典(dict)
  • 元组(tuple)

而每一个对象都有如下的特征:

  • 都有一个身份,即id——使用id()函数可以得到该id
  • 都隶属于一个类型——使用type()函数可以得到该对象的类型
  • 每一个都一定映射一个数值

可变对象和不可变对象

实例比创建之后,身份和类型是不可变的,但是如果值是不可以被修改的,则是不可变对象,反之如果值是可以被修改的,那么则是可变对象.

容器对象

某个对象包含对其他对象的引用,则称为容器或集合,如列表、字典和元组.

对象的属性和方法

属性就是对象的值,方法就是调用时将在对象本身上执行某些操作的函数,使用".+方法"的形式可以访问对象的属性和方法,如

name = 'yuan'
name.upper()
li = [1, 2, 3]
li.append(4)

变量的复制操作

  • 与c语言的区别在于变量赋值操作无返回值
  • 链式赋值:y=x=a=1
  • 多元赋值:x,y=1,2 x,y=y,x
  • 增量赋值:x+=1

变量定义的规则

  • 只能由下划线、字母和数字构成

  • 不能是数值开头

  • 不能使用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']

变量的输入

将输入的值赋予给name

name = input("请输入您的名字:")

输入密码时,如果想要其不可见,需要利用getpass模板中的getpasss方法,即

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

(七)流程控制

流程控制由if···elif···else构成

number = 18
if number < 18:
print('You are too young!')
elif number > 18:
print("You are too old!")
else:
print("You are so good!")

while循环体

组成形式

#while + 条件:
# 执行的代码
# 如果条件为True,则执行下面的代码;如果条件为False,则不执行下面的代码

break

break用于退出所有循环

while True:
print("You are so handsome!")
break #当代码运行到这里时,将会跳出整个while循环,那么此时后面的代码将不会被执行
print("You are so good!")

continue

continue用于退出当前循环,继续下一次循环

count = 0
while count < 10:
if count == 6:
continue #当代码运行到这里时,将不会运行下面的代码,即不会打印6,而是直接跳过执行下一个循环
print(count)
count += 1