Day 01 :数据类型初识及循环

1. 变量

变量:将程序中运算的中间结果暂时存到内存中,以便后续程序调用。

规则:

1、变量是由数字字母下划线任意组合;

2、变量不能是数字开头;

3、变量不能是python中的关键字;

4、变量要具有可描述性;

5、变量不能使用中文;

书写格式:

驼峰体

AgeOfOldboy = 56
NumberOfStudents = 80

下划线

age_of_oldboy = 56

number_of_students = 80

2. 常量

常量:一直不变的量 ,例如:π;约定俗成全部代谢的变量为常量。放在文件最上面。

3. 注释

注释:

单行注释:#

多行注释:''' '''      """  """

4. 数据类型

什么是数据类型?

  我们人类可以很容易的分清数字与字符的区别,但是计算机并不能,它是分不清1和‘汉’的区别的,因此,在每个编程语言里都会有数据类型,其实就是对常用的各种数据类型进行了明确的划分,你想让计算机进行数值运算,你就传数字给它,你想让他处理文字,就传字符串类型给他。Python中常用的数据类型有多种,例如: 数字、字符串、布尔类型等等。

4.1 整数类型(int)

int(整型)

在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647

在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807

long(长整型)

跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。

注意:在Python3里不再有long类型了,全都是int。

使用type()可以查看数据类型:

1 >>> a=6
2 >>> print(type(a))
3 <class 'int'>
4 >>>

4.2 字符串类型(str)

python中用引号引起来的叫做字符串,用处是可以存放简单少量的数据,引号可以是单引号、双引号、三引号。

1 >>> a='你好'
2 >>> print(type(a))
3 <class 'str'>
4 >>>

单引号与双引号没有任何区别,如果字符串中存在单引号,可以用双引号,如果字符串中有换行的数据,可以用三引号。

复制代码
1 >>> a='你好'
2 >>> b="I'm 18 years old"
3 >>> c='''
4 ... 你好
5 ... 北京
6 ... '''
7 >>>
复制代码

字符串拼接:字符串只能进行"相加"和"相乘"运算。

复制代码
 1 >>> a='你好'
 2 >>> b="I'm 18 years old"
 3 >>> c='''
 4 ... 你好
 5 ... 北京
 6 ... '''
 7 >>> a='你好'
 8 >>> b='北京'
 9 >>> print(a+b)
10 你好北京
11 >>> print(a*10)
12 你好你好你好你好你好你好你好你好你好你好
13 >>>
复制代码

注意,字符串的拼接只能是双方都是字符串,不能跟数字或其它类型拼接。

4.3  布尔值(True,False)

布尔类型很简单,就两个值 ,一个True(真),一个False(假),主要用记逻辑判断。

复制代码
1 >>> a=0
2 >>> b=1
3 >>> print(a>b)
4 False
5 >>> print(a<b)
6 True
7 >>>
复制代码

 5. 用户交互

5.1 input()

将所有输入默认为字符串处理,并返回字符串类型 

1 username=input('请输入您的姓名:')
2 sex=input('请输入您的性别:')
3 print('我的名字是:'+username,'我的性别是:'+sex)
4 #打印username、sex数据类型
5 print('username数据类型',type(username),'sex数据类型',type(sex))

 5.2 格式化输出

格式化输出  %占位符   s代表字符串   d代表数字
str 转换成 int 前提:str全部由数字组成
例1:
复制代码
 1 name=input('请输入您的名字:')
 2 age=input('请输入您的年龄:')
 3 job=input('请输入您的工作:')
 4 hobby=input('请输入您的爱好:')
 5 
 6 msg='''-------------- info of %s -------------
 7 Name  :%s
 8 Age   :%d
 9 Job   :%s
10 Hobbie:%s
11 --------------    end    -------------
12 '''%(name,name,int(age),job,hobby)#括号括起来的相当于元组
13 print(msg)
复制代码

 例2:

复制代码
 1 name=input('请输入您的名字:')
 2 age=input('请输入您的年龄:')
 3 job=input('请输入您的工作:')
 4 hobby=input('请输入您的爱好:')
 5 dic={'name':name,'age':int(age),'job':job,'hobby':hobby}#括号括起来的相当于字典
 6 msg='''-------------- info of %(name)s -------------
 7 Name  :%(name)s
 8 Age   :%(age)d
 9 Job   :%(job)s
10 Hobbie:%(hobby)s
11 --------------    end    -------------
12 '''%dic
13 print(msg)
复制代码

例3:

1 #因为用到格式化输出,就会把里面的所有%当成占位符,所以想显示单纯的百分号,需要前面在加一个百分号j进行转义
2 msg='班级总人数为%s,女同学站班级总人数的的%%35'%('100')
3 print(msg)

