python那些事

python的介绍

 

    

 

    

 

    

 

python2与3的区别

Old: print "The answer is", 2*2 

New: print ("The answer is", 2*2)

 

Old:

New:

 

 

windows添加python2.7 3.5环境变量

##2.7

 

OK

 

 

##3.5

##python.exe 重命名为python35.exe

 

OK

 

centos 6.6安装python2.73.5

yum groupinstall 'Development Tools'

tar xf Python-3.5.0.tgz

cd Python-3.5.0

./configure --prefix=/usr/local/python3

make all

make install

echo $?

make clean

make distclean

 

  1. 安装步骤如下 :
    1 准备编译环境(环境如果不对的话,可能遇到各种问题,比如wget无法下载https链接的文件)

yum groupinstall 'Development Tools'

yum install zlib-devel bzip2-devel  openssl-devel ncurses-devel

2 下载 Python3.5代码包

wget  https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tar.xz

3 编译

tar Jxvf  Python-3.5.0.tar.xz

cd Python-3.5.0

./configure --prefix=/usr/local/python3

make && make install

 

4.此时,新版本的python没有覆盖原来的版本,先将原来的python重命名

# mv /usr/bin/python  /usr/bin/python_old

 

5 替换系统默认的2.6版本的python

ln -sv /usr/local/python3/bin/python3.5 /usr/bin/python

##这样做的目的是在系统任意目录敲入python调用的是python3的命令,而非系统默认2.6.6

但是这样同时这会导致依赖python2.6yum不能使用,因此还要修改yum配置。

6 更新yum配置。

vim /usr/bin/yum

通过vim修改yum的配置

#!/usr/bin/python

改为

#!/usr/bin/python2.6

 

保存退出。完成了python3的安装。

 

 

7 安装pip

pip是根据官网wiki安装的。
1,安装setuptools。pip安装前需要先安装setuptools,在上面的页面中给出了下载地址。下载并执行即可:

wget https://pypi.python.org/packages/source/s/setuptools/setuptools-5.7.zip --no-check-certificate

unzip setuptools-5.7.zip 

cd setuptools-5.7

python setup.py install

 

wget https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gz#md5=3823d2343d9f3aaab21cf9c917710196

tar xvf pip-7.1.2.tar.gz

cd pip-7.1.2

python setup.py install

 

OK 大功告成

 

 

python简单示例

 

1.变量,字符集,头文件

 

变量定义的规则

 

    

 

 

定义字符集

    

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Author: liwx

 

 

 

#..最多不能超过80个字符每行...
					

 

 

自动添加头文件

 

2.菜单内引用变量

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Author: liwx

name = input("input your name:")
age = int(input("input your age:") )
job = input("input your job:")

msg = '''
Infomation of user %s:
-------------------
Name: %s
Age : %f
Job : %s
--------END--------
''' % (name,name,age,job)

print(msg)

 

执行结果

[root@liwx python]# python caidan_bianliang.py

input your name:liwx

input your age:28

input your job:IT

 

infomation of user liwx:

---------------------------

name: liwx

age : 28

job : IT

--------------END----------

 

 

导入模块

  1. getpass-密文

[root@liwx python]# vim 2.py

import getpass

username = input("please input username:")

passwd = getpass.getpass("please input passwd:")

 

print(username,passwd)

 

 

执行结果(密码看不见,是密文)

 

 

 

 

  1. OS-inux命令模块

[root@liwx python]# cat 3.py

import os

os.system("ls")

os.system("df -h")

os.mkdir("/root/1234444")

print ("---------------------")

os.system("ls /root/")

 

结果

[root@liwx python]# python 3.py

2.py 3.py caidan_bianliang.py

Filesystem Size Used Avail Use% Mounted on

/dev/sda3 7.1G 1.8G 5.0G 26% /

tmpfs 242M 0 242M 0% /dev/shm

/dev/sda1 190M 27M 153M 15% /boot

---------------------

123 install.log.syslog setuptools-5.7

1234444 nux-dextop-release-0-2.el6.nux.noarch.rpm setuptools-5.7.zip

anaconda-ks.cfg Python-3.5.0 youhua.sh

install.log Python-3.5.0.tgz

 

把返回的结果赋值给变量

>>> cmd_res = os.popen("df -h").read()

 

>>> print cmd_res

Filesystem Size Used Avail Use% Mounted on

/dev/sda3 7.1G 1.4G 5.4G 21% /

tmpfs 242M 0 242M 0% /dev/shm

/dev/sda1 190M 27M 153M 15% /boot

 

>>> print(cmd_res)

Filesystem Size Used Avail Use% Mounted on

