您的位置:首页 > 编程语言 > Python开发

python入门基础笔记

2017-05-23 23:22 423 查看
新想法:
送矿泉水---送货app

linux操作系统
bin  sbin 可执行程序
home 目录
temp 临时生成的目录

根目录:
/
用户目录:
用户工作目录或家目录
/home/user

相对路径:
上一层路径(父目录) 。。
当前路径 。
根目录 。。和。 都是代表根目录

文件的权限:
r --read
w --write
x --执行

Linux命令操作:最少的有200个
Linux命令格式: command [-options] [parameter]

黑窗口 ctrl + shift + +/- 字体放大缩小

ls 显示当前路径
pwd 显示当前路径
cd 。。 跳转到
ls -l   查看的文件夹和文件
drwxrwxr文件
- 文件夹

cd 文件夹: 跳到文件或者文件夹

自动补全功能
cd D(ownloads) cd + table键

空格键  翻页功能

q 退出文件

历史命令:
history

touch 1.py  在当前目录创建一个1.py文件(前提是获取超级管理员权限)
ls -lh 查看文件,并将文件的大小以kb的形式显示出来
ls -alh 显示隐藏文件并显示以kb大小的文件

ls *.py 显示以什么结尾的文件

ls 1.* 显示以1开头的文件
ls 1?* ? 代表站位符
ls 1[23]3.py [23]里面代表是2或者3的
ls \*a 查找文件名为*a 的文件

重定向:
ls -lha >ls.txt 创建文件,并将内容显示到文件中
--> 接下来用记事本打开:gedit   ls.txt

ls -lha >> ls.txt: 在ls.txt文件中继续追加内容,前面的内容不擅长
cat ls.txt 查看文件内容,不可以编辑
more ls.txt 分页显示,按空格进行查看页面内容

水管功能
ls -alh | more  右边的程序调用左边的程序,就是将左边的程序显示到右边去。

cd ~  ---> pwd 跳转到家目录

cd ctrl c 强制停止
cd ctrl z 强制停止
cd -  快速回到上一次路径

pwd 显示当前文件路径

mkdir 创建文件夹
rmdir dongge/      移除文件夹 remove的意思,删除非空文件夹
rm 2.py            删除文件
rm dongge -r  删除带有文件的文件夹,递归的删除

rm dongge -rf 强制删除带有文件的文件夹

创建链接文件ln         相当于快捷文件
软连接****
ln -s 123.py  123link_s.py  前面为源文件,后面为快捷文件

硬链接****
同样指向文件,不止一个快捷键指向源文件

查看文件内容,cat  (也可以完成多个文件的合并)
cat 234.py > 100.py  合并文件内容
cat 324.py >> 230.py  合并文件内容

grep ‘oo’ 101.py            模糊搜索 oo 在文件的位置

grep ’箭头上00‘  搜索以什么开头的
grep [Hhello]

拷贝
cp 23.py test/  拷贝。。到哪个项目下
mv 12.py test/ 移动
mv 12.py   14.py 重命名
tree  以树的方式进行显示

打包
tar -cvf(test.tar) *.py
解包
tar -xvf test.tar

压缩包
gzip test.tar ====> test.tar.gz
gzip -d test.tar.gz  解压缩操作--->test.tar

打包解包
tar -zcvf test.tar.gz *.py

切换到超级管理员
sudo -s  美元号变为jin号

系统管理

查看日历
cal -2016

查看时间
date

查看进程信息:ps
ps -aux 查看进行程序

ctrl +shift +z 打开新的命令窗口

kill -9 823   绝对杀死程序

需要管理员权限
reboot 重启
shutdown 关机

top 显示资源利用率的情况

df 检测磁盘空间
df -lh

du  -a -lh 查看当前目录的情况

查看网卡信息:
ipconfig

ping 120。1204.99  连接

第二天:

在Ubuntu下:
登陆用户:
who
当前登陆用户:
whoami

远程登陆电脑
先ping 192.168.21.76
然后
ssh admin@192.168.21.76  --y
who 查看当前登陆的用户信息 whoami 查看我是谁
ssh 用户名@ip地址
exit 退出

用户管理:
1,sudo -s
2,添加新的账户:useradd laowang
3 passwd  laowang 输入老王账号的密码,
4 exit 退出,回到一开始的用户,回到上一个用户
5 su - laowang  -->切换到老王的账户

--> useradd loawang -m  --->自动创建家目录

cat /etc/passwd  查看所有的用户名跟密码

删除用户
userdel laozhang
ubutun sudu
centerOS  su root

