python是TIOBE编程语言排名第一的编程语言,它有什么优点?它的使用场景有哪些?用python打印数字1--100,用python打印九九乘法表怎么写?

Python是TIOBE编程语言排行榜排名第一的编程语言 。

python是一种解释性、交互式、面向对象的跨平台的语言。

python设计者及名称由来

        Guido van Rossum 荷兰人---吉多·范罗苏姆,是 Python 编程语言的最初设计者,在 Python 社区一直担当终身仁慈独裁者(BDFL)的角色。2018 年 7 月12 日,他宣布不再担任 Python 社区的 BDFL,但后来再度被选入成为五位委员会成员之一。

  • 1989 年创立了 Python 语言

  • 1991年初公布了 Python 第一个公开发行版;

  • Python2 2020年官方停止升级更新。

    Python3 目前主流。

python名称由来

        本语言的命名源自 BBC 的 “Monty Python 飞行马戏团”,与爬行动物无关(Python 原义为“蟒蛇”)。

python特点

        Python语言:简单、优雅、明确的语言。

1. 解释型语言:源代码一行一行的被解释器执行。(这些都是解释型语言:

  • JS\Shell\Python\PHP)

【补充:

解释型语言对应的是编译型语言,将源代码转换成二进制然后由CPU执行。C\C++\Go】

  2.强类型语言:数据是必须要有类型的。 赋值时,自动判断数据的类型

强类型语言:C/C++/Java/Go/Python】 

强类型语言 对应的是 弱类型语言,数据的类型是可以自动转换,不固定。例如:Shell\JS】

3.扩展性强:“胶水语言”,支持其他语言编写的模块。人工智能的算法大部分使用C++实现,Python通过调用模块实现强大的功能。

4. 支持命令式编程、结构式编程、面向对象编程、函数式编程。

python开发工具

  常见的python开发工具有:

1.PyCharm: python脚本、pythonWeb开发、python爬虫。

     【分为社区版和企业版】

社区版:

Communtity   ....

企业版:

Professional .....

2.VScode:轻量级,需要安装各种插件;

3.Jupyter node:网页版开发环境,数据分析、人工智能、数据可视化;

python应用场景

  • web开发;

  • 自动化运维

  • 数据分析

  • 网络爬虫

  • AI

  • 自动化办公

  • 自动化测试

  • 科学计算

python数据类型

基本数据类型

整数 int:

print(666)

浮点数 float:

浮点数(小数)运算是不精确的;

print(0.1+0.2)

输出结果:

0.30000000000000004

字符串 str: 

三种写法:

1)单引号;2)双引号;3)三引号;为了书写方便,不需要转义;

布尔 boolean:

【True真 ; False假】

空类型 none:

复合数据类型

名称写法特点用法
列表list[1,2,3,4]有序、可变、可嵌套、异构(数据类型不限)存放有序的临时数据
元组tuple(1,2,3,4)有序(可以用下标,)、不可变、可嵌套(一般嵌套元组,建议嵌套不可变数据类型:数字、字符串、元组)函数的返回值和参数
字典dic{‘a’:1,’b’:2}无序,可变(可以增删改查),key(不可变数据类型,不能重复),value(任意数据类型)、键值对;用于:需要查询速度快的数据,一般用于做json解析
集合set{1,2,3,4,5}无序、可变、不可嵌套(一般不嵌套,只能嵌套元组)、数据不能重复、数据类型只能是不可变数据类型,它的元素就是字典中的key;【交集、并集、差集】去重,简单的数据集合

列表 list:

列表list【有序的集合,可重复】:

可以增删改查

增:append()   追加一个元素

​       extend()  合并一个数列

增append /extend /insert

例1:extend 在结尾追加一个数列

 lis =[]
 lis.append(1)
 lis.append(2)
 ​
 lis.extend(['a','b','c','d'])
 print(lis)
 ​

结果:

 [1, 2, 'a', 'b', 'c', 'd']

例2:append 在结尾追加一个元素

 lis =[]
 lis.append(1)
 lis.append(2)
 ​
 lis.append(['a','b','c','d'])
 print(lis)

结果:

 [1, 2, ['a', 'b', 'c', 'd']]

例3:insert 通过下标在任意地方添加数字

 lis =[]
 lis.append(1)
 lis.append(2)
 lis.append(['a','b','c','d'])
 lis[1] = 5
 lis[:2] = ['q','w','e']
 ​
 lis.insert(0,1)
 print(lis)
 ​

