day2-python基础


一、认识Python

1.常用的快捷键

  • control+/注释的快捷键,添加或取消注释,删除代码可以将代码注释,方便以后使用
  • control+s保存
  • control+b编译(在相应软件中有用)
  • control+r执行或编译加执行
  • control+c复制/拷贝
  • control+v粘贴
  • control+x剪切
  • control+z撤销
  • control+shift+z/control+y反撤销
  • control+f查找
  • control+a全选
  • control+n新建
  • shift可以选择部分内容(和鼠标配合,选择开始和结束中间的部分)
  • control可以让多个位置出现光标(和鼠标配合)

附:不是只在Python里有效


二、Python的基本用法

1.注释

  • 意义:写在代码中不参与编译执行的部分

  • 作用:对代码进行注释说明,方便程序员更好的阅读

  • 分类:
    单行注释:在文本内容前面加#
    多行注释:
    a.每一行前都加一个#号
    # 我是注释1
    # 我是注释2
    b.将注释放在三个单引号/三个双引号中(推荐使用双引号)
    '''
    我是多行注释1
    我是多行注释2
    '''

2.标识符

  • 作用:标识符是用来命名的(比如变量名,函数名,类名)

  • 要求:
    a.由字母数字和下划线组成,并且数字不能开头(Python2.x规范)
    b.在Unicode编码中,除了ASCII码表中的字母、数字、下划线以外不能作为标识符的一部分,其他都可以,数字不能开头(Python3.x规范)

注意: 在实际开发中,现在还是推荐使用Python2.x规范

  • 测试代码:
abc = 100
abc123 = 100
abc_123 = 100
_123 = 100
# 1abc = 100 报错
你好 = 100

3.语句

C/JAVA语法,每条语句结束必须加分好

python中一条语句结束可以加分号也可以不加;如果一行显示多条语句,那么每条语句之间必须加分号

  • 测试代码:
print('abc');print('ABC')
  • 测试结果:


    语句案例测试结果

4.行和缩进

同样等级的代码对应的缩进必须一致,只有在需要产生代码块的时候才需要加缩进,函数的声明和类的声明的前后需要有两个空行

5.多行显示问题

  • a. 在需要换行的地方加反斜杠,然后再换行(反斜杠需要破坏数据本身)
sum1 = 1312321323+123213213123+1232142321+\
       213213123213+2321321312+21321321321+\
       3213213+12321321321+123213213
  • b. 如果是列、字典、元祖和集合的值,可以直接换行
name = [1321,13213,2324343,535353,
        3434343,2432423432,3543532532,
        34532532532,32532532532,3532535325,
        35325325,2353253253]

6.常见的数据类型及其自变量

分类:

中文 英文
整型 int
浮点型 float
布尔 bool
字符串 str
列表 list
字典 dict
元祖 tupl
集合 set

介绍:

  • 整型:相当于数学中的整型,例如:100,-12,+30

  • 浮点型:带小数点的数,例如:12.12,0.0,-12.53

  • 布尔型:只有两个值,分别是True(真)和False(假)

  • 字符串:用单引号或者双引号括起来的数据,例如:'abc','100','abc100`~'

7.关键字

  • 意义:在python中有特殊功能和特殊意义的一些标识符(单词)

  • 打印关键字代码:

import keyword  #导入keyword模块
print(keyword.kwlist)  #打印所又的关键字
  • 结果:


    123.JPG

三、数字类型

1.四种数字类型

中文 英文
整型 int
浮点型 float
布尔 bool
复数 complex

2.数字类型简介

  • a.整型(int):包含python所有整型,Python3.x整型只有int类型这一种,但是Python2.x除了int还有long

例子:

100
123
-78
+782
  • b.浮点型(float):包含了python中所有小数
    注意:浮点型支持科学计数法

例子:

12.89
-123.9098
+237.890
print(12e2)     #12*10^2   1200.0
print(12e-3)    #12*10^(-3)   0.012
  • c.布尔(bool):布尔类型的值只有两个,分别是True(对应1)和False(对应0)
    注意:布尔值的首字母是大写的

例子:

True
False
print(False+1)     #1
print(True+1)      #2
  • d.复数(complex):由实部和虚部组成的数字

例子:

10+10j

3.获取数字类型

  • 方法:在Python中采用type(数值/变量),来获取括号中值的类型

  • 例子:

print(type(10j))
print(type(100))
print(type(True))
print(type(2e2))
  • 结果:
    获取数据类型结果

4.转换数字类型

  • 方法:在Python中采用类型名(),将其他类型的数据,转化成当前类型
  • 例子:
print(int(12.5))
print(bool(10))
print(float(100))
print(complex(100))
# print(int(10j))     注意:复数不能转换成整型和浮点型
  • 结果:


    转换数据类型结果

四、变量

1.变量

作用:程序在内存中存储数据的容器

