IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python基础知识入门(一) -> 正文阅读

[Python知识库]Python基础知识入门(一)

1?random函数

# random各种使用方法

import?random

# 随机生成[0.1)的浮点数

print("random():",?random.random())

# 随机生成1000-9999之间的整数

print("randint(1000,?9999):",?random.randint(1000,?9999))

# 随机生成0-20之间的偶数

print("randrange(0,?21,?2):",?random.randrange(0,?21,?2))

# 随机生成0-20之间的浮点数

print("uniform(0,?20):",?random.uniform(0,?20))

# 从序列中随机选择一个元素

list_string?=?['a',?'b',?'c',?'d',?'e']

print("choice(list):",?random.choice(list_string))

print("choice(string):",?random.choice('abcd'))



# 对列表元素随机排序

list_number?=?[1,?2,?3,?4,?5]

random.shuffle(list_number)

print("shuffle(list):",?list_number)



# 从指定序列中随机获取指定长度的片断

print("sample(sequence):",?random.sample('abcdefg',?2))

2 strip函数

s.strip()

s?=?input()

if(s.strip()?==?'zzh'):#小括号里面没有东西的话默认空格与回车

????print(666)



x?=?s.strip('?*')#去掉字符串中小括号里面的字符,有几个去掉几个

print(x)



**??678**

>>>678

3 split 函数

split()拆分字符串示例

3.1 默认空格符

s?=?'Have?dinner'

print(s.split(?))

>>['Have', 'dinner']

3.2 以.为分隔符

s?=?'www.baidu.com'

print(s.split('.'))

>>['www', 'baidu', 'com']

3.3 分割一次

s?=?'www.baidu.com'

print(s.split('.',1))

>>['www', 'baidu.com']

3.4分割两次,取第一个分片(序号0)

s?=?'www.baidu.com'

print(s.split('.',2)[0])

>>www

3.5应用例子

s?=?'https://www.cnblogs.com/hjhsysu/p/5\00356.html'

x?=?s.split('//')[1].split('.')[1]

print(x)

>>cnblogs

3.6 一个有趣的例子

s?=?'kkkkpythonkkkiskkgoodkk'

print(s.split('k'))

>>['', '', '', '', 'python', '', '', 'is', '', 'good', '', '']

对于分隔符出现在首尾的情况,在首尾处分割,会产生同一个空串,对于出现在字符串中间的情况,单独出现,和普通情况没有区别,如果出现多个,两个分隔符中间就会产生一个空串。

4 进制转换函数

4.1 ?int() 其他进制转换到十进制

格式: int (a,b)

a:转入的第一个参数是需要转换的其他进制的字符串形式的数字

b:第一个参数所属的进制数,数字类型

a,b?=?input().split(',')

b?=?int(b)

c?=?int(a,b)

print(c)

>>011,2

3

>>45,8

37

4.2 bin() 十进制转换到二进制

bin(a) a为传入的十进制数字,数据类型为数字类型

n?=?3

x?=?bin(n)

print(x)

>>0b11

4.3 oct() 十进制转换成八进制

oct(a) a 传入数字为int

n?=?9

x?=?oct(n)

print(x)

>>0o11

4.4 hex() 十进制转换成十六进制

hex(a) a 为int类型

n?=?16

x?=?hex(n)

print(x)

>>0x10

小结:总结一下就是除了int()函数以外,其他的几个函数(bin()、oct()、hex())只需要传入一个数据,并且其数据类型都为数字类型。int()函数需要传入两个数据,并且第一个数据的数据类型都为字符串类型,第二个参数为第一个数据对应的进制数

5 map函数

根据提供的函数对指定的序列做映射

map()函数的格式是:

map(function,iterable,...)

第一个参数为接受的函数名,可以是表示元素类型的int/str/float.... 也可以是自定义函数名。

后面的参数接受一个或多个可迭代的序列,返回的是一个集合。把函数依次作用在list中的每一个元素上,得到一个新的list并返回。注意,map不改变原list,而是返回一个新list。

6 eval() 评估函数

去掉参数最外侧引号并执行余下语句的函数

---eval()函数的基本使用格式:

Eval(<字符串或字符串变量>)

>>> eval(‘1’)

1

>>> eval(‘”1+2”’)

‘1+2’

>>> eval(“1+2”)

3

>>> eval(‘print(“Hello”)’)

Hello

-关于eval()函数的好题:

描述

获得用户输入的一个字符串,格式如下:????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

M OP N????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