结果:

 [1, 'q', 'w', 'e', ['a', 'b', 'c', 'd']]

下标---改

[ 通过下标 改一个元素 ]

 lis =[], 空列表,像里面追加元素;

 lis[1] = 5将,下标为1的元素2改为5;

 lis =[]
 lis.append(1)
 lis.append(2)
 lis.append(['a','b','c','d'])
 ​
 lis[1] = 5
 print(lis) #打印结果

结果:

 [1, 5, ['a', 'b', 'c', 'd']]

  lis[:2] = ['q','w','e']  ​ #将下标0:2的元素改为 ['q','w','e']  ​

 print(lis)

 ['q', 'w', 'e', ['a', 'b', 'c', 'd']]
index查
 #index(value) -> index 返回是个下标
 print(lis.index('A'))
count 查看次数

print(lis.count(‘4’))

 lis=['1','2','3','4','5','6','4','2','6']
 print(lis.count('6'))

结果:

 2
pop删/del

弹出一个数: pop

【可以实现手动的垃圾回收】

删除一个数:del lis[-1]

 lis =[]
 lis.append(1)
 lis.append(2)
 lis.append(['a','b','c','d'])
 lis[1] = 5
 ​
 del lis[-1] #删除最后一个(组)元素
 print(lis)

结果:

 [1, 5]
 ​

删除一个范围:del lis[:1],即删除下标为0的元素,不包括下标为1的元素;

 lis =[]
 lis.append(1)
 lis.append(2)
 lis.append(['a','b','c','d'])
 lis[1] = 5
 ​
 del lis[:1]
 print(lis)
 [5, ['a', 'b', 'c', 'd']]

正向索引

有序的数据集合,通过下标取值,从0开始。列表索引,从0开始;正向索引0 ,1, 2, 3 …..

例1:

 names = ["张三",“李四”,“王五”,"张三",“李四”]
 print(f'names={names},type(names)={type(names)}')
反向索引

例2 :反向索引 -1 ,-2 ,-3……

 #!/usr/bin/python3
 ​
 list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
 print( list[-1] )
 print( list[-2] )
 print( list[-3] )
 black
 white
 yellow
