Python-01-基础
一、安装Python
官方下载地址:https://www.python.org/downloads/
Windows可直接下载安装,安装时勾选自动配置环境变量即可。
Linux/OS X默认装有Python环境,如果版本过低可自行升级。
二、Hello World程序
#!/usr/bin/env python
#-*-coding:utf-8-*-
print(“Hello World”)
- 上述代码中我们已经在头部指定了解释器(第1行),如果赋予该python程序文件可执行权限,可以直接像执行shell脚本一样执行python脚本,如:./hello.py
- 通常情况下我们使用python hello.py来执行python脚本。
- 字符编码:python2中需要指定utf-8编码才可以支持中文(第2行),python3中编码默认为utf-8支持中文。
三、变量
变量定义的规则
- 变量名只能是字母、数字或下划线的任意组合。
- 变量名的第一个字符不能为数字。
- 下列关键字不能声明为变量名:
['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']
定义变量示例:
name = "David Hu"
age = 22
name_of_father = "James Hu" #字母下划线组合
NameOfMother = "Susan" #驼峰组合
声明变量和赋值
name = "David Hu"
age = 22
province = "Shandong"
print(name,age,province)
也可以一次定义多个变量,如:
name,age,province = 'David Hu','22','Shandong'
print(name,age,province)
python中不能定义常量,当你需要定义常量时,全部大写默认为常量,如:
MYSQL_CONNECTION = '192.168.1.200'
代码注释
# 单行注释和shell脚本中一样,前面加 #号即可,每行最多不能超过80个字符。
'''
多行注释
前后输入3个单引号即可
'''
用户输入
# Python2:
user_input = raw_input("Please input your name:")
user_input = input("Please input your name:") # Python2中会认为这是变量而不是字符串
# Python3:
user_input = input("Please input your name:") # Python3中默认接收的都是字符串。
四、模块初识
- getpass
import getpass
username = input("username:")
password = getpass.getpass("password:")
# 使用getpass模块中的getpass方法,可以使密码不可见。
print(username,password)
- os
import os
os.system('df -h') # 使用os模块中的system方法,可以使用系统命令。
os.mkdir('TestDir') # 使用os模块中的mkdir方法,可以新建目录。
cmd_res = os.popen('df -h').read() # 保存df -h的结果到cmd_res。
- sys
import sys
print(sys.path) # 查看Python环境变量列表
- 结合使用
import os,sys
os.system(''.join(sys.argv[1:]))
# 把用户的输入的参数当作一条命令交给os.system来执行
- 自定义模块
如:Linux下Python 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
for Linux
自己写的或第三方的模块可以放在全局环境变量目录即可导入使用,Python2.7默认路径为:/usr/lib/python2.7/dist-packages,不同的环境放的位置不同,使用 print(sys.path) 可以查看python环境变量列表。
五、if……else语句
场景一、用户登录验证
提示输入用户名和密码,验证用户名和密码,如果输入错误,则输出“用户名或密码错误”,如果输入正确,则输出“欢迎XXX”
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import getpass
true_name = "David"
true_passwd = "pwd"
input_name = input("Please input your name:")
input_passwd = getpass.getpass("Please input your password:")
if input_name == true_name and input_passwd == true_passwd:
print("Welcome",input_name)
else:
print("Login failure:unknown username or bad password.")
场景二、猜年龄游戏
在程序中设定好你的年龄,然后启动程序让用户猜你的年龄,用户输入后,根据他的输入判断是否正确,如果错误,提示猜大了还是猜小了,如果正确,提示猜对了。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
my_age = 22
user_input = int(input("Please enter a guess my age:"))
if user_input > my_age:
print("Think smaller!")
elif user_input < my_age:
print("Think bigger!")
else:
print("Congratulations,you got it!")
break
六、for循环
最简单的循环10次
#!/usr/bin/env python
# -*- coding:utf-8 -*-
for i in range(10):
print("loop:",i)
输出结果:
loop: 0
loop: 1
loop: 2
loop: 3
loop: 4
loop: 5
loop: 6
loop: 7
loop: 8
loop: 9
需求一:还是上面的程序,但是遇到小于5的循环次数就不走了,直接跳入下一次循环
for i in range(10):
if i < 5:
continue #不往下走了,直接进入下一次循环
print("loop:",i)
需求二:还是上面的程序,但是遇到大于5的循环次数就不走了,直接退出
for i in range(10):
if i > 5:
break #不往下走了,直接跳出整个循环
print("loop:",i)
猜年龄游戏优化需求:
当用户猜错时,可再次重试,每猜错3次提示是否继续猜,选择y则继续猜,选择n则结束。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
my_age = 22
counter = 0
for i in range(10):
if counter < 3:
user_input = int(input("Please enter a guess my age:"))
if user_input > my_age:
print("Think smaller!")
elif user_input < my_age:
print("Think bigger!")
else:
print("Congratulations,you got it!")
break
else:
continue_confirm = input("Do you want to continue?(y/n):")
if continue_confirm == 'y':
counter = 0
continue
else:
break
counter += 1
七、While循环
死循环:
count = 0
while True:
print("loop:",count)
count += 1
上面的代码循环100次就退出:
count = 0
while True:
print("loop:",count)
count += 1
if count > 100:
print("洗洗睡吧!")
break
继续优化上面的猜年龄游戏:
让用户不断的猜年龄,但超过3次猜错时就退出程序
#!/usr/bin/env python
# -*- coding:utf-8 -*-
my_age = 22
counter = 0
while counter < 3:
user_input = int(input("Please enter a guess my age:"))
if user_input > my_age:
print("Think smaller!")
elif user_input < my_age:
print("Think bigger!")
else:
print("Congratulations,you got it!")
break
counter += 1
else:
print("猜这么多次都不对,笨蛋!")
八、三元运算
什么是三元运算?
result = 值1 if 条件 else 值2
如果条件为真:result = 值1
如果条件为假:result = 值2
举个栗子:
a,b = 1,2
c = a if a > b else b
print(c)
Python-01-基础的更多相关文章
- Python编程语言基础
今天给大家讲解python语言基础~~ 01.python核心数据类型 整型数 int:整数是不带有小数部分的数字 浮点型数 float:浮点数是带有小数部分的数字(小数部分可以是0) 复数 co ...
- 孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备
孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天本来应当继续学习Python的数据库操作,但根据过去我自 ...
- Python Numpy基础教程
Python Numpy基础教程 本文是一个关于Python numpy的基础学习教程,其中,Python版本为Python 3.x 什么是Numpy Numpy = Numerical + Pyth ...
- Python机器学习基础教程-第2章-监督学习之决策树集成
前言 本系列教程基本就是摘抄<Python机器学习基础教程>中的例子内容. 为了便于跟踪和学习,本系列教程在Github上提供了jupyter notebook 版本: Github仓库: ...
- Python机器学习基础教程-第2章-监督学习之决策树
前言 本系列教程基本就是摘抄<Python机器学习基础教程>中的例子内容. 为了便于跟踪和学习,本系列教程在Github上提供了jupyter notebook 版本: Github仓库: ...
- Python机器学习基础教程-第2章-监督学习之线性模型
前言 本系列教程基本就是摘抄<Python机器学习基础教程>中的例子内容. 为了便于跟踪和学习,本系列教程在Github上提供了jupyter notebook 版本: Github仓库: ...
- Numpy使用大全(python矩阵相关运算大全)-Python数据分析基础2
//2019.07.10python数据分析基础——numpy(数据结构基础) import numpy as np: 1.python数据分析主要的功能实现模块包含以下六个方面:(1)numpy—— ...
- Python 语言基础
Python 语言基础 Python 开发环境 计算机组成 编程语言(计算机语言)是人们为了控制计算机,而设计的一种符号和文字的组合,从而实现向计算机发出指令. 形式是符号和文字的组合 目的是为了控制 ...
- 01 基础版web框架
01 基础版web框架 服务器server端python程序(基础版): import socket server=socket.socket() server.bind(("127.0.0 ...
- Python实验报告——第2章 Python语言基础
实验报告 [实验目的] 1.熟悉在线编程平台. 2.掌握基本的 python 程序编写.编译与运行程序的方法. [实验条件] 1.PC机或者远程编程环境 [实验内容] 1.完成第二章实例01-07,实 ...
随机推荐
- SQL Server 分区表补充说明
分区教程参阅:http://database.9sssd.com/mssql/art/951 切换分区(归档):http://technet.microsoft.com/zh-cn/library/m ...
- java的反射机制
一.java的反射机制浅谈 最近研究java研究得很给力,主要以看博文为学习方式.以下是我对java的反射机制所产生的一些感悟,希望各位童鞋看到失误之处不吝指出.受到各位指教之处,如若让小生好好感动, ...
- 一个统计报表sql问题
今天朋友问我了一个统计报表的sql问题.我弄了好久.终于算是写出来了.这里记录下. 问题: id--------------name--------------addtime1 ...
- Java基础知识学习(七)
线程(续) 线程同步 当两个或两个以上的线程需要共享资源,它们需要某种方法来确定资源在某一刻仅被一个线程占用.达到此目的的过程叫做同步(synchronization) 可以用两种方法同步化代码.两者 ...
- MVC 多语言记录1 设置默认的ResourceType
http://stackoverflow.com/questions/3260748/default-resource-for-data-annotations-in-asp-net-mvc Add ...
- ImitateLogin新增插件机制以及又一个社交网站的支持
我的文章里已经多次介绍 imitate-login ,这是我最近一直在维护的一个使用c#模拟社交网站登录的开源项目,现在新增了对插件的支持以及一个新的网站(由于某种原因,会在文章结束部分介绍:而且仅会 ...
- myBatis系列之四:关联数据的查询
myBatis系列之三:增删改查是基于单表的查询,如果联表查询,返回的是复合对象,需要用association关键字来处理. 如User发表Article,每个用户可以发表多个Article,他们之间 ...
- TCP/UDP常见端口参考
著名端口 端口号码 / 层 名称 注释 1 tcpmux TCP 端口服务多路复用 5 rje 远程作业入口 7 echo Echo 服务 9 discard 用于连接测试的空服务 11 systat ...
- Page Visibility(页面可见性) API介绍、微拓展[转]
一.网页君的悲情谁来懂 唉,突然想到了一首悲情诗: 泪湿罗巾梦不成,夜深前殿按歌声.红颜未老恩先断, 斜倚薰笼坐到明. 学生时代学过的一首诗,已还给老师不知所云的诸位可参见下面释义: 诗的主人公是一位 ...
- stanford coursera 机器学习编程作业 exercise4--使用BP算法训练神经网络以识别阿拉伯数字(0-9)
在这篇文章中,会实现一个BP(backpropagation)算法,并将之应用到手写的阿拉伯数字(0-9)的自动识别上. 训练数据集(training set)如下:一共有5000个训练实例(trai ...