其中,M和N是任何数字,OP代表一种操作,表示为如下四种:+, -, *, /(加减乘除)????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

根据OP,输出M OP N的运算结果,统一保存小数点后2位。????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

注意:M和OP、OP和N之间可以存在多个空格,不考虑输入错误情况。

答案:

s =?input()

print("{:.2f}".format(eval(s)))

附言:体会eval()函数的作用,在编程中用处很大。

出自python123.io

7基本数据类型

7.1 整数类型

7.1.1 pow函数

pow(x,y)函数:计算xy ,,想算多大算多大

7.2.2 4种进制表示形式

十进制:1010,99,-217

二进制,以0b或0B开头: 0b010, -0B101

八进制,以0o或0O开头:0o123, -0O456

十六进制,以0x或0X开头:0x9a, -0X89

7.2 浮点数类型

7.2.1 浮点数之间的运算存在不确定尾数,不是bug

>>> 0.1+0.2

0.30000000000000004

>>> 0.2+0.2

0.4

>>> 0.1+0.2 == 0.3

False

>>> round(0.1+0.2, 1) == 0.3

True

7.2.2?round函数

因为浮点数之间的运算存在不确定尾数,所以产生了此函数

-round(x,d):对x四舍五入,d是小数截取位数

-浮点数间的运算与比较用round()函数辅助

-不确定尾数一般发生在10-16左右,round()十分有效

7.2.3 科学计数法表示法

-使用字母e或E作为幂的符号,以10为基数,格式如下:

<a>e<b> ?表示 a*10b

-例如:4.3e-3 值为0.0043 ???9.6E5 值为 960000.0

7.3 复数类型

-定义 j?= √-1 ,以此为基础,构建数学体系

-a+bj 被称为复数,其中,a是实部, b是虚部

-z.real获得实部 ???z.imag获得虚部

8数字类型的关系

类型间可进行混合运算,生成结果为‘最宽’类型

-三种类型存在一种逐渐‘扩展’或’变宽’的关系:

?????整数 -> 浮点数 -> 复数

-例如: 123+4.0=127.0 (整数+浮点数=浮点数)

9数值运算函数

一些以函数形式提供的数值运算功能

-abs(x)

绝对值 x的绝对值 ?abs(-10.01) >> 10.01

-divmod(x,y)

