pip install -i https://pypi.douban/simple 库

变量以及类型

<1>变量的定义

在程序中,有时我们需要对2个数据进行求和,那么该怎样做呢?

大家类比一下现实生活中,比如去超市买东西,往往咱们需要一个菜篮子,用来进行存储物品,等到所有的物品都购买完成后,在收银台进行结账即可

如果在程序中,需要把2个数据,或者多个数据进行求和的话,那么就需要把这些数据先存储起来,然后把它们累加起来即可

在Python中,存储一个数据,需要一个叫做变量的东西,如下示例:

num1 = 100 #num1就是一个变量,就好一个小菜篮子

num2= 87 #num2也是一个变量

result= num1 + num2 #把num1和num2这两个"菜篮子"中的数据进行累加,然后放到 result变量中

说明:

所谓变量,可以理解为菜篮子,如果需要存储多个数据,最简单的方式是有多个变量,当然了也可以使用一个

程序就是用来处理数据的,而变量就是用来存储数据的

想一想:我们应该让变量占用多大的空间,保存什么样的数据?

<2>变量的类型

生活中的“类型”的例子:

程序中:

为了更充分的利用内存空间以及更有效率的管理内存,变量是有不同的类型的,如下所示:

怎样知道一个变量的类型呢?

在python中,只要定义了一个变量,而且它有数据,那么它的类型就已经确定了,不需要咱们开发者主动的去说明它的类型,系统会自动辨别

可以使用type(变量的名字),来查看变量的类型

标示符和关键字

<1>标示符

什么是标示符,看下图:

开发人员在程序中自定义的一些符号和名称

标示符是自己定义的,如变量名 、函数名等

<2>标示符的规则

标示符由字母、下划线和数字组成,且数字不能开头

思考:下面的标示符哪些是正确的,哪些不正确为什么

fromNo12from#12

my_Boolean

my-Boolean

Obj2

2ndObj

myInt

test1

Mike2jack

My_tExt

_test

test!32haha(da)tt

int

jack_rose

jack&rose

GUI

G.U.I

python中的标识符是区分大小写的

<3>命名规则

见名知意

起一个有意义的名字,尽量做到看一眼就知道是什么意思(提高代码可 读性) 比如: 名字 就定义为 name , 定义学生 用 student

驼峰命名法

小驼峰式命名法(lower camel case): 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog

大驼峰式命名法(upper camel case): 每一个单字的首字母都采用大写字母,例如:FirstName、LastName

不过在程序员中还有一种命名法比较流行,就是用下划线“_”来连接所有的单词,比如send_buf

<4>关键字

什么是关键字

python一些具有特殊功能的标示符,这就是所谓的关键字

关键字,是python已经使用的了,所以不允许开发者自己定义和关键字相同的名字的标示符

查看关键字:

and as assert break class continue def del

elif else except exec finally for from global

if in import is lambda not or pass

print raise return try while with yield

可以通过以下命令进行查看当前系统中python的关键字

关键字的学习以及使用,咱们会在后面的课程中依依进行学习

输出

1. 普通的输出

生活中的“输出

软件中的“输出”

python中变量的输出

#打印提示

print('hello world')print('给我的卡---印度语,你好的意思')

2. 格式化输出

<1>格式化操作的目的

比如有以下代码:

pirnt("我今年10岁")

pirnt("我今年11岁")

pirnt("我今年12岁")

...

想一想:

在输出年龄的时候,用了多次"我今年xx岁",能否简化一下程序呢???

答:

字符串格式化

<2>什么是格式化

看如下代码:

age = 10

print("我今年%d岁"%age)

age += 1

print("我今年%d岁"%age)

age += 1

print("我今年%d岁"%age)

在程序中,看到了%这样的操作符,这就是Python中格式化输出。

age = 18name= "xiaohua"

print("我的姓名是%s,年龄是%d"%(name,age))

<3>常用的格式符号

下面是完整的,它可以与%符号使用列表:

格式符号转换

%c

字符

%s

通过str() 字符串转换来格式化

%i

有符号十进制整数

%d

有符号十进制整数

%u

无符号十进制整数

%o

八进制整数

%x

十六进制整数(小写字母)

%X

十六进制整数(大写字母)

%e

索引符号(小写'e')

%E

索引符号(大写“E”)

%f

浮点实数

%g

%f和%e 的简写

%G

%f和%E的简写

3. 换行输出

在输出的时候,如果有\n那么,此时\n后的内容会在另外一行显示

print("1234567890-------") # 会在一行显示

print("1234567890\n-------") # 一行显示1234567890,另外一行显示-------

4. 练一练

编写代码完成以下名片的显示

==================================

姓名: dongGe

QQ:xxxxxxx

手机号:131xxxxxx

公司地址:北京市xxxx

==================================

输入

1. python2版本中

咱们在银行ATM机器前取钱时,肯定需要输入密码,对不?

那么怎样才能让程序知道咱们刚刚输入的是什么呢??

大家应该知道了,如果要完成ATM机取钱这件事情,需要先从键盘中输入一个数据,然后用一个变量来保存,是不是很好理解啊

1.1 raw_input()

在Python中,获取键盘输入的数据的方法是采用 raw_input 函数(至于什么是函数,咱们以后的章节中讲解),那么这个 raw_input 怎么用呢?

看如下示例:

password = raw_input("请输入密码:")

print '您刚刚输入的密码是:', password

注意:

raw_input()的小括号中放入的是,提示信息,用来在获取数据之前给用户的一个简单提示

raw_input()在从键盘获取了数据以后,会存放到等号右边的变量中

raw_input()会把用户输入的任何值都作为字符串来对待

1.2 input()

