首页 > 代码库 > day1-python学习

day1-python学习

目录

1     Python介绍... 1

1.1         目前Python主要应用领域:... 1

2     python安装... 1

2.1         windows安装... 1

2.2         linux安装... 2

3     python基础实战... 3

3.1         PyCharm用到的快捷键... 3

3.2         打印hello world. 3

3.3         python解释器... 3

3.4         字符编码... 4

3.5         变量定义规则... 4

3.5.1    定义变量... 4

3.5.2    变量赋值... 4

3.6         行注释... 5

3.7         用户输入... 5

3.7.1    输入密码不可见... 6

 

1     Python介绍

python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。

1.1      目前Python主要应用领域:

  • 云计算: 云计算最火的语言, 典型应用OpenStack
  • WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django
  • 科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas
  • 系统运维: 运维人员必备语言
  • 金融:量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测
  • 图形GUI: PyQT, WxPython,TkInter

2     python安装

2.1      windows安装

下载安装包www.python.org

安装到c英文路径

配置环境变量:

计算机---属性---高级系统设置---高级---环境变量---Path[注意这里是用;分号分割的]

 

2.2      linux安装

搜狐下载http://mirrors.sohu.com/python/3.5.1/  官网慢的一坨

wget http://mirrors.sohu.com/python/3.5.1/Python-3.5.1.tgz

tar xf Python-3.5.1.tgz

cd Python-3.5.1

./configure

make && make install

安装完成,默认路劲

/usr/local/bin/python3 –V

#可以更改系统默认python版本,最好做个软连接到/usr/bin/ 方便指定解释器

ln -s /usr/local/bin/python3 /usr/bin/

mv /usr/bin/python /usr/bin/python2.bak

ln -s /usr/local/bin/python3 /usr/bin/python

3     python基础实战

3.1      PyCharm用到的快捷键

Ctrl+d复制一行内容

Ctrl+?批量注释多行

3.2      打印hello world

PyCharm:

print("hello world")

windows:

C:\Users\lenovo>python

Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (In

tel)] on win32

Type "help", "copyright", "credits" or "license" for more information.

>>> 

>>> 

>>> print ("hello world")

hello world

也可以编辑.py脚本拖到windows终端

C:\Users\lenovo>python "C:\Users\lenovo\Desktop\new 1.py"

linux

#!/usr/bin/env python

#-*- coding:utf-8 -*-

print ("hello world")

print ("你好,世界")

3.3      python解释器

可以直接指定python路径

#/usr/bin/python

指定版本,这只是在chmod +x后给脚本执行权限后生效,默认python test.py只执行系统默认的python版本。

#/usr/bin/env python

#/usr/bin/env python3

3.4      字符编码

python2.x默认只支持ASCII码,中文需要声明字符集

#!/usr/bin/env python

#-*- coding:utf-8 -*-

3.5      变量定义规则

3.5.1    定义变量

变量名只能是 字母、数字或下划线的任意组合

变量名的第一个字符不能是数字

以下关键字不能声明为变量名

字符创定义要加“”双引号

[‘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‘]

3.5.2    变量赋值

day1 = 1000 + 500 + 500

day2 = 3000

day3 = 1000

day4 = 4000

total = day1 + day2 + day3 + day4

print("总和:",total)

总和: 10000

 

name = "zhang"

name2 = name

print (name,name2)

zhang zhang

3.6      行注释

单行注释用:      #

多行注释:   

  • 方法一, 

"""

三个双引号注释多行内容

三个双引号注释多行内容

"""
  • 方法二, 

‘’’

三个双引号注释多行内容

三个双引号注释多行内容

‘’’

批量注释:

鼠标选中   Ctrl+?   实现批量注释

3.7      用户输入

例2:

name = input("What is your name?")

print ("hello",name)

结果:

What is your name?sdfas

hello sdfas

例2:\n换行

name = input("What is your name?")

# print ("hello",name)

job = input("job: ")

hobby = input("hobby: ")

print("my name is",name,"\nmy job is",job,"\nmy hobby is",hobby)

结果:

What is your name?zh

job: it

hobby: it

my name is zh

my job is it

my hobby is lol

例3:

  • 其中 %s  表示为字符
  • 其中 %d  表示为整数

测试值

