Python简介
Python是一种解释型,面向对象,动态数据类型的高级程序设计
Python,第一个公开发行版本于1991
Python的创始人:吉多.范罗苏姆
像Perl语言一样Python源代码同样遵循GPL(GNU General Public License)协议
1.编译型语言和解释型语言的区别
编译型语言--通过编译器--最终可执行文件 跨平台性较差,可执行性差
解释型语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编c/c++等都是编译型语言,而java,C#等都是解释型语言
2.设计初衷:简单,可读性强,执行效率高,代码量少,专事专做
@1解释型语言,开发过程没有了编译这个环节
@2python是一个交互性语言
@3python是面向对象语言:这意味着Python支持面向对象的风格或代码封装在对象的编程
3.面向过程和面向对象
4.ASCII码不够用 gb2312 unclode
5.python 语法:没有缩进
6.python环境的搭建
安装ipython:安装包和Pycharm
安装要在普通管理员下进行,如果安装错误。ls -a 删除 .PyCharmCE2016.3
解压安装包:tar zxf pycharm-community-2016.3.2.tar.gz
cd 目录的bin下,ls,找到这个pycharm,然后sh pycharm.sh
对python中字体修改:
File-->setings-->Editor-->Color&Fonts-->Font-->Primary front(字体格式) size(字体大小)-->ok 设置成功
格式:ctrl+Alt+L 这个可以让格式编程python默认格式
添加默认信息:
File-->setings-->Editor-->Code Style--> File and Code Templates-->Python Script-->中添加:
# _*_ coding:utf-8 _*_
"""
file: ${NAME}.py
date: ${YEAR}-${MONTH}-${DAY} ${TIME}
author: westos-dd
desc:
"""
添加这些是为了在每次新建一个python自动添加注释内容
7.python中的注释
单行注释:# 这是一个单行注释
多行注释:
"""
这是一个多行注释
"""
8.程序的执行
在说这个问题之前,我们先来说两个概念,PyCodeObject和pyc文件。
我们在硬盘上看到的pyc自然不必多说,而其实PyCodeObject则是Python编译器真正编译成的结果。我们先简单知道就可以了,继续向下看。
当python程序运行时,编译的结果则是保存在位于内存中的PyCodeObject中,当Python程序运行结束时,Python解释器则将PyCodeObject写回到pyc文件中。
当python程序第二次运行时,首先程序会在硬盘中寻找pyc文件,如果找到,则直接载入,否则就重复上面的过程。
所以我们应该这样来定位PyCodeObject和pyc文件,我们说pyc文件其实是PyCodeObject的一种持久化保存方式。
9.python中变量的定义和使用:
我在python中定义了一个qq_number的变量,使用时直接用变量名使用:
# 定义一个qq号码
qq_number = '1234'
print qq_number
10.变量类型的说明
# 变量不需要指定类型python会根据你定义的格式自己匹配类型
# string表示字符串型
name = '徐英'
print name
# int表示整型
age = 18
print age
# bool类型:默认情况下True为1,可以进行加减运算,False为0
gender = True
print gender
# int表示整型
height = 165
print height
#float表示浮点型
weight = 60.0
print weight
注意单步调试可以看到类型
Ipython用type()也可以看到
11.用户输入获取变量,并且要改为可以计算的类型字符串类型不能进行运算。
price = float(raw_input('水果的单价'))
weight = float(raw_input('水果的重量'))
money=price*weight
print money
12.在python中可以使用print函数将信息输出到控制台,如果希望输出文字信息的同时,一起输出数据,就需要用到格式化操作符
%被称为格式化操作符,专门用于处理字符串中的格式,%和不同的字符连用,不同类型的数据,需要使用不同的格式字符
格式化字符串 含义
%s 字符串
%d 有符号十进制整数,%06d表示输出的整数显示位数字不足时用0填充
%f 浮点数,%.02f表示小数点后只显示两位
%% 输出%
语法格式:
Print ‘格式化字符串’ %变量1
Printf ‘格式化字符串’ %{变量1,变量2...}#用格式化字符串把需要填写变量的地方先占上
#0输出水果单价金额
price = float(raw_input('水果的单价'))
weight = float(raw_input('水果的重量'))
money = price * weight
print '水果的单价为%2f 您购买了%2f 总金额为%4f' % (price, weight, money)
# 1定义一个字符串name,输出:我的名字是,请多多关照
name = 'lily'
print '我的名字叫 %s, 请多多关照' % name
# 2定义整数变量student——num,输出:我的学号是000005
# %06d:不到六位就补0,如果是六位,该是多少就是多少
student_num = 5
print '我的学号是%06d' %student_num
# 3定义一个小数scale,输出:数据的比例是 %
scale = 0.1
print '数据的比例是%.2f' %scale*10
print '数据的比例是%.2f%%' % (scale * 1)
练习一:
Name = raw_input('请输入学生姓名:')
print Name
Chineae = float(raw_input('请输入语文成绩:'))
Math = float(raw_input('请输入数学成绩:'))
English = float(raw_input('请输入英语成绩:'))
Ava_grade = (Chineae + Math + English) / 3
print '平均成绩是%.01f' % Ava_grade
Pren_chinese = Chineae / (Chineae + Math + English)
print '语文占总成绩的百分比为%.f%%' %(Pren_chinese*100)
13.变量名的定义
名字要:见名知意
可以由字母,下划线饥饿数字组成
不能以数字开始
不能和关键字重合
调用工具查看python关键字:
import keyword
print keyword.kwlist
驼峰命名法
1大驼峰:每个单词的首字母都大写
FirstName
2小驼峰:第一个单词字母小写,之后的大写
firstName
14.和电脑玩石头剪刀布游戏
import random
player = int(raw_input('输入玩家出拳:(石头/1剪刀/2布/3)'))
print player
computer = random.randint(1, 3)
print computer
if ((player == 1 and computer==2)
or(player == 2 and computer==3) \
or(player == 3 and computer == 1)):
print '玩家获胜'
elif(player==computer):
print '平局'
else:
print '玩家输'
注意:@1在python中要使用随机数,首先需要导入随机数模块--‘工具包‘
导入模块后,可以直接在模块名称后面敲一个,然后Tab键,会提示该模块中包含的所有函数
random,randint (a,b),返回[a,b]之间的整数,包含a和b
eg:random.randint(12,20):生成随机数n:12<=n<=20
random.randint(20,20):结果永远是20
random.randint(20,12):结果会报错:下限必须小于上限
#1导入随机工具包
#2注意,在导入工具包的时候,应该将导入的语句,放在文件顶部
#3因为,这样可以方便下方的代码,在任何需要的时候,使用工具包中的工具
15.if判断的条件: elif的用法
条件成立的时候,要做的事情
...
elif 条件2:
...
else:
条件不成立的时候,要做的事情
...
elif和else都必须和if联合使用,不能单独使用
"""
book_name = raw_input('输入选择')
if book_name=='1':
print '数学'
elif book_name=='2':
print '英语'
elif book_name=='3':
print '化学'
else:
print '其他'
16.逻辑运算:and or not
17.判断闰年
Year = int(raw_input('输入要判断的年份'))
if ((Year % 4 == 0) and (not Year % 100 == 0)) or (Year % 400 == 0):
print '%d是闰年' % Year
else:
print '不是闰年'
18.输出月份
Year = int(raw_input('输入要判断的年份'))
Month = int(raw_input('输入要判断的月份'))
if Month==(1 or 3 or 5 or 7 or 8 or 12):
print '本月31天'
elif Month==(4 or 6 or 9 or 10 or 11 ):
print '本月30天'
elif(((Year % 4 == 0) and (not Year % 100 == 0)) or (Year % 400 == 0))and Month==2 :
print '本月是29天'
else:
print '本月是28天'