/dev/sda3 7.1G 1.4G 5.4G 21% /

tmpfs 242M 0 242M 0% /dev/shm

/dev/sda1 190M 27M 153M 15% /boot

 

 

3.tab.py环境变量模块

##查看python的环境变量

>>> import sys

>>> print(sys.path)

['', '/usr/lib64/python26.zip', '/usr/lib64/python2.6', '/usr/lib64/python2.6/plat-linux2', '/usr/lib64/python2.6/lib-tk', '/usr/lib64/python2.6/lib-old', '/usr/lib64/python2.6/lib-dynload', '/usr/lib64/python2.6/site-packages', '/usr/lib/python2.6/site-packages']

 

 

 

 

Tab 补全

 

#!/usr/bin/env python

# python startup file

import sys

import readline

import rlcompleter

import atexit

import os

# tab completion

readline.parse_and_bind('tab: complete')

# history file

histfile = os.path.join(os.environ['HOME'], '.pythonhistory')

try:

readline.read_history_file(histfile)

except IOError:

pass

atexit.register(readline.write_history_file, histfile)

del os, histfile, readline, rlcompleter

 

 

 

 

>>> import tab.py

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

File "/usr/local/python3/lib/python3.5/site-packages/tab.py", line 4, in <module>

import readline

ImportError: No module named 'readline

 

 

 

 

 

 

 

if 判断

user = "liwx"

passwd = "liwx123"

 

username = raw_input("username:")

password = raw_input("passwd:")

 

if user == username:

print("username is OK")

if passwd == password:

print("Welcome login .....")

else:

print("passwd is NONONO")

else:

print("username is NONONONO")

 

优化版

[root@liwx ~]# python if_user.py

username:liwx

passwd:liwx123

username is OK

Welcome login .....

 

[root@liwx ~]# python if_user.py

username:liwx

passwd:sfdsf

username is OK

passwd is NONONO

 

[root@liwx ~]# python if_user.py

username:sdf

passwd:sdf

username is NONONONO

 

猜年龄

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Author: liwx

age = 22
counter = 0
for i in range(10):
if counter <3:
guess_num = int(input("input your guess num:"))
if guess_num == age:
print("you guess is OK")
break #
跳出整个循环
elif guess_num > age:
print("you guess is big")
else:
print("you guess is small")
else:
please_confirm = input("NUM > 3,do you want continue (y/n) :")
if please_confirm == 'y':
counter = 0
continue #
跳出当次循环,不计数
else:
print("bye bye")
break
counter += 1 #counter = counter + 1

 

 

 

 

 

 

while true

 

if 用户名不在白名单

        没有这个用户

else

    通过

    if 用户名在白名单 and 密码相同

    确实登录

    else:

        

        

    

if 用户名在白名单

    确认登录

或者 用户名相同 and 密码不同

    密码错误,

    请重新登录

    if 登录三次失败

        拒绝访问

 

 

 

 

 

 

      

 

 

 

 

 

 

 

    python的基本数据类型有5种

        整型:        int

        浮点型:        float

        字符型:        string

        布尔型:        bool

        空值:        None

 

运算

 

 

 

格式化

>>> 'Hi, %s, you have $%d.'

'Hi, %s, you have $%d.'

>>> 'Hi, %s, you have $%d.' %('Michael',10000)

'Hi, Michael, you have $10000.'

 

 

补齐

>>> '%2d-%02d' % (3, 1)

' 3-01'

>>> '%d-%03d' % (3, 1)

'3-001'

>>> '%d-%d' % (3, 1)

'3-1'

 

 

>>> '%.2f' % 3.1415926

'3.14'

>>> '%.f' % 3.1415926

'3'

>>> '%.4f' % 3.1415926

'3.1416'

 

如果你不太确定应该用什么, %s 永远起作用,它会把任何数据类型转换为字符串

>>> 'Age: %s. Gender: %s' % (25, True)

'Age: 25. Gender: True'

 

>>> u'Hi, %s' % u'Michael'

u'Hi, Michael'

 

>>> 'growth rate: %d %%' % 7

'growth rate: 7 %'

 

 

 

程序时一定要

尽最大的可能避免出现重复代码, 这是专业程序员需具备的基本道德之一, 为什

么呢?重复代码有以下害处:

1. 使程序变的冗长、笨重

2. 使程序变的不易维护,当你的程序出现多处重复代码时,如果突然你需要对

一个功能做更改,但这个功能又在程序中重复了多次,那你就必须在各个重

复的地方把修改这个功能,太恶心了。计算机语言支持函数、类功能的原因

之一就是要减少代码的冗余。

 

 

转载于:https://www.cnblogs.com/xuege/p/5491885.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值