6. 基本运算符

运算符:计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算。

6.1 算数运算

以下假设变量:a=10,b=20

6.2 比较运算

以下假设变量:a=10,b=20

6.3 赋值运算

以下假设变量:a=10,b=20

6.4 逻辑运算

优先级:在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为( )>not>and>or,同一优先级从左往右计算。

备注:

1、前后都是数字 ,x or y if x is True,return x,else return y ,与and相反
2、int 转换 bool 非0为True 0为False

1 print(3 or 4)#结果3
2 print(2 or 4)#结果2
3 print(0 or 4)#结果4
4 print(3 and 5)#结果5
5 print(1>2 or 3 and 4>5)#结果False

7. if语句

7.1 if语句

     可以实现条件执行,如果条件为真,那么后面的语句块就会被执行。如果条件为假,语句块就不会执行。

1 a=int(input('猜数字:'))
2 if a==6:
3     print('恭喜你猜对了')

7.2 else子句

     else子句可以为if语句增加一种选择,如果if后的语句块没有被执行,那么就会执行else中的语句块就会执行。

1 a=int(input('猜数字:'))
2 if a==6:
3     print('恭喜你猜对了')
4 else:
5     print('猜错了')

7.3 elif子句

     如果需要检查多个条件,就可以使用elif。

复制代码
1 a=int(input('猜数字:'))
2 if a==6:
3     print('恭喜你猜对了第一个数字')
4 elif a==7:
5     print('恭喜你猜对了第二个数字')
6 elif a==8:
7     print('恭喜你猜对了第三个数字')
8 else:
9     print('三个数字全部猜错了')
复制代码

7.4 嵌套代码块

     if语句里面可以嵌套使用if语句。

复制代码
 1 a=int(input('猜数字:'))
 2 if a==6:
 3     print('恭喜你猜对了第一个数字')
 4     a = int(input('猜数字:'))
 5     if a==7:
 6         print('恭喜你猜对了第二个数字')
 7     else:
 8         print('第二个数字猜错了')
 9 else:
10     print('第一个数字猜错了')
复制代码

8. while循环

8.1 while循环

     当while后面的条件为真时,while里面的语句块会循环执行。

1 #打印1到100
2 count=1
3 while count<101:
4     print(count)
5     count+=1
复制代码
1 #打印1加到100的和
2 count=1
3 sum=0
4 while count<101:
5     sum=sum+count
6     count+=1
7 print(sum)
复制代码

8.2 定义标志位

复制代码
1 #定义标志位
2 count=1
3 flag=True
4 while flag:
5     print(count)
6     count+=1
7     if count==101:
8         flag=False
复制代码

8.3 break与continue关键字

break:结束循环;

continue:跳出本次循环,进行下一次循环。

复制代码
1 #continue
2 count=1
3 while count<=5:
4     if count==4:
5         count += 1
6         continue
7     print(count)
8     count += 1
复制代码
复制代码
1 #break
2 count=1
3 while count<=5:
4     if count==4:
5         count += 1
6         break
7     print(count)
8     count += 1
复制代码

8.4 else子句

如果while循环被break打断,不会执行else,否则执行else。

复制代码
1 count=1
2 while count<5:
3     print(count)
4     if count==3:break
5     count+=1
6 else:
7     print('循环正常完毕')#因为被break打断,所以else语句块不执行
复制代码
1 count=1
2 while count<5:
3     print(count)
4     count+=1
5 else:
6     print('循环正常完毕')#因为没有被break打断,所以else语句块执行

 9. for循环

9.1 for循环

while语句非常灵活,它可以用来在任何条件为真的情况下重复执行一个代码块。一般情况下这样就够用了,但是有些情况下,要为集合(序列和其他可迭代对象)的每个元素都执行一个代码块,就需要使用到for循环。

复制代码
1 #循环链表
2 li=[1,2,3,4]
3 for i in li:
4     print(i)
5 #循环字符串
6 s='hello'
7 for i in s:
8     print(i)
复制代码

9.2 else子句

和while的用法一致,如果for循环被break打断,不会执行else,否则执行else。

 

复制代码
1 l1=[1,2,3,4,5]
2 for i in l1:
3     print(i)
4     if i==3:break
5     i+=1
6 else:
7     print('循环正常完毕')#因为被break打断,所以else语句块不执行
复制代码
1 l1=[1,2,3,4,5]
2 for i in l1:
3     print(i)
4     i += 1
5 else:
6     print('循环正常完毕')#因为没有被break打断,所以else语句块执行

 

posted @ 2018-05-17 17:04  牛小白  阅读(201)  评论(0编辑  收藏  举报