input()函数与raw_input()类似,但其接受的输入必须是表达式。

>>> a =input()123

>>>a123

>>>type(a)

>>> a =input()

abc

Traceback (most recent call last):

File"", line 1, in File"", line 1, in NameError: name'abc' is notdefined>>> a =input()"abc"

>>>a'abc'

>>>type(a)

>>> a =input()1+3

>>>a4

>>> a =input()"abc"+"def"

>>>a'abcdef'

>>> value = 100

>>> a =input()

value>>>a100

View Code

input()接受表达式输入,并把表达式的结果赋值给等号左边的变量

2. python3版本中

没有raw_input()函数,只有input()

并且 python3中的input与python2中的raw_input()功能一样

运算符

python支持以下几种运算符

算术运算符

下面以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

>>> 9/2.0

4.5

>>> 9//2.0

4.0

赋值运算符

运算符描述实例

=

赋值运算符

把=号右边的结果给左边的变量 num=1+2*3 结果num的值为7

>>> a, b = 1, 2

>>> a

1

>>> b

2

复合赋值运算符

运算符描述实例

+=

加法赋值运算符

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

常用的数据类型转换

函数说明

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 )

将一个整数转换为一个八进制字符串

举例

a = '100' # 此时a的类型是一个字符串,里面存放了100这3个字符

b = int(a) # 此时b的类型是整型,里面存放的是数字100

print("a=%d"%b)

判断语句介绍

<1>生活中的判断场景

火车站安检

上网吧

<2>开发中的判断场景

密码判断

重要日期判断

if今天是周六或者周日:

约妹子if今天是情人节:

买玫瑰if今天发工资:

先还信用卡的钱if有剩余:

又可以happy了,O(∩_∩)O哈哈~

else:

噢,no。。。还的等30天

View Code

小总结:

如果某些条件满足,才能做某件事情,而不满足时不允许做,这就是所谓的判断

不仅生活中有,在软件开发中“判断”功能也经常会用到

if判断语句

<1>if判断语句介绍

if语句是用来进行判断的,其使用格式如下:

if 要判断的条件:

条件成立时,要做的事情

demo1:

age = 30

print "------if判断开始------"

if age>=18:

print "我已经成年了"

print "------if判断结束------"

运行结果:

------if判断开始------

我已经成年了

------if判断结束------

demo2:

age = 16

print "------if判断开始------"

if age>=18:

print "我已经成年了"

print "------if判断结束------"

运行结果:

------if判断开始------

------if判断结束------

小总结:

以上2个demo仅仅是age变量的值不一样,结果却不同;能够看得出if判断语句的作用:就是当满足一定条件时才会执行那块代码,否则就不执行那块代码

注意:

代码的缩进为一个tab键,或者4个空格

<2>练一练

要求:从键盘获取自己的年龄,判断是否大于或者等于18岁,如果满足就输出“哥,已成年,网吧可以去了”

使用input从键盘中获取数据,并且存入到一个变量中

使用if语句,来判断 age>=18是否成立

<3>想一想

判断age大于或者等于18岁,使用的是 >=,还有哪些呢?

<1> 比较(即关系)运算符

python中的比较运算符如下表

运算符描述示例

==

检查两个操作数的值是否相等,如果是则条件变为真。

如a=3,b=3则(a == b) 为 true.

!=

检查两个操作数的值是否相等,如果值不相等,则条件变为真。

如a=1,b=3则(a != b) 为 true.

<>

检查两个操作数的值是否相等,如果值不相等,则条件变为真。

如a=1,b=3则(a <> b) 为 true。这个类似于 != 运算符

>

检查左操作数的值是否大于右操作数的值,如果是,则条件成立。

如a=7,b=3则(a > b) 为 true.

<

检查左操作数的值是否小于右操作数的值,如果是,则条件成立。

如a=7,b=3则(a < b) 为 false.

>=

检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立。

如a=3,b=3则(a >= b) 为 true.

<=

检查左操作数的值是否小于或等于右操作数的值,如果是,则条件成立。

如a=3,b=3则(a <= b) 为 true.

<2> 逻辑运算符

运算符逻辑表达式描述实例

and

x and y

布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。

(a and b) 返回 20。

or

x or y

布尔"或" - 如果 x 是 True,它返回 True,否则它返回 y 的计算值。

(a or b) 返回 10。

not

not x

布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。

not(a and b) 返回 False

作业

必做题:

1. 说出变量名字,可以由哪些字符组成

2. 写出变量命名时的规则

3. 说出什么是驼峰法(大驼峰、小驼峰)

4. 编写程序,完成以下要求:

提示用户进行输入数据

获取用户的数据数据(需要获取2个)

对获取的两个数字进行求和运行,并输出相应的结果

5. 编写程序,完成以下要求:

提示用户进行输入数据

获取用户的数据数据(需要获取2个)

对获取的两个数字进行减法运行,并输出相应的结果

6. 编写程序,完成以下信息的显示:

==================================

= 欢迎进入到身份认证系统V1.0

= 1. 登录

= 2. 退出

= 3. 认证

= 4. 修改密码

==================================

7. 编写程序,从键盘获取一个人的信息,然后按照下面格式显示

==================================

姓名: dongGe

QQ:xxxxxxx

手机号:131xxxxxx

公司地址:北京市xxxx

==================================

8. 编写程序,从键盘获取用户名和密码,然后判断,如果正确就输出以下信息

亲爱的xxx,欢迎登陆 爱学习管理系统

附录-推荐的python电子书

python学习路线图

优先级

入门:python核心编程

提高:python cookbook

其他

更多推荐

python输入一个人的名字_1 认识python和基础知识