商余,(x//y,x%y) , 同时输出商和余数 divmod(10,3) >> (3,1)

-pow(x,y[,z])

幂(余),(x**y)%z, [..]表示参数z可以省略?pow(3,pow(3,99),10000)

>>4587

-round(x[,d])

四舍五入,d是保留小数位数,默认值为0

round(-10.123,2) >>>-10.12

-max(x1?,x2,…, xn?)

最大值,返回x1,x2,…,xn中的最大值, n不限

-min(x1,x2,…,xn)

最小值,返回x1,x2,…,xn中的最小值, n不限

-int(x)

将x变成整数,舍弃小数部分

int(123.45)结果为123;int(‘123’)结果为123

-float(x)

将x变成浮点数,增加小数部分

float(12)>>>12.0;float(‘1.23’) >>>1.23

-complex(x)

将x变成复数,增加虚数部分

complex(4) >>4+0j

10?字符串

10.1?字符串切片

使用[M:N:K]根据步长对字符串切片

-<字符串>[M:N], M缺失表示至开头,N缺失表示至结尾

str?=?'零一二三四五六七八九十'[:3]

print(str)

>>零一二

-<字符串>[M:N:K],根据步长K对字符串切片

str?=?'零一二三四五六七八九十'[1:8:2]

print(str)

>>一三五七

-当k为-1时,则反向

str?=?'零一二三四五六七八九十'[::-1]

print(str)

>>十九八七六五四三二一零

str?=?'零一二三四五六七八九十'[::-2]

print(str)

>>十八六四二零

10.2转义符

\’’ >>’’

\b 回退 \n换行 \r回车(光标移动到本行首)

10.3?字符串处理函数

-len(x)

长度,返回字符串x的长度

len(‘123456’) >>6

-str(x)

任意类型所对应的字符串形式 str(123) >> ‘123’

-chr(u)

u为Unicode编码,返回其对应的字符

-ord(x)

x为字符,返回其对应的Unicode编码

示例:

-?print('1+1=2'?+?chr(10004))

1+1=2?

-?print(chr(9800))

?

-?for?i?in?range(12):

????print(chr(9800+i),?end='')

????????????

10.4?字符串处理方法

一些以方法形式提供的字符串处理功能

-str.lower() 或 str.upper()

返回字符串的副本,全部字符为小写/大写

a?=?'AbCDEfgh'.lower()

b?=?'asdYUI'.upper()

print(a)

print(b)

>>abcdefgh

ASDYUI

-str.count(sub)

返回字符串sub在str中出现的次数

a?=?'aaabbbb'.count('a')

print(a)

>>3

-str.replace(old,new)

返回字符串str副本,所有old子串被替换为new

a?=?'python'.replace('n','n123.io')

print(a)

>>python123.io

-str.center(width[,fillchar])

字符串str根据宽度居中,fillchar可选

a?=?'python'.center(20,'=')

print(a)

>>=======python=======

-str.join(iter)

在iter变量除最后元素外每个元素后增加一个str

a?=?','.join('12345')#主要用于字符串分割符等

print(a)

>>1,2,3,4,5

10.5?字符串类型的格式化

格式化是对字符串进行格式表达的方式

-字符串格式化使用.format()方法,用法如下:

?<模板字符串>.format(<逗号分隔的参数>)

示例:

(1)用*填充多余空格,format内的字符靠右输出,宽度30字符,数字千位分割

a?=?'{0:*>30,}'.format(123456789)

print(a)

>>*******************123,456,789

(2)H填充多余空格,format内的字符居中,宽度为20字符,保留3小数

a?=?'{:H^20.3f}'.format(1234.56789)

print(a)

>>HHHHHH1234.568HHHHHH

a?=?'{0:.4}'.format('python')

print(a)

>>pyth

a?=?'{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}'.format(425)

print(a)

>>110101001,?,425,651,1a9,1A9

a?=?'{0:e},{0:E},{0:f},{0:%}'.format(3.14)

print(a)

>>3.140000e+00,3.140000E+00,3.140000,314.000000%

11 filter()函数

11.1 简介和语法

filter()函数用于过滤序列,过滤掉不符合条件的元素,返回符合条件的元素组成新的列表

语法如下:

filter(function,iterable)

# 其中function为函数,iterable为序列

序列中的每个元素作为参数传递给函数进行判断,返回True或者False,最后将返回的元素放到新列表中。

11.2 用法示例:

筛选出序列中为奇数的元素

def is_odd(n):

????return n%2 == 1

lst1 = filter(is_odd,[1,2,3,4,5,6,7,8,9,10])

补充:3.7.3版filter需要嵌套在list里面

list1 = list(lst1)

print(list1)

>>> [1,3,5,7,9]

12?遍历python字典

12.1?遍历字典中所有的键值对

student?=?{'num':?'123456',?'name':?'kelvin',?'age':?18}

for?key,value?in?student.items():

????print('\nkey:'+key)

????print('value:'+str(value))

#key,value只是一个见明知义的变量,它们可以任意取名



#student.items()返回的是一个键值对列表

print(student.items())

#接下来,for循环依次将每一个键值对元组储存到指定的两个变量中

>>

key:num

value:123456



key:name

value:kelvin



key:age

value:18

dict_items([('num', '123456'), ('name', 'kelvin'), ('age', 18)])

12.2 遍历字典的所有键

使用方法keys(),此方法会返回一个键列表

student?=?{'num':'123456','name':'kelvin','age':18}

for?key?in?student.keys():

print(key)

>>>

num

name

age

12.3 遍历字典中的所有值

使用方法values()会返回一个值列表

例子:

打印出学生字典中所有的值:

student?=?{'num':'123456','name':'kelvin','age':18}

for?value?in?student.values():

print(value)

>>>

123456

kelvin

18

13 enumerate函数

它是一个python的内置函数

  • enumerate意为:枚举,列举
  • 对于一个可迭代的对象,enumerate将它变成一个索引序列

例如

seq?=?['one','two','three']

print(list(enumerate(seq)))

>>[(0,?'one'),?(1,?'two'),?(2,?'three')]

将一个可读取的对象传递给enumerate函数,他返回一个枚举类型的对象。将其转化为列表后输出元素为元祖(‘序号’,对应元素)的一个列表,另外,如果当你想要让索引不从0开始,你可以在使用时传一个参数,例如:

seq?=?['one','two','three','four']

lst?=?enumerate(seq,start=5)

for?i?in?lst:

print(i)





>>>

(5, 'one')

(6, 'two')

(7, 'three')

(8, 'four')

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-10-25 12:29:51  更:2021-10-25 12:31:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 20:35:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码