2.声明变量

  • 概念:在内存中开辟空间存储数据

  • 方法:
    C/Java声明变量:类型 变量名 = 初值;
    Python声明变量:变量名 = 初值

  • 说明:
    a.变量名:程序员自己命名,要求是标识符,并且不是关键字;
    所有的字母必须是小写的,如果变量名由多个单词组成,多个单词之间用下划线隔开;
    看见变量名,要知道这个变量大概存的是什么数据
    b.=:赋值符号,将等号右边的值赋给左边的变量
    c.初值:有值的表达式(具体的自变量或者是其他已经声明过的变量)

注意:变量只有在赋完值后才能使用(只能声明后才能使用)

# 将变量student_name中的值,赋给new_name
new_name = student_name
# print(new_name2)     NameError: name 'new_name2' is not defined
  • 测试代码:
# 声明一个变量number并且赋值为100
number = 100
print(number)     
# True = 12.5     SyntaxError: can't assign to keyword
# 1abc = True       SyntaxError: invalid syntax
# 声明一个变量student_name,赋值为'小明'
student_name = '小明'
print(student_name)
# 注意:虽然int、float、bool等不是关键字,但在需要命名的时候,最好不用他们来命名,否则会改变它们原来的功能
# int = 100
# print(int)
# int(89.9)
  • 测试结果:


    打印变量测试结果
  • 附:声明完的变量可以重新赋值,重新赋值后,新的值会覆盖原来的值
student_name = '小花'
print(student_name)
# 注意:在Python中,同一个变量可以存储不同类型的值
student_name = 100
print(student_name)
重新赋值结果图

3.多变量声明

  • 方法:
    变量名1=变量名2=变量名3... = 初值

  • 测试代码:

a = b = c = 123
print(a,b,c)     #print同时打印多个数据,多个数据之间用逗号隔开
  • 测试结果:


    多变量声明测试结果.JPG

4.声明变量区别

  • C/Java声明变量:类型 变量名 = 初值
    int a = 10;
    a = 100;
    开辟4个字节的内存空间a,将10放进去,重新赋值的时候,修改空间内的值
  • Python声明变量:变量名 = 初值
    a = 10
    a = 100
    在内存中开辟空间把10存起来,用a将内存空间命名,重新赋值的时候,再开辟空间把100存起来,重新用a命名
  • 附:不同的类型,在内存中存储的时候所占的内存不一样

五、运算符

1.运算符类型

  • 分类:
    • 数学运算符
    • 比较运算符,
    • 逻辑运算符,
    • 赋值运算符,
    • 位运算

2.数学运算符

  • 分类:
符号 意义
+ 求和
- 求差
* 求积
/ 求商
% 求余
// 整除
** 幂运算
  • 测试代码:
#   a.+:求和,和数学中的功能一模一样
print(100 + 10)
print(-100 + 10)
print(12.5 + 3.14)
#   b.-:求差,和数学中的功能一模一样
result = 99-23
print(result)     #将99-23的结果赋给变量result
#   c.*:求乘积,和数学中的功能一模一样
print(1.23 * 3)
print(-1.23 * 2)
print(-1.23 * -2)
#   d./:求商,和数学中的功能一模一样
#   注意:和C语言中的/不一样
print(5/2)
print(12.5/5)
#   e.%取余:求余数
#   注意:Python中小数和整数都可以求余数
print(5%2)
print(6%2)
print(5.5%0.3)
#   f.//整除:,求商,结果只取整整数部分
print(5//2)
print(6.4//2)
#   g.**幂运算:求幂
#   x ** y :求x的y次方
#   技巧:可以通过设置y的值来实现开方
print(2**3)
print(100*0.5)
  • 测试结果:


    数学运算符测试代码

3.比较运算符

  • 分类:
符号 意义
> 大于
< 小于
== 等于
!= 不等于
>= 大于等于
<= 小于等于
  • 附:所有比较运算的结果是布尔值:True/False

  • 测试代码:

print(100 > 10)
print(100 < 10)
print(12.5 == 12.5)
print(10 == 12.5)
number = 10
print(number == 10)     #False
print(number)
print(number != 100)    #True
print(100 >= 100)       #True
print(10<11)            #True
print(10<=10)           #True
  • 测试结果:


    比较运算符测试结果

4.逻辑运算符

  • 分类:
符号 意义
and
or
not
  • 介绍:
    a.值1 and 值2:两个都为True,结果才是True,否则都是False,相当于生活中的并且(要求多个条件同时满足时,使用and连接)
    b.值1 and 值2:两个都为False,结果才是False,否则都是True,相当于生活中的或者(要求多个条件有一个满足时,使用or连接)
    c.not 值:值取反(True -> False;False -> True),相当于生活中的不是(否定某个条件的时候使用not)

  • 测试代码:

a.值1 and 值2:两个都为True,结果才是True,否则都是False,相当于生活中的并且
print('=====================================')
print(True and True)     #True
print(True and False)    #False
print(False and True)    #False
print(False and False)   #False
# 练习:获得奖学金的条件:要求绩点在3.5以上,并且操评分在90分
grade = 2.8
score = 95
# 条件一:
grade > 3.5
# 条件二:
score > 90
# 两个条件同时满足
print(grade > 3.5 and score > 90)
#   b.值1 and 值2:两个都为False,结果才是False,否则都是True,相当于生活中的或者
print('=====================================')
print(True or True)     #True
print(True or False)    #True
print(False or True)    #True
print(False or False)   #False
# 练习:是否穿毛衣出门:温度低于20度,或者风度高于5级
temperture = 18
wind_speed = 4
# 条件一:
condition1 = temperture < 20    #condition1 = True
# 条件二;
condition2 = wind_speed > 5     #condition2 = False
print(condition1 or condition2)
#   c.not 值:值取反(True -> False;False -> True),相当于生活中的不是
age = 18
# 条件:年龄不大于18
print(age <= 18)
print(not age > 18)
  • 测试结果:


    逻辑运算符测试结果
  • 附:Python中and和or会有短路现象
    • and的短路现象:值1 and 值2 -->一旦确定值1的值是False,就不会执行判断值2
    • or的短路现象:值1 or 值2 -->一旦确定值1的值是True,就不会执行判断值2

5.赋值运算符

  • 分类:
符号 意义
= 等于
+= 求和等于
-= 求差等于
*= 求积等于
/= 求商等于
%= 求余等于
//= 整除等于
**= 幂运算等于
  • 附:赋值运算符的左边必须是变量,在赋值的时候是先算赋值符号右边的结果,然后再将结果赋给左边的变量

测试代码:

# 100 = 100     SyntaxError: can't assign to literal
result = 10 > 100
print(result)
#   a.=:单纯的将右边的值赋给左边
num1 = 100
#   b.+=,-=,*=,/=,%=,//=,**=:要求左边的变量本身必须是有值的
#   变量1 += 值 -->变量1 = 变量1 + 值
num2 = 100
num2 += 10
print(num2)
num3 = 4
num3 *= 2
print(num3)

*测试结果:


赋值运算符测试代码

6.运算符的优先级

  • 优先级:数学运算符((幂运算>乘、除、取整、取余>加、减)>比较运算符>逻辑运算符>赋值运算符

  • 计算方法:先计算优先级高的,优先级相等,从左往右依次运算,如果有括号优先计算括号里的

  • 测试代码:

print((100 > 200) - 50 * 3)
  • 测试结果:


    捕获.JPG

作业

1.写代码获取数字1234中的十位上和百位上的数字

解答:

number = 1234
print(number//10%10)
number = 1234
print(number//100%10)
捕获.JPG

2.如果变量n的值是6784, 以下表达式的结果是多少?

  1. n / 1000 % 100
  2. n % 1000 / 100
  3. n // 100 % 10
  4. n // 10 % 100 // 10
  • 解答:
    1. n/1000%100
      =6.784%100
      =6.784
    2. n%1000/100
      =784/100
      =7.84
    3. n//100%10
      =67%10
      =7
    4. n//10%100//10
      =678%100//10
      =78//10
      =7
      *代码验证:
print(6784 / 1000 % 100)
print(6784 % 1000 / 100)
print(6784 // 100 % 10)
print(6784 // 10 % 100 // 10)
题二解答

3.表达式 10 / 4 + 23 // 4 * 2 - 30 的结果是多少?

  • 解答:
    10/4+23//42-30
    =2.5+5
    2-30
    =-17.5
  • 代码验证:
print(10 / 4 + 23 // 4 * 2 - 30)
题三解答

4.写出下面每一行中n3的结果:n1 = 4; n2 = 5

  1. n3 = n1 >n2
  2. n3 = n1
  3. n3 = n1==4
  4. n3 = n1!=4
  5. n3 = n1 == 1+3
  • 解答:
    1. n3=n1>n2
      ->n3=4>5
      ->n3=Flalse
    2. n3=n1 ->n3=4<5
      ->n3=True
    3. n3=n1==4
      ->n3=True
    4. n3 = n1!=4
      ->n3=4!=4
      ->n3=Flalse
    5. n3=n1==1+3
      ->n3=n1==4
      ->n3=True
  • 代码验证:
n1 = 4
n2 = 5
n3 = n1 > n2
n4= n1 < n2
n5 = n1 == 4
n6 = n1 != 4
n7 = n1 == 1+3
print(n3,n4,n5,n6,n7)
image.png

5.写出以下代码执行完成后,num的结果

num = 10
num /= 2
num += 10 * 10 / 4 + 23*2

  • 解答:
num = 10
num /= 2
num += 10 * 10 / 4 + 23*2
捕获.JPG

6.下面定义变量正确的是()

a. a = b = c = 10
b. a, c = 10
c. in = 20
d. num = 10; t = 20

  • 解答:
    AD
    B:'int' object is not iterable
    C:invalid syntax

你可能感兴趣的:(day2-python基础)