栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python1

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python1

文章目录
  • 1.输出函数
    • 1.1 print函数
    • 1.2 open函数
  • 2. 变量
  • 3.Python常见数据类型
    • 3.1 整数
    • 3.2浮点数
    • 3.3布尔
  • 4.注释
  • 5.数据类型转换
  • 6.输入函数
    • 6.1 输入函数应用:计算两数之和
  • 7.运算符
    • 7.1 算术运算符
      • 7.1.1 标准算术运算符
      • 7.1.2 取余运算符
      • 7.1.3 幂运算符
    • 7.2 赋值运算符
      • 7.2.1 支持链式赋值
      • 7.2.2 支持系列解包赋值
    • 7.3 比较运算符
    • 7.4 布尔运算符
    • 7.5 位运算符
    • 7.6 运算符的优先级
    • 7.7 对象的布尔值
  • 8.分支结构
    • 8.1 单分支结构
    • 8.2 双分支结构
    • 8.3 多分支结构
    • 8.4 嵌套if-else结构
    • 8.5 条件表达式
  • 9.pass 语句
  • 10.循环体
    • 10.1 内置函数range
    • 10.2 while循环
    • 10.3 for_in循环
    • 10.4 continue语句
    • 10.5 else语句配合for循环和while循环使用
  • 11.列表
    • 11.1 列表的创建
    • 11.2 列表的特点
    • 11.3 获取制定元素的索引
    • 11.4 列表的查询操作
      • 11.4.1 获取单个元素
      • 11.4.2获取多个元素
    • 11.5 列表元素的增加操作
    • 11.6 列表元素的删除操作
    • 11.7 列表元素的修改操作
    • 11.8 列表元素的排序操作
    • 11.9 列表生成式

1.输出函数 1.1 print函数

print() 括号中可以是整型数 浮点数 字符串 表达式

#输出数字
print(520)
print(98.5)

#输出字符串
print('helloworld')
print('helloworld')

#含有运算符的表达式
print(3+1)

#print函数是默认换行的,如果希望print函数不是换行输出,可以这样写
print('hello','world','Python')
1.2 open函数

open函数是将数据内容输出到文件上

fp = open('/tmp/pythonLearn/text.txt','a+') #如果文件不存在就创建,存在就在文件内容的后面继续追加
print('helloworld',file=fp)
fp.close()
2. 变量

变量由三部分组成

标识:内置函数id(obj)

类型:内置函数type(obj)

值:使用print打印

name = '99cloud'
print(name) #99cloud
print(id(name)) #140616021676784 
print(type(name)) #
3.Python常见数据类型 3.1 整数

二进制 0b开头

八进制 0o开头

十六进制 0x开头

print('二进制',0b10101111) #175
print('八进制',0o176) #126
print('十六进制',0x1EAF) #7855
3.2浮点数

浮点数存储不精确:可能会出现小数位数不确定的情况

解决方案:导入模块decimal

from decimal import Decimal

print(Decimal('1.1')+Decimal('2.2'))  #运行结果3.3
3.3布尔

布尔值可以转化为整数

True == 1

False == 0

## 3.4 字符串

单引号 双引号 三引号都可以定义字符串

