Python第1天课程
Python第1天课程
【学习目标】
1,Python介绍
a, 语言介绍
b, 作者介绍
2,搭建开发环境
a, 安装python2
b, 安装python3
3,python入门
a, 运行第一个python
b, Python2和python3中文解决的不同
c, 变量类型介绍
d, 判断语句
第1章 python的介绍
https://www.python.org/
1.1. 语言介绍
Python[1] (英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。
Python是纯粹的*软件,源代码和解释器CPython遵循GPL(GNU GeneralPublic License)协议。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。
Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。
1.2. 作者介绍
Guido van Rossum(吉多·范罗苏姆)1982年获得阿姆斯特丹大学的数学和计算机科学的硕士学位,并于同年加入一个多媒体组织CWI,做调研员。1989年,他创立了Python语言。
第2章 搭建开发环境、小试牛刀
2.1 Python环境
2.1.1 Python2、Pycharm安装
2.1.2 Python3安装、pycharm中选择
2.2 运行第一个helloworld
Python会将 圆括号, 中括号和花括号中的行隐式的连接起来 ,你可以利用这个特点. 如果需要, 你可以在表达式外围增加一对额外的圆括号.
除非是用于实现行连接, 否则不要在返回语句或条件语句中使用括号. 不过在元组两边使用括号是可以的.
用4个空格来缩进代码
绝对不要用tab, 也不要tab和空格混用.
*定义之间空两行, 比如函数或者类定义. 方法定义, 类定义与第一个方法之间, 都应该空一行. 函数或方法中, 某些地方要是你觉得合适, 就空一行.
括号内不要有空格.
不要在逗号, 分号, 冒号前面加空格, 但应该在它们后面加(除了在行尾).
当’=’用于指示关键字参数或默认参数值时, 不要在其两侧使用空格.
print('helloworld')
2.3 python的输入输出
2.2
2.3
2.3.1 格式化输出
2.3.1.1 格式化操作的目的
比如有以下代码:
pirnt("我今年10岁")
pirnt("我今年11岁")
pirnt("我今年12岁")
...
想一想:
在输出年龄的时候,用了多次"我今年xx岁",能否简化一下程序呢???
答:
字符串格式化
2.3.1.2 什么是格式化
看如下代码:
age = 10
print("我今年%d岁"%age)
age += 1
print("我今年%d岁"%age)
age += 1
print("我今年%d岁"%age)
...
在程序中,看到了%这样的操作符,这就是Python中格式化输出。
age = 18
name = "xiaohua"
print("我的姓名是%s,年龄是%d"%(name,age))
2.3.1.3 常用的格式符号
下面是完整的,它可以与%符号使用列表:
格式符号 | 转换 |
%c | 字符 |
%s | 通过str() 字符串转换来格式化 |
%i | 有符号十进制整数 |
%d | 有符号十进制整数 |
%u | 无符号十进制整数 |
%o | 八进制整数 |
%x | 十六进制整数(小写字母) |
%X | 十六进制整数(大写字母) |
%e | 索引符号(小写'e') |
%E | 索引符号(大写“E”) |
%f | 浮点实数 |
%g | %f和%e 的简写 |
%G | %f和%E的简写 |
2.3.2 换行输出
在输出的时候,如果有\n那么,此时\n后的内容会在另外一行显示
print("1234567890-------") # 会在一行显示
print("1234567890\n-------") # 一行显示1234567890,另外一行显示-------
2.3.3 输入
2.3.3.1 raw_input()
在Python中,获取键盘输入的数据的方法是采用 raw_input 函数(至于什么是函数,咱们以后的章节中讲解),那么这个 raw_input 怎么用呢?
看如下示例:
password= raw_input("请输入密码:")
print '您刚刚输入的密码是:',password
运行结果:
注意:
- raw_input()的小括号中放入的是,提示信息,用来在获取数据之前给用户的一个简单提示
- raw_input()在从键盘获取了数据以后,会存放到等号右边的变量中
- raw_input()会把用户输入的任何值都作为字符串来对待
2.3.3.2 input()
input()函数与raw_input()类似,但其接受的输入必须是表达式。
>>> a = input()
123
>>> a
123
>>> type(a)
<type
'int'>
>>> a = input()
abc
Traceback (mostrecent call last):
File
"<stdin>", line
1,
in <module>
File
"<string>", line
1,
in <module>
NameError: name
'abc'
is
not defined
>>> a = input()
"abc"
>>> a
'abc'
>>> type(a)
<type
'str'>
>>> a = input()
1+
3
>>> a
4
>>> a = input()
"abc"+
"def"
>>> a
'abcdef'
>>> value =
100
>>> a = input()
value
>>> a
100
input()接受表达式输入,并把表达式的结果赋值给等号左边的变量
2.3.3.3 python3版本中
没有raw_input()函数,只有input()
并且 python3中的input与python2中的raw_input()功能一样
2.4
2.5
2.4 python的注释、python2中文的解决
行注释
#
块注释/多行注释
三重双引号
‘’’
python2中文的解决
#coding=utf-8
print('hello world你好')
或
# -*- coding: UTF-8 -*-
print('hello world你好')
2.5 定义变量
2.5.1 变量的定义
在程序中,有时我们需要对2个数据进行求和,那么该怎样做呢?
大家类比一下现实生活中,比如去超市买东西,往往咱们需要一个菜篮子,用来进行存储物品,等到所有的物品都购买完成后,在收银台进行结账即可
如果在程序中,需要把2个数据,或者多个数据进行求和的话,那么就需要把这些数据先存储起来,然后把它们累加起来即可
在Python中,存储一个数据,需要一个叫做变量的东西,如下示例:
num1 = 100 #num1就是一个变量,就好一个小菜篮子
num2 = 87 #num2也是一个变量
result = num1 + num2 #把num1和num2这两个"菜篮子"中的数据进行累加,然后放到 result变量中
说明:
所谓变量,可以理解为菜篮子,如果需要存储多个数据,最简单的方式是有多个变量,当然了也可以使用一个
程序就是用来处理数据的,而变量就是用来存储数据的
2.5.2 标示符和关键字
2.5.2.1 标示符
开发人员在程序中自定义的一些符号和名称
标示符是自己定义的,如变量名 、函数名等
2.5.2.2 标示符的规则
标示符由字母、下划线和数字组成,且数字不能开头
python中的标识符是区分大小写的
2.5.2.3 命名规则
见名知意
起一个有意义的名字,尽量做到看一眼就知道是什么意思(提高代码可 读性) 比如: 名字 就定义为 name , 定义学生 用 student
驼峰命名法
小驼峰式命名法(lower camel case): 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog
大驼峰式命名法(upper camel case): 每一个单字的首字母都采用大写字母,例如:FirstName、LastName
不过在程序员中还有一种命名法比较流行,就是用下划线“_”来连接所有的单词,比如send_buf
2.5.2.4 关键字
什么是关键字
python一些具有特殊功能的标示符,这就是所谓的关键字
关键字,是python已经使用的了,所以不允许开发者自己定义和关键字相同的名字的标示符
可以通过以下命令进行查看当前系统中python的关键字
Python3
['False', 'None', 'True', 'and','as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else','except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is','lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while','with', 'yield']
Python2
['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章 变量的类型,以及类型的转换
3.1. 变量的类型
Python变量类型:
(1) Numbers
数字数据类型用于存储数值。
他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。
当你指定一个值时,Number对象就会被创建:
var1 = 1
var2 = 10
您也可以使用del语句删除一些对象的引用。
del语句的语法是:
del var1[,var2[,var3[....,varN]]]]
您可以通过使用del语句删除单个或多个对象的引用。例如:
del var
del var_a, var_b
Python支持四种不同的数字类型:
int(有符号整型)
long(长整型[也可以代表八进制和十六进制])
float(浮点型)
complex(复数)
一些数值类型的实例:
int | long | float | complex |
10 | 51924361L | 0.0 | 3.14j |
100 | -0x19323L | 15.20 | 45.j |
-786 | 0122L | -21.9 | 9.322e-36j |
080 | 0xDEFABCECBDAECBFBAEl | 32.3e+18 | .876j |
-0490 | 535633629843L | -90. | -.6545+0J |
-0x260 | -052318172735L | -32.54e100 | 3e+26J |
0x69 | -4721885298529L | 70.2E-12 | 4.53e-7j |
长整型也可以使用小写 l,但是还是建议您使用大写 L,避免与数字 1 混淆。Python使用 L 来显示长整型。
Python 还支持复数,复数由实数部分和虚数部分构成,可以用 a + bj,或者 complex(a,b) 表示, 复数的实部 a 和虚部 b 都是浮点型。
(2) String
字符串或串(String)是由数字、字母、下划线组成的一串字符。
一般记为 :
s="a1a2···an"(n>=0)
它是编程语言中表示文本的数据类型。
python的字串列表有2种取值顺序:
从左到右索引默认0开始的,最大范围是字符串长度少1
从右到左索引默认-1开始的,最大范围是字符串开头
如果你要实现从字符串中获取一段子字符串的话,可以使用变量 [头下标:尾下标],就可以截取相应的字符串,其中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾。
比如:
s = 'ilovepython'
s[1:5]的结果是love。
当使用以冒号分隔的字符串,python返回一个新的对象,结果包含了以这对偏移标识的连续的内容,左边的开始是包含了下边界。
上面的结果包含了s[1]的值l,而取到的最大范围不包括上边界,就是s[5]的值p。
加号(+)是字符串连接运算符,星号(*)是重复操作。
如下实例:
str = 'Hello World!' print str # 输出完整字符串
print str[0] # 输出字符串中的第一个字符
print str[2:5] # 输出字符串中第三个至第五个之间的字符串
print str[2:] # 输出从第三个字符开始的字符串
print str * 2 # 输出字符串两次
print str + "TEST" # 输出连接的字符串
(3) List []
list = ['this', 'is', 'list', 2]
(4) Tuple(元祖)(),相当于只读列表,不可以二次赋值
tuple = ('this', 'is', 'tuple', 3)
(5) dictionary(字典){},key值对
dict = {1:'this', 2:'is', 3:'dictionary', 4:4}
3.2. 怎样知道一个变量的类型呢?
在python中,只要定义了一个变量,而且它有数据,那么它的类型就已经确定了,不需要咱们开发者主动的去说明它的类型,系统会自动辨别
可以使用type(变量的名字),来查看变量的类型
3.3. 常用的数据类型转换
函数 | 说明 |
int(x [,base ]) | 将x转换为一个整数 |
long(x [,base ]) | 将x转换为一个长整数 |
float(x ) | 将x转换到一个浮点数 |
complex(real [,imag ]) | 创建一个复数 |
str(x ) | 将对象 x 转换为字符串 |
repr(x ) | 将对象 x 转换为表达式字符串 |
eval(str ) | 用来计算在字符串中的有效Python表达式,并返回一个对象 |
tuple(s ) | 将序列 s 转换为一个元组 |
list(s ) | 将序列 s 转换为一个列表 |
chr(x ) | 将一个整数转换为一个字符 |
unichr(x ) | 将一个整数转换为Unicode字符 |
ord(x ) | 将一个字符转换为它的整数值 |
hex(x ) | 将一个整数转换为一个十六进制字符串 |
oct(x ) | 将一个整数转换为一个八进制字符串 |
3.4. 举例
a = '100' # 此时a的类型是一个字符串,里面存放了100这3个字符
b = int(a) # 此时b的类型是整型,里面存放的是数字100
print("a=%d"%b)
第4章 运算符
4.1. 算术运算符
下面以a=10 ,b=20为例进行计算
运算符 | 描述 | 实例 |
+ | 加 | 两个对象相加 a + b 输出结果 30 |
- | 减 | 得到负数或是一个数减去另一个数 a - b 输出结果 -10 |
* | 乘 | 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200 |
/ | 除 | x除以y b / a 输出结果 2 |
// | 取整除 | 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0 |
% | 取余 | 返回除法的余数 b % a 输出结果 0 |
** | 幂 | 返回x的y次幂 a**b 为10的20次方,输出结果 100000000000000000000 |
4.2. 赋值运算符
运算符 | 描述 | 实例 |
= | 赋值运算符 | 把=号右边的结果给左边的变量num=1+2*3 结果num的值为7 |
counter = 100 # 赋值整型变量
miles = 1000.0 # 浮点型
name = "John" # 字符串
print counter
print miles
print name
#Python允许你同时为多个变量赋值。例如:
a = b = c = 1
#以上实例,创建一个整型对象,值为1,三个变量被分配到相同的内存空间上。
#您也可以为多个对象指定多个变量。例如:
a, b, c = 1, 2, "john"
以上实例,两个整型对象1和2的分配给变量 a 和 b,字符串对象 "john" 分配给变量 c。
4.3. 复合赋值运算符
运算符 | 描述 | 实例 |
+= | 加法赋值运算符 | c += a 等效于 c = c + a |
-= | 减法赋值运算符 | c -= a 等效于 c = c - a |
*= | 乘法赋值运算符 | c *= a 等效于 c = c * a |
/= | 除法赋值运算符 | c /= a 等效于 c = c / a |
%= | 取模赋值运算符 | c %= a 等效于 c = c % a |
**= | 幂赋值运算符 | c **= a 等效于 c = c ** a |
//= | 取整除赋值运算符 | c //= a 等效于 c = c // a |