python入门day01

常用的第三方库:
opencv
dlib
it chat
1)区别比较:
shell脚本:

#!/bin/bash
echo hello
sh shell.sh

python脚本:

#!/usr/bin/python   ##或者#!/bin/python或者#!/usr/bin/env python
print "hello"
python hello.py

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

•#!/usr/bin/python 这种写法表示直接引用系统的默认的
Python 版本;
•#!/usr/bin/env python 这种写法表示,引用环境变量里面自定义的 Python 版本, 具有较强的可移植性;

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
现在我们打印一个中文的“你好python”

#!/usr/bin/python
#coding:utf-8       ##指定编码格式的方法#coding:utf-8 #coding=utf-8 #encoding:utf-8 #encoding=utf-8
print "你好python"

一个中文占用3个字节 utf-8为可变长编码方式,英文只用一个字节,中文用三个字节
2)python的解释器

cpython     ##默认 交互式
ipython     ##cpython的增强
jpython
pypy
安装ipython等软件包
下载好后配置好yum源
yum install /home/kiosk/Desktop/ipython/*.rpm

3)I/O输入输出

input("")
output()
***)
In [2]: input("请输入数字")
请输入数字1
Out[2]: 1
***)

将数值保存在里面
In [4]: a = input("please input number:")
please input number:2

In [5]: print a ##或者直接输入a
2       ##结果为2

*)

input() 和raw_input()的区别:##raw_input可以输出字符input只能输数字
In [6]: a = raw_input("number:")
number:f

In [7]: a
Out[7]: 'f'

*)

输入三个学生成绩并计算平均值:
#!/usr/bin/env python
#encoding=utf-8
from __future__ import division
a=input("input  score C:")
b=input("input score B:")
c=input("input score A:")
avg= (a+b+c)/3
print avg

在版本2中除法只保留整数部分,如果需要计算出小数可以用以下两个方法:
@@@@@@@@@

1from __future__ import division
【25/2.0  除数写成浮点型

4)安装pycharm

mv /home/kiosk/Desktop/pycharm/pycharm-community-2017.1.4.tar.gz /opt/
tar xf pycharm-community-2017.1.4.tar.gz 
cd pycharm-community-2017.1.4/bin/
./pycharm.sh 

第一次安装不需要导入任何设置,安装完成后新建一个项目,右键项目创建file就可以开始编写python程序了
ctrl+alt+s进入设置中找到File and Code Templates
在python script中加入:

#!/usr/bin/env python
#encoding=utf-8
"""
Name:${NAME}.py
Author:song
Date:${DATE}
connect:525065007@qq.com
esac:

"""

然后保存
ctrl+alt+insert新建一个python file输出文件名,就可以看到文件格式已经导入
@@@@@@@其他设置@@@@@@@
ctrl+alt+s font中可以调整字体和大小
Scheme 可以改变界面样式

python2和3的不同:

(1)除法:
python2中默认保留整数部分 可以在python2中添加from future import division
(2)print:
python2中可以直接使用,在python3中是一个函数所以使用格式为:print(“hello”)
可以在python2中添加from future import print_function
(3)
input raw_input:python2中 可以用type()命令查看一个是整形变量一个是字符串
python3中去掉了raw_input,默认input输入为字符串

优化刚刚开始的平均成绩代码:

from __future__ import division

a=input("score A:")
b=input("score B:")
c=input("score C:")
avg = (a+b+c)/3
print "平均成绩为:%.2f" %(avg)   ##定义为float变量 %.2f表示保留小数点后两位
@@@@在交互式界面中不需要输入print@@@@@@

数值类型

块代码注释:三个双引号
行代码注释:# <快捷键ctrl+ />
字符串的格式化符号:

%f  小数,浮点数
%.2f    保留两位小数点的浮点数
%d  整形数
%s  字符串
%o  八进制
%x  十六进制

符号的用法:

['120%.2d'%(i) for i in range(1,20)]

注意下面的区别:

"%.3d" %1
Out[6]: '001'       ##将输出1变为001
"10%.3d" %1     
Out[7]: '10001'     ##在输出001前面添加10
"%10.3d" %1     
Out[8]: '       001'    ##总共占用10个字符
"%.2f%%" %30        
Out[10]: '30.00%'   ##%%是转义为%不然会报错

1)体会变量类型:

输入:
anInt = 2
print type(anInt)
aLong = 12L
print type(aLong)
print type(anInt+aLong)
aFloat = 2.0000
print type(aFloat)
bFloat = 1.2E10
cFloat = 0.12e11
print bFloat
print cFloat
aComplex = 2+3j
print aComplex.real
print aComplex.imag
print type(aComplex)
运行结果:
<type 'int'>
<type 'long'>
<type 'long'>
<type 'float'>
12000000000.0
12000000000.0
2.0
3.0
<type 'complex'>

2)数值类型是不可变的

a=1
b=1
print id(a),id(b)
c=1
d=2
print id(c),id(d)

@@@@@@@@@@@@@@@@
pyhton的内存分配机制,数值相同时会指向同一个地址
当改变数值的时候,将会重新分配一个内存地址,不会在原有内存地址中修改数值
@@@@@@@@@@@@@@@@
3)删除数字对象

del c   ##加上变量
print c

4)布尔型变量:True(1) False(0)

运算符号

= += -= /= *= %=
关系运算符:>,>=,<,<=
运算后将会返回一个布尔值

1>2
out:False
(1>2) == False
out:True

逻辑运算符:and or not
题目:判断是否为闰年:
代码:

a = input("请输入年份:")
b = (a % 100 != 0 and a % 4 == 0 )or (a % 400 ==0)
if b:
    #pass是占位关键字
    #pass
    print "%s 是闰年" %(a)
else:
    print "%s 不是闰年"%(a)

注:ctrl+alt+L自动调整已经写好的语句

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
*)python if语句:注意缩进  
@@if表达式:            
    if-suite        
@@if表达式:            
    if-suite    
   elseelse-suite  
@@三目运算符 
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

题目2:判断输入用户名密码是否正确
代码:

username = raw_input("username:")
passwd = raw_input("password:")
if (username == "root") and (passwd == "redhat"):
    #pass
    print "ok"
else:
    print "not correct!"

题目3:登陆成功后进入系统界面(补充密码加密,但不能在pycharm里,只能在terminal中打开)

import getpass
username = raw_input("username:")
passwd = getpass.getpass("password:")
if (username == "root") and (passwd == "redhat"):
    #pass
    print "ok"
    print """
                学生管理系统
        1.查询课表
        2.查询成绩
        3.选课系统
        4.退出
    """
    choice = input("请输入你的选择:")
    if choice == 1:
        pass
    elif choice == 2:
        pass
    elif choice == 3:
        pass
    elif choice == 4:
        exit(0)
    else:
        print "请输入正确的选择!"
else:
    print "not correct!"

题目4:判断ab大小(三目运算符)

a=1
b=2
print a if a > b else b
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@while表达式:         @@
@@  循化执行的语句     @@
@@while表达式:         @@
@@  循环执行的语句     @@
@@else              @@
@@死循环               @@
@@while True或者1@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

题目:登陆三次自动退出

trycount = 0
while trycount < 3:
    print "登陆…………"
    trycount += 1
else:
    print "登陆次数超过3次,请稍后再试!!"

题目2:加入刚刚的学生管理界面

trycount = 0
while trycount < 3:
    print "登陆…………"
    import getpass

    username = raw_input("username:")
    passwd = getpass.getpass("password:")
    if (username == "root") and (passwd == "redhat"):
        # pass
        print "ok"
        print """
                    学生管理系统
            1.查询课表
            2.查询成绩
            3.选课系统
            4.退出
        """
        choice = input("请输入你的选择:")
        if choice == 1:
            # pass
            print """
                数学:99
                语文:100
                英语:120
                """

        elif choice == 2:
            pass
        elif choice == 3:
            pass
        elif choice == 4:
            exit(0)
        else:
            print "请输入正确的选择!"
    else:
        print "not correct!"
    trycount += 1
else:
    print "登陆次数超过3次,请稍后再试!!"

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
break:遇到关键字跳出当前的循环,不再继续执行循环
continue:跳出本次循环,不执行本次循环中continue后面的语句
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
题目3:为学生管理系统添加循环(注意缩进)

trycount = 0
while trycount < 3:
    print "登陆…………"
    import getpass
    username = raw_input("username:")
    passwd = getpass.getpass("password:")
    if (username == "root") and (passwd == "redhat"):
        # pass
        print "ok"
        print """
                    学生管理系统
            1.查询课表
            2.查询成绩
            3.选课系统
            4.退出
        """
        while True:
            choice = input("请输入你的选择:")
            if choice == 1:
                # pass
                print """
                    数学:99
                    语文:100
                    英语:120
                    """
            elif choice == 2:
                pass
            elif choice == 3:
                pass
            elif choice == 4:
                exit(0)
            else:
                print "请输入正确的选择!"
        else:
            print "not correct!"
    trycount += 1
else:
    print "登陆次数超过3次,请稍后再试!!"

题目4:体会break和continue在循环中的用法不同

while True:
    cmd = raw_input(">>>")
    if cmd == "":
        continue
        print cmd
    elif cmd == "q":
        break
    else:
        print cmd

题目5:求1-1000内所有偶数和

count=2
sum=0
while count <= 1000:
    sum += count
    count += 2
print sum

@@@@@for循环@@@@@

注意
题目:求1-1000内所有偶数的和
alt+回车 快速导入函数
方法一:(这里我们导入了时间函数,方便对比)用时0.17024

import time
start_time = time.time()
sum = 0
for i in range(2,2000000,2):
    sum += i
print sum
end_time = time.time()
print "run %s" %(end_time - start_time)

方法二:用时0.0406010150909

import time
start_time = time.time()
print sum(range(2,2000000,2))
end_time = time.time()
print "run %s" %(end_time - start_time)

题目2:阶乘

while True:
    a = input("请输入一个数字:")
    x=1
    for i in range(1, a + 1):
            x = x*i
    print x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值