```python
str1='人生苦短,我用Python'
str2="人生苦短,我用Python"
str3="""
人生苦短,我用Python
"""
str4='''
人生苦短,我用Python
'''
print(str1,type(str1))
print(str2,type(str2))
print(str3,type(str3))
print(str4,type(str4))
4.注释

单行注释#

多行注释三个单引号 三个多引号

#单行注释

'''
这是使用三个单引号的多行注释
'''

"""
这是使用三个双引号的多行注释
"""
5.数据类型转换
  1. str()将数据转换为str类型

  2. int()将数据类型转换为int类型

    注意事项:

    • 文字和小数类字符串,无法转换为整数
    • 浮点数抹零取整
  3. float()将数据类型转换为float类型

    注意事项:

    • 文字无法转换为浮点数
    • 整数转化为浮点数,末尾为.0
6.输入函数

input()

input()函数结果为用户输入的内容,类型为str

6.1 输入函数应用:计算两数之和
#从键盘录入两个整数,计算两数之和
a=input('请输入一个加数:')
b=input('请输入另一个加数:')
print('结果为:',int(a)+int(b))
7.运算符 7.1 算术运算符 7.1.1 标准算术运算符

+ - * /

#除法运算
print(11/2) #5.5
#整除运算
print(11//2) #5
#整除运算是向下取整
print(9/-4)#-3
7.1.2 取余运算符

%

7.1.3 幂运算符

**

#2的2次方
print(2**2)#4
#2的3次方
print(2**3)# 8
7.2 赋值运算符 7.2.1 支持链式赋值

链式赋值的变量,id相等

#链式赋值
a=b=c=20

print(a,id(a))#20
print(b,id(b))#20
print(c,id(c))#20
7.2.2 支持系列解包赋值
a,b,c=20,30,40

print(a)#20
print(b)#30
print(c)#40

print(a,b,c)

这样赋值可以进行数值交换

x,y=10,20

x,y=y,x
print(x,y) #20,10
7.3 比较运算符

== 对象value的比较

is is not 对象id的比较

a = 10
b = 10
print(a==b) #true
print(a is b) #true
lst1=[11,22,33]
lst2=[11,22,33]

print(lst1==lst2) #True
print(lst1 is lst2) #False
7.4 布尔运算符

and 当两个运算结果都为True时,结果为True

or 只要有一个为True,结果就为True

not 与运算数相反的结果

in 存在

not in 不存在

# not in
s='helloworld'
print('w' in s) #True
print('a' not in s) #True
7.5 位运算符

位与&:对应数位都是1,结果为1

位或|:对应数位都是0,结果为0

左移运算符<<:高位溢出舍弃,低位补0

右移运算符>>:低位溢出舍弃,高位补0

print(4&8) #按位与 0
print(4|8) #按位或 12

print(2<<1) #左移一位 4
print(4>>1) #右移一位 2
7.6 运算符的优先级

算术运算符 >> 位运算符 >> 比较运算符 >> 布尔运算符 >>赋值运算符

7.7 对象的布尔值

Python中一切皆对象,所有对象都有一个布尔值

数值0 None 空字符串 空列表 空元组 空字典 空集合的布尔值都为False

#----------以下结果均为False-----------

print(bool(0))
print(bool(0.0))
print(bool(None))
print(bool(''))
print(bool(""))
print(bool([])) #空列表
print(bool(list())) #空列表
print(bool(()))#空元组
print(bool(tuple())) #空元组
print(bool({})) #空字典
print(bool(dict())) #空字典
print(bool(dict())) #空字典
print(bool(set())) #空集合
8.分支结构 8.1 单分支结构

if

money = 1000
print('您的当前余额为:',money)
s = int(input('请输入取款金额'))

#判断余额是否足够
if money >= s:
    money -= s
    print('取款成功,剩余余额为:',money)
8.2 双分支结构

if else

number = 200
guess = int(input('请输入猜测的数字'))
if guess != number:
     print('数字不正确')
else:
    print('数字正确')
8.3 多分支结构

if elif else

number = int(input('请输入你的成绩:'))
if number > 100 or number < 0:
    print('输入成绩错误')
elif number >90 and number <=100:
    print('A')
elif number >80 and number <=90:
    print('B')
elif number >70 and number <=80:
    print('C')
elif number >60 and number <=70:
    print('D')
else:
    print('E')
8.4 嵌套if-else结构
#是否是会员
answer = input('是否是会员?输入(y or n)')
#购物金额
money = int(input('请输入购物金额'))
if answer == 'y':
    if money >= 2000:
        money *= 0.7
        print('折后价',money,'元')
    else :
        money *= 0.8
        print('折后价', money, '元')
else:
    print('非会员,不打折')
    print(money,'元')
8.5 条件表达式

x if 判断条件 else y 作用等同于Java中的三目运算符

num_a = int(input('请输入第一个整数'))
num_b = int(input('请输入第二个整数'))


print(str(num_a)+'大于等于'+str(num_b) if num_a >= num_b else str(num_a)+'小于'+str(num_b) )
9.pass 语句

什么都不做,只是一个占位符

10.循环体 10.1 内置函数range

作用:用于生成一个整数序列

range函数返回值是一个迭代器对象

优点:不管是range对象表示的整数序列有多长,所有range对象占用的内存空间都是相同的,因为仅仅需要存储start,stop和step。

创建range对象的三种方式:

  • range(stop):创建一个(0,stop)之间的整数序列,步长为1
  • range(start,stop):创建一个(start,stop)之间的整数序列,步长为1
  • range(start,stop,step):创建一个(start,stop)之间的整数序列,步长为step

in与not in判断整数序列中是否存在制定的整数

r =range(10)
print(r) # range(0, 10)
print(list(r)) #list用于查看range对象中的整数序列 
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
10.2 while循环

while 条件表达式:

​ 条件执行体(循环体)

a = 1
while a<10 :
    print(a)
    a += 1

练习:使用while循环计算1-100的偶数和

#总和
sum = 0
#数
num = 0
while num <=100:
    if num%2 == 0:
        sum += num
    num += 1
print(sum)
10.3 for_in循环

for 自定义的变量 in 可迭代的对象:

​ 循环体

for item in 'Python':
    print(item)
    
    
# range()产生一个整数序列,也是一个可迭代对象
for item in range(10):
    print(item)    
# 如果在循环体中不需要使用到自定义变量,可将自定义变量写为"_"
for _ in range(5):
    print('人生苦短,我用Java')
10.4 continue语句
# 要求输出1到50之间所有5的倍数
num = 0
while num < 50:
    num += 1
    if(num % 5 != 0):
        continue
    print(num)
for item in range(1,51):
    if item % 5 != 0:
        continue
    print(item)
10.5 else语句配合for循环和while循环使用

如果不执行break语句,就会执行和for、while同级的else

# for循环3次,如果密码都不正确,就会执行else
for item in range(3):
    pwd = input('请输入密码:')
    if pwd == '8888':
        print('密码正确')
        break
    else:
        print('密码不正确')
else:
    print('对不起,三次密码均不正确')
11.列表 11.1 列表的创建
#创建列表的第一种,使用[]
lst = ['hello','world',98]

#使用列表的第二种,使用内置函数list()

lst2 = list(['hello','world',98])

11.2 列表的特点
  • 列表元素按顺序有序排序
  • 索引映射唯一一个数据
  • 列表可以存储重复数据
  • 任意数据类型混存
  • 根据需要动态分配和回收内存
11.3 获取制定元素的索引

使用内置函数index(),参数为元素的名称

11.4 列表的查询操作 11.4.1 获取单个元素

lst[index] 根据索引进行查询

正向索引从0到N-1

逆向索引从-N到-1

11.4.2获取多个元素

列表名[start:stop:step]

  • step为正数,start默认为第一个元素,stop默认为最后一个元素
  • step为负数,start默认为最后一个元素,stop默认为第一个元素
#start = 1,stop = 6,step = 1
print(lst[1:6:1]) #执行结果 [20, 30, 40, 50, 60]

#step = 2
print(lst[1:6:2]) #执行结果 [20, 40, 60]
11.5 列表元素的增加操作

append() 在列表末尾添加一个元素

extend() 在列表末尾至少添加一个元素

insert()在列表的任意位置添加一个元素,第一个参数为索引,第二个参数为插入的元素

切片:在列表的任意位置添加至少一个元素

append和extend都可以在列表末尾添加一个新的列表,但是有所不同

Append

lst = [10,20,30]

lst2 = ['hello','world']

lst.append(lst2)

print(lst)


#执行结果
[10, 20, 30, ['hello', 'world']]

extend

lst = [10,20,30]

lst2 = ['hello','world']

lst.extend(lst2)

print(lst)


#执行结果
[10, 20, 30, 'hello', 'world']

insert

lst=[10,20,30]

lst.insert(1,'hello')

print(lst)

#程序执行结果 [10, 'hello', 20, 30]

切片

# 切片

lst = [10,20,30,40,50]

lst2 = ['hello','world']

lst[1:] = lst2

print(lst)


#执行结果 [10, 'hello', 'world']
11.6 列表元素的删除操作

remove() 一次删除一个元素;重复元素只删除第一个;元素不存在跑出ValueError

#列表remove删除操作

lst = [10,20,30,40]

lst.remove(10)

pop() 删除一个指定索引位置上的元素;指定索引不存在抛出IndexError;不指定索引,删除列表中最后一个元素

# 列表pop删除操作

lst = [10,20,30,40]

lst.pop(1)

print(lst)

#程序执行结果[10,30,40]

切片 一次至少删除一个元素。

#列表搭配切片进行删除操作:方式一,生成新列表
lst= [10,20,30,40,50,60]

new_lst = lst[1:3]


print(lst) 
print(new_lst)

'''
程序执行结果
[10, 20, 30, 40, 50, 60]
[20, 30]
'''
#列表搭配切片进行删除:方式二,不生成新列表
lst = [10,20,30,40,50]

lst[1:4] = []
print(lst)

#程序执行结果 [10, 50]

clear()清空列表

# 内置函数clear,清空列表中所有元素

lst = [10,20,30,40,50]

lst.clear()

print(lst)

#程序执行结果 []

del()删除列表

#使用关键字del删除列表

lst = [10,20,30,40,50]

del lst

print(lst) 

#程序出错:NameError: name 'lst' is not defined
11.7 列表元素的修改操作

为指定索引的元素赋予一个新值

#一次修改一个值
lst = [10,20,30,40,50]

lst[2] = 'hello'

print(lst)

#程序执行结果 [10, 20, 'hello', 40, 50]

为指定的切片赋予一个新值

lst=[10,20,30,40,50]


lst[1:3] = ['hello','world']

print(lst)

#程序执行结果 [10, 'hello', 'world', 40, 50]
11.8 列表元素的排序操作

排序操作常用两种方式:

  • 调用sort()方法,列表中所有元素默认按照从小到大的顺序进行排序,可以指定reverse = True 进行降序排序
  • 调用内置函数sorted(),可以指定reverse=True进行降序排序,原列表不发生改变

sort方法

lst = [10,2,300,4,17]

lst.sort()

print(lst)

#按照降序排序
lst.sort(reverse=True)

print(lst)

'''
程序执行结果 
[2, 4, 10, 17, 300]
[300, 17, 10, 4, 2]
 '''

内置函数sorted

lst = [10,2,300,4,17]

new_lst = sorted(lst)

print(lst)
print(new_lst)

print('##########分割线##########')

new_lst = sorted(lst,reverse=True)

print(lst)
print(new_lst)

'''
程序执行结果
[10, 2, 300, 4, 17]
[2, 4, 10, 17, 300]
##########分割线##########
[10, 2, 300, 4, 17]
[300, 17, 10, 4, 2]
'''
11.9 列表生成式

语法格式: [ i*i for i in range(start,stop)]

i*i 表示列表元素的表达式

i表示自定义变量

range()表示可迭代对象

lst = [i for i in range(1,10)]

print(lst)


lst2 = [i*2 for i in range(1,11)]

print(lst2)
'''
程序执行结果 
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
'''

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/269395.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号