str = "%s"%"hello"
num = "%d"%33
print(str)
print(num)

 

name = input("What is your name?")

# print ("hello",name)

age = input("age:")

job = input("job: ")

hobby = input("hobby: ")

print("my name is",name,"\nmy job is",job,"\nmy hobby is",hobby)

 

info = ‘‘‘

--------info of %s--------

name: %s

age : %s

jog : %s

hobby: %s

--------end---------

‘‘‘%(name,name,age,job,hobby)

print (info)

结果:其中第一个name是标题

What is your name?zh

age:22

job: it

hobby: lol

my name is zh

my job is it

my hobby is lol

 

--------info of zh--------

name: zh

age : 22

jog : it

hobby: lol

--------end---------

%d整数问题

age = int(input("年龄:"))

info = ‘‘‘

--------info---------

age : %d

--------end--------

 ‘‘‘%(age)

print(info)

结果:

年龄:32

 

--------info---------

age : 32

--------end--------

代码:

name = input("input you name:")

age = int(input("input you age:"))

print(type(age),type(name))

job = input("input your job:")

salary = int(input("input your salary:"))

 

info = ‘‘‘

--------------informathion of %s

Name: %s

Age : %d

Job : %s

Salary: %d

--------------end----------

‘‘‘% (name,name,age,job,salary)

print(info)

结果:

input you name:zhang

input you age:25

<class ‘int‘> <class ‘str‘>

input your job:IT

input your salary:8888

 

--------------informathion of zhang

Name: zhang

Age : 25

Job : IT

Salary: 8888

--------------end----------

 

 

Process finished with exit code 0

 

3.8      if条件语句

条件表达式,条件行之后要接:冒号,否则语法错误

username = input("username: ")

password = input("password: ")

if username == "zhang" and password == "123456":

    print("login successd")

else:print("username or password is worng")

3.8.1    输入密码不可见

需要定义getpass模块,定义模块只能在服务器测试

#!/usr/bin/env python

import getpass

pwd = getpass.getpass("密码:")

print (pwd)

结果:

[root@localhost ~]# python test3.py

密码:这里看不到输入的密码值

123456

 

3.9          猜年龄

 

oldboy_age = 39

 

guess_age = int ( input("age:") ) #str --> int

 

if guess_age == oldboy_age:

    print("correct!!!")

 

elif guess_age > oldboy_age:  #else if

    print("try smaller...")

 

else:

    print("try bigger...")

 

 

猜大

age:50

try smaller...

 

Process finished with exit code 0

 

猜小

age:20

try bigger...

 

Process finished with exit code 0

 

正确

age:39

correct!!!

 

Process finished with exit code 0

 

3.10      编写登陆接口

输入用户名密码

认证成功后显示欢迎信息

输错三次后锁定

count = 0

flag = 1

lock = []

user_pass = []

username = input(‘username:‘)

f = open(‘heimingdan.txt‘,‘r‘)

lock_file = f.readlines()

f.close()

for i in lock_file:

    line = i.strip(‘\n‘)

    lock.append(line)

if username in lock:

    print(‘你的用户%s已经被锁定请联系管理员‘ %username)

else:

    while True:

        count += 1

        passwd = input("password:")

        f = open(‘yonghu.txt‘,‘r‘)

        user_file = f.readlines()

        f.close()

        for i in user_file:

            test = 3 - (count)

            user_pass = i.strip().split()

            if username == user_pass[0] and passwd == user_pass[1]:

                print(‘欢迎回来 %s‘ %username)

                flag = True

                break

            else:

                print(‘密码错误请重新输入 你还有 %s 机会‘ %test)

                continue

        if flag is True:

            break

        else:

            if count == 3:

                print(‘你的用户%s以被锁定,请联系管理员 ‘ %username)

                lock_file = open(‘heimingdan.txt‘,‘a‘)

                lock_file.write(‘%s\n‘ %username)

                lock_file.close()

                break

 

错误

username:abc

password:123

密码错误请重新输入 你还有 2 机会

password:1234

密码错误请重新输入 你还有 1 机会

password:12345

密码错误请重新输入 你还有 0 机会

你的用户abc以被锁定,请联系管理员

 

 

 

成功

username:oldboy

password:123456

欢迎回来 oldboy

 

Process finished with exit code 0

 

day1-python学习