拼接列表
 >>> squares = [1, 4, 9, 16, 25]
 >>> squares += [36, 49, 64, 81, 100]
 ​
 >>> squares
 [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
 >>>
切片 步长[0:2:2]

步长【隔几个数取值;】

例:步长为2:隔两个数;步长为1:隔一个数

取前5个值,[0:5]

每隔一个数,取前5个,[0:5:1]

 #截取前两个字符
 s = ["hello", "world","hahaha","!"]
 print (s[0:2])
 #输出结果: 
 ['hello', 'world']
 ​
 进程已结束,退出代码为 0
 ​

例2:s[-2], 截取倒数第二个字符

 s = ["hello", "world","hahaha","!","a","b","c"]
 print (s[-2])
 ​
 ​
 #输出结果
 b

例3:截取从开头到 倒数第二个数字

 s = ["hello", "world","hahaha","!","a","b","c"]
 print (s[:-2])

输出结果

 ['hello', 'world', 'hahaha', '!', 'a']

例4:

 for i in range (1,6):
     print((" * " * i).center(20))
          *          
         *  *        
       *  *  *       
      *  *  *  *     
    *  *  *  *  *    

元组 tuple:

元组:有序不可变的数据类型;【元组是不可变的列表,没有增删改的功能】

将列表的[ ]中括号换为小括号();

names = ("张三","李四","王五","张三","李四")

print(f' names={names}, type(names)= {type(names)}' )

字典 dictionary:

字典:通过键值对,存放,读取数值;通过键来取值速度非常快;

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号 ,分割,整个字典包括在花括号 {} 中 ,格式如下所示:

{键:值;键:值;}

d = {key1 : value1, key2 : value2, key3 : value3 }
 

获取字典长度

dic= { 'Name': 'Runoob', 'Age': 7, 'Class': 'First' }
print( len(dic) )

结果:

3

进程已结束,退出代码为 0

获取键、值

循环依次罗列键:

dic= {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}

for  key in  dic:
 print(key) #打印键

获取键值对

方法一【打印所有的键值】: print (dic)

dic= {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}

print(dic)

结果:

{'Name': 'Runoob', 'Age': 7, 'Class': 'First'}

进程已结束,退出代码为 0

方法二:print (dic['Age'])

dic= {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}

print(dic['Age'])

结果:

7

进程已结束,退出代码为 0

方法三:print(dic.get('Age'))

dic= {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}

print(dic.get('Age'))

增加值 名[‘键’] = “值”

dic['address']= "shanxi"

dic= {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
# print(len(dic))
# for  key in  dic:
dic['address']= "shanxi"
print(dic)

结果:

{'Name': 'Runoob', 'Age': 7, 'Class': 'First', 'address': 'shanxi'}

进程已结束,退出代码为 0

删除操作 del

dic= {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
# print(len(dic))
# for  key in  dic:
dic['address']= "shanxi"
del dic['Name']
print(dic)

结果:

{'Age': 7, 'Class': 'First', 'address': 'shanxi'}

进程已结束,退出代码为 0

集合 set:

略
 ​

python函数

什么是函数?

函数:一段具有特定功能的代码块。

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数

定义函数

Python 中使用def语句创建函数,其一般的格式如下所示:

def line( ):

四部分构成

      1.关键词def ;

      2.line 变量名;

      3.()没有参数时也要有小括号;

      4. :不要忘记冒号结尾;

实例

def repeator(s, n):
    result = s * n
    print(result)
print(type(repeator))

调用函数:

repeator('嗷', 3)

结果:
# 嗷嗷嗷

python内置函数

函数描述
abs()返回数的绝对值
all()如果可迭代对象中的所有项均为 true,则返回 True。
any()如果可迭代对象中的任何项为 true,则返回 True。
ascii()返回对象的可读版本。用转义字符替换 none-ascii 字符。
bin()返回数的二进制版本。
bool()返回指定对象的布尔值。
bytearray()返回字节数组。
bytes()返回字节对象。
callable()如果指定的对象是可调用的,则返回 True,否则返回 False。
chr()返回指定 Unicode 代码中的字符。
classmethod()把方法转换为类方法。
compile()把指定的源作为对象返回,准备执行。
complex()返回复数。
delattr()从指定的对象中删除指定的属性(属性或方法)。
dict()返回字典(数组)。
dir()返回指定对象的属性和方法的列表。
divmod()当参数1除以参数2时,返回商和余数。
enumerate()获取集合(例如元组)并将其作为枚举对象返回。
eval()评估并执行表达式。
exec()执行指定的代码(或对象)。
filter()使用过滤器函数排除可迭代对象中的项目。
float()返回浮点数。
format()格式化指定值。
frozenset()返回 frozenset 对象。
getattr()返回指定属性的值(属性或方法)。
globals()以字典返回当前全局符号表。
hasattr()如果指定的对象拥有指定的属性(属性/方法),则返回 True。
hash()返回指定对象的哈希值。
help()执行内建的帮助系统。
hex()把数字转换为十六进制值。
id()返回对象的 id。
input()允许用户输入。
int()返回整数。
isinstance()如果指定的对象是指定对象的实例,则返回 True。
issubclass()如果指定的类是指定对象的子类,则返回 True。
iter()返回迭代器对象。
len()返回对象的长度。
list()返回列表。
locals()返回当前本地符号表的更新字典。
map()返回指定的迭代器,其中指定的函数应用于每个项目。
max()返回可迭代对象中的最大项目。
memoryview()返回内存视图(memory view)对象。
min()返回可迭代对象中的最小项目。
next()返回可迭代对象中的下一项。
object()返回新对象。
oct()把数转换为八进制。
open()打开文件并返回文件对象。
ord()转换表示指定字符的 Unicode 的整数。
pow()返回 x 的 y 次幂的值。
print()打印标准输出设备。
property()获取、设置、删除属性。
range()返回数字序列,从 0 开始且以 1 为增量(默认地)。
repr()返回对象的可读版本。
reversed()返回反转的迭代器。
round()对数进行舍入。
set()返回新的集合对象。
setattr()设置对象的属性(属性/方法)。
slice()返回 slice 对象。
sorted()返回排序列表。
@staticmethod()把方法转换为静态方法。
str()返回字符串对象。
sum()对迭代器的项目进行求和。
super()返回表示父类的对象。
tuple()返回元组。
type()返回对象的类型。
vars()返回对象的 dict 属性。
zip()从两个或多个迭代器返回一个迭代器。

函数参数:

参数的传递过程,实际上是一个**赋值**的过程。在调用函数时,调用者的实际参数自动赋值给函数的形式参数变量。

def avg(m, n):
    return (m + n) /2
print(avg(5, 2))

python实例

打印1-100

(python中包前不包后)

 for a in range(1,101):
 #以“-”分隔开
     print(a,end="-")

中文打印中文

 打印 = print
 打印("你好 世界")

输出结果:

 你好 世界

向列表中 ‘增删改查’数据

  • 向列表中追加元素10

 s = ['1','2','3','4','5','6']
 ​
 s.append(['10'])
 print(s)

结果:

 ['1', '2', '3', '4', '5', '6', ['10']]
  • 向列表中追加10

 s = ['1','2','3','4','5','6']
 s.append('10')
 print(s)
 ​

结果:

 ['1', '2', '3', '4', '5', '6', '10']

生成随机数random

 #生成随机数
 import random
 #生成任意随机数
 a = random.random()
 print(a)
 # #如何生成0-9之间的随机数
 # print(random.randint(0,9))

判断奇数偶数

 a =int(input("输入一个数字: "))
 if (a % 2 ==0):
       print("这个数字是偶数")
 else:
       print("这个数字是奇数")

斐波那契数列(兔子数列)

0 1 1 2 3 5 8 13 21 34 55

 #!/usr/bin/python3
  
 import sys
  
 def fibonacci(n): # 生成器函数 - 斐波那契
     a, b, counter = 0, 1, 0
     while True:
         if (counter > n): 
             return
         yield a
         a, b = b, a + b
         counter += 1
 f = fibonacci(10) # f 是一个迭代器,由生成器返回生成
  
 while True:
     try:
         print (next(f), end=" ")
     except StopIteration:
         sys.exit()

判断xxx是否在…内

列表中有1,2,3,4;判断数字2是否在列表中。

 list=[1,2,3,4]
 print(2 in list)
 True
 ​
 进程已结束,退出代码为 0
 ​

将列表中元素 乘n倍

 lis=['葫芦娃 '*10]
 print(lis)
 ​
 ['葫芦娃 葫芦娃 葫芦娃 葫芦娃 葫芦娃 葫芦娃 葫芦娃 葫芦娃 葫芦娃 葫芦娃 ']

对列表内容原地翻转

reverse( )

 #lis.reverse() 对列表内容进行’原地倒转‘
 lis=['张三','李四','王五','赵六','老七','小胡','小芳' *3]
 ​
 lis.reverse()
 print(lis)

print打印

1.直接打印:

 print('hello','world','!')

结果:

 hello world !
 ​
 进程已结束,退出代码为 0

2.分隔符的使用;print 打印默认换行,如何换行

 print('hello','world','!',sep="-",end="****")
 print('hello','world','!')

结果:

 hello-world-!fanghello world !
 ​
 进程已结束,退出代码为 0

比较大小

例1:比较字符串大小**

根据首字母编码

 print(max("a","b","c"))

结果:

 c
 ​
 进程已结束,退出代码为 0
 ​

例2:比较数字大小

 print(max(1,6,8,-9,3,4,2))

结果:

 8
 ​
 进程已结束,退出代码为 0
 ​

比较绝对值大小

 l = [3,2,-9,8,-6,4,88,56,-100]
 print(max(l,key=abs))

结果:

 -100
 ​
 进程已结束,退出代码为 0
 ​

例3:比较长度

 A = ["aaa","bbbbb","c","dd"]
 print(max(A,key=len))

结果:

 bbbbb
 ​
 进程已结束,退出代码为 0

九九乘法表

 for i in range(1,10):
     for j in range(1,i+1):
         print('{}x{}={}\t'.format(j,i,i*j),end=" ")
     print()
 1x1=1    
 1x2=2    2x2=4   
 1x3=3    2x3=6   3x3=9   
 1x4=4    2x4=8   3x4=12  4x4=16  
 1x5=5    2x5=10  3x5=15  4x5=20  5x5=25  
 1x6=6    2x6=12  3x6=18  4x6=24  5x6=30  6x6=36  
 1x7=7    2x7=14  3x7=21  4x7=28  5x7=35  6x7=42  7x7=49  
 1x8=8    2x8=16  3x8=24  4x8=32  5x8=40  6x8=48  7x8=56  8x8=64  
 1x9=9    2x9=18  3x9=27  4x9=36  5x9=45  6x9=54  7x9=63  8x9=72  9x9=81  

三目运算

 x=int(input("请输入x的值"))
 y=int(input("请输入y的值"))
 a=True if x>y else False
 print(a)

结果:

 请输入x的值4
 请输入y的值5
 False
 ​
 进程已结束,退出代码为 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值