查看组:
groupadd aa
groupmod Ubuntu下
删除添加组 groupadd www  groupdel www

修改用户组
usermod -g aaa laosong   aaa->变为老宋
查看用户所在组:groups python  (adm sudo)

改组的功能:
usermod -a -G adm laosong
usermod -a -G sudo laosong

修改文件权限:chmod
-rw--W-r- -
第一组表示文件拥有者权限 文件同组者权限可不可以执行)其他人_

Ubuntu下安装软件:
命令行安装:gedit /etc/apt/sources.list
apt-get update 更新如那件
apt-get install sl  安装软件包

1  备份:
cp /etc/apt/sources.list  /etc/apt/sources.list.backup
2   修改 更新源
gedit /etc/apt/sources.list
3  sudo -s  切换到管理员
可以为 sudo
4 sudo apt-get update 让更新源生效

5 sudo apt-get install  软件的名字

6 删除软件
sudo apt-get remove package 删除包
sudo apt-cache search package 搜索软件包
sudo apt-cache show package 获取包信息
sudo apt-get install  package --reinstall 重新安装包
sudo apt-get source package 下载软件的源码
------等等

ftp服务器(常用服务器构建)
FTP : File Transfer Protocol 文件传输协议

安装vsftpd服务器\

sudo apt-get install vsftpd
配置vsftpd.conf文件
sudo vi /etc/vsftpd.conf

SSH 服务器搭建
sudo apt-get install openssh-server
远程登陆

远程拷贝文件
scp -r(是否上传文件夹) FileName 源文件  用户名@ip :home/python/Desktop 文件地址
从远端拷贝到本地:
scp python@IP  本地路径  远程文件路径+文件名

拷贝到-->
scp a.txt 128.128.323.23:/home/python/Desktop

编辑器vim Visual interface 简称
vim hello.py
1 打开vim后 默认进入一种状态->命令模式
输入小写i --》由命令模式转换到编辑模式

esc --》 退出编辑模式

末行模式:光标在最后
编码模式按下esc状态 --》输入: wq (保存退出)
等于  ---:x

vim 常见命令:
上下左右移动hjkl
选中字母按下i 输入abc 会再i前面输入
选中字母按下a ,输入abc 会在字母后面输入abc

输入I/A 直接跳到行首,输入abc,会在行首出现abc
输入O/o 从命令模式进入编辑模式

G/g 快速定位到9, --》9G 此时并没有进入编辑模式
快速回到最后一行 G          --gg 回到第一行

w 一个单词一个单词的调 w-word
{ 段落的跳

删除 dd 一行
5dd 指定数 向后删除5行
u 撤销

x 向后面进行删除
X 向前面进行删除

D 光标后面到行末全删除
D0

ctrl +r 反撤销
文本右移/左移  》

:q! 强制退出并不进行保存

yy张贴 p复制 : 张贴复制

p2 yy : 下两行进行复制张贴

dd 剪切/删除的功能
rH 替换

: 5,15s/main/MAIN/g 指定行数的替换

v 选中代码 }} 右缩进

: 12,23 >>> 整体缩进3次 行数开头,行数结尾

python 基础课程开始

使用地方:

Web应用开发:后台开发
Django,TurboGears,web2py,Zope等可以轻松开发和管理复杂的web程序
操作系统管理,服务器运维的自动化脚本
python可以做翻墙软件
科学计算
NumPy,SciPy,Matplotlib 编写科学计算程序
桌面软件
PyQt,PySide,wxPython,PyGTK快速开发桌面应用程序
服务器软件

游戏
Python支持更多的特性和数据类型,Lua的功能简单,体积小,
构思实现,产品早起原型和迭代
YouTube,Google,Yahoo,NASA都在使用python

第一种方式:
直接在命令行中输入 print ("dsf")
运行 python helloworld.py 第二种方式

第三种方式:
vi helloworld2.py
chmod u+x helloworld.py

在python文件第一行
#!usr/bin/python --> 判断是否有可执行程序

注释:以#开头的就是注释
多行注释:‘’‘
的沙发斯蒂芬
’‘’

让python 支持中文
在文件第一行加入
#encoding=utf-8

数据类型:

Numbers数字
int 有符号整型
long 长整型,也可以代表八位和十六位进制
float 浮点型
complex 复数

boolean   true,false
String字符串
List列表
Tuple元祖
Dictionary字典

查看符号类型type(var)

查看系统关键字:
import keyword

打印值:
print("my english scrore is %/d"%scrore)
print("my english scrore is %/d ,,,math scrore is %d"(score,mathScore))

\n 换行

