Python执行的方式
Window:
- 在CMD里面,使用 Python + 相对路径/绝对路径
- 在解释器里面,直接输入,一行代码一行代码的解释
Linux:
-
明确地指出用Python解释器来执行该文件,Python + 相对路径/绝对路径
-
.如果想要像执行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