1.Python基础
python的创始人为吉多·范罗苏姆(Guido van Rossum)。
1.1程序语言的分类:
解释型和编译型:
编译型:先将源码进行翻译生成可执行文件即机器码,再执行可执行文件【运行时的控制权在用户程序】
解释型:边解释边执行--->运行速度慢【程序运行时的控制权在解释器而不在用户程序】
动态语言和静态语言 :
动态语言:程序运行时才去做数据类型的检查----->在写程序时不用先声明变量,直接对变量操作【在第一次赋值给变量时,记录数据类型】
静态语言:在写程序时要声明所有变量的类型
强类型和弱类型:
强类型:定义了数据类型,不经强制转化,一直是定义的数据类型
弱类型:一个变量可以赋不同数据类型的值
----------------------------------------->python是一门动态解释性的强类型定义语言.
1.2Ubuntu16.04 环境下配置python环境:
- 配置Anaconda3
a.下载Anaconda。 下载地址:https://www.continuum.io/downloads#linux.
b.在Terminal执行:bash Anaconda3-4.0.0-Linux-x86.sh(版本)
- 配置Pycharm编辑器
a.下载Pycharm 。下载地址:http://www.jetbrains.com/pycharm/download/#section=linux.
b.解压Pycharm:tar -zxvf +Pychram压缩文件
c.打开解压后文件下的bin目录,执行./pycharm.sh
d.创建工程:Creat New Project----->interpreter选择Anaconda作为解释器,Location代表文件所在位置和文件名
2.Hello World程序
print
(
"Hello World!"
)
上一步中执行 python hello.py 时,明确的指出 hello.py 脚本由 python 解释器来执行。如果想要类似于执行shell脚本一样执行python脚本,例: ./hello.py
,那么就需要在 hello.py 文件的头部指定解释器,ps:执行前需给予 hello.py 执行权限,chmod 755 hello.py【读:4;写:2;执行:1】。如下:
1 2 3 |
|
3.变量
变量定义规则:
- 变量名只能是字母、下划线和数字的任意组合
- 变量第一个字符不能是数字
- 常量表示:一般用大写字母表示
eg1. name = ‘MIchelle Yang‘
print(name)
eg2. name1 = ‘Michelle Yang‘
name2 = name1
name1 =‘Sundy‘
print(name1,name2)
注意:在这个例子里,name2变量直接指向‘Michelle Yang’,而不是指向name1,所以即使name1改变,name2依旧是‘Michelle Yang’。
变量值与变量规则成立条件:变量是字符或者是数字。
4.字符编码
用编程语言来开发程序,都是为了让计算机来执行程序,得到某些结果,比如编写一个文档等等,而计算机的CPU只认识机器指令。因此,需要进行字符编码。
- ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示。
2**8 = 256-1,所以,ASCII码最多只能表示 255 个符号。
- Unicode(统一码、万国码、单一码):规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,最多能表示65535个字符。
- UTF-8,是对Unicode编码的压缩和优化,将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存
5.注释
当行注视:# 被注释内容
多行注释:""" 被注释内容 """【其中多行注释符号也可以作为按格式输出的符号】
6.用户输入
import getpass
pwd
=
getpass.getpass(
"请输入密码:"
)#密码是密文,不显示在大屏幕上
6.模块
在python中包括第三方库和标准库。第三方库:需要导入;标准库:系统自带,可以直接用。
7.Pyc
比较一下 PyCodeObject和pyc文件。
其实PyCodeObject则是Python编译器真正编译成的结果。
当python程序运行时,编译的结果则是保存在位于内存中的PyCodeObject中,当Python程序运行结束时,Python解释器则将PyCodeObject写回到pyc文件中。
当python程序第二次运行时,首先程序会在硬盘中寻找pyc文件,如果找到,则直接载入,否则就重复上面的过程。
--------------------------->pyc文件其实是PyCodeObject的一种持久化保存方式。
若程序修改,则会比较源文件和pyc的更新时间再决定是否要编译.
8.数据类型
a.数字:int float complex 格式化输出时:字符串是 %s;整数 %d;浮点数%f
b.布尔值
c.字符串
字符串常用功能:
- 移除空白:clear
- 分割
- 长度
- 索引 index()
- 切片
注意:每次创建一个字符串,则需要在内存中开辟一块连续的空间,若要修改字符串,则需要领开辟空间,万恶的+ 每出现一次会在内存中开辟一块空间。
d.列表
创建:name_list
=
[
‘Michelle‘
,
‘1‘
,
‘e‘
]或
name_list
=
list([
‘Michelle‘
,
‘1‘
,
‘e‘
]
索引:name_list.index(‘Michelle‘)
切片:name_list[::3]
追加:name_list.append(‘YMX‘)
删除:name_list.remove(‘1‘)或 del name_list[1] 或name.pop(1)
长度: len(name_list)
反转:name_list.reverse
包含:name_list.count(‘1‘)
排序:name_list.sort()#按ASCII码
e.元组(不可变列表):只读列表【只能查,只能切片】
创建元组:name = (‘Michelle Yang‘,‘Alex‘)