数据类型转换:
num= int("100)

python3 input
python2 raw_input input

if age>10 and money >100 and handsome ==1:
print("他是高富帅")
else:
print("呵呵")

if 条件:
满足条件的时候做的事情
elif 条件2:
满足条件2的时候坐的事情
elif 条件3:
满足条件3的时候做的事情

if tiaojian:
pass #进行占位

import random
random.randin(3,5)
产生3,5的随机数

数据的显示问题:
%-2d  不够两位也要占用两位,靠左边显示

9*9乘法表视频

for 变量 in XXX列表或者字符串等:
循环满足条件时执行的代码
else:
循环不满足条件时执行的代码

查找是否存在
if findName  in nameList:
print("找到了")
else
print("没有找到")

不存在 not in

返回字符在字符串中的下标:index   names.index("a")

删除
del:根据下标索引进行删除
pop:删除最后一个元素
remove: 根据元素的值进行删除

列表的操作:
增
append() insert(下标,“a) insert(2,"acb")
删
del moveNames[0] 下标删除
movieNames.pop() 删除最后一个
movieNames.remove("喜洋洋") 按照元素的值进行删除

改
if "acv" in names:
xx
not in

index()

count()

自己编写代码来实现:在遍历的过程中宏进新年给判断,如果找到了那么久标记退出,如果么有找到标记,退出
查

列表的嵌套:
列表里面还有列表
[['北京大学','清华大学'],[‘南开大学’,'天津大学'],['山东大学']]

for temp in schoolNames:
print(temp)
for temp2 in temp:
print(temp2)
print("----------")

元祖只要不是修改都可以进行操作。相对于列表来说。

全局变量
如果需要进行全局修改,需要在修改之前设置 global

全局变量在方法中都可以进行调用。

break 退出循环

python的引用:
使用id
a = 100
id(a) --->得到一个地址的引用

魔法方法def __str__(self):
return "dsfsadf"

类方法:
@classmethod
def setNewAddress(self):
pass

类对象可以直接调用类属性,也可以直接调用类方法
但是类对象不允许调用 实例属性,并也不允许调用实例方法

如果是一个实例对象
它可以获取实例属性和类属性的值,但是只能修改实例属性,不能修改类属性
它还可以调用实例方法和类方法。

异常的处理:
try:
进行的操作代码
except (IOError,NameError) as errorMsg:
发生异常后的错误代码
print(errorMsg)
else:
没有出现异常
finally:
不管有没有异常,都会执行

try:
f = file(test.txt)
while True:
line = f.readline()
....
finally:
f.close()
print("关闭文件")

raise 引发一个自定义的异常类
raise ShortInputException(len(s),3) // 自定义的异常

python常用三方api

PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用。

由于PIL仅支持到Python 2.7,加上年久失修,于是一群志愿者在PIL的基础上创建了兼容的版本,名字叫Pillow,支持最新Python 3.x,又加入了许多新特性,因此,我们可以直接安装使用Pillow。

飞机大战
通过练习,将对象思想结合到一起

from PIL import Image

# 打开一个jpg图像文件,注意是当前路径:
im = Image.open('test.jpg')
# 获得图像尺寸:
w, h = im.size
print('Original image size: %sx%s' % (w, h))
# 缩放到50%:
im.thumbnail((w//2, h//2))
print('Resize image to: %sx%s' % (w//2, h//2))
# 把缩放后的图像用jpeg格式保存:
im.save('thumbnail.jpg', 'jpeg')

PIL的ImageDraw提供了一系列绘图方法,让我们可以直接绘图。比如要生成字母验证码图片

from PIL import Image, ImageDraw, ImageFont, ImageFilter

import random

# 随机字母:
def rndChar():
return chr(random.randint(65, 90))

# 随机颜色1:
def rndColor():
return (random.randint(64, 255), random.randint(64, 255), random.randint(64, 255))

# 随机颜色2:
def rndColor2():
return (random.randint(32, 127), random.randint(32, 127), random.randint(32, 127))

# 240 x 60:
width = 60 * 4
height = 60
image = Image.new('RGB', (width, height), (255, 255, 255))
# 创建Font对象:
font = ImageFont.truetype('Arial.ttf', 36)
# 创建Draw对象:
draw = ImageDraw.Draw(image)
# 填充每个像素:
for x in range(width):
for y in range(height):
draw.point((x, y), fill=rndColor())
# 输出文字:
for t in range(4):
draw.text((60 * t + 10, 10), rndChar(), font=font, fill=rndColor2())
# 模糊:
image = image.filter(ImageFilter.BLUR)
image.save('code.jpg', 'jpeg')
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 工作