Python基础--笔记

一、转义字符和原字符

1、转义字符

\t 制表符

\n 换行

\b 退格

\r 替换之前的

2、原字符(使转义字符失效)

在输出内容的引号前加上r或R

print(“hello\nworld”)

输出结果:

hello

world

print(r"hello\nworld")

输出结果:

hello\nworld

注意事项:输出内容的最后一个字符不可以是反斜线\ (可以是\\)
引号之前加上" f ",格式化输出

age = 20
name = "张三"
print(f"姓名:{name},年龄:{age}")

补充:input() 输入的是 字符串 类型

二、保留字(keyword)

查看保留字

import keyword
print(keyword.kwlist)

print的用法
注意sep和end的用法

三、数据类型

int 整型

十进制(默认的进制)

二进制(0b开头)

八进制(0o开头)

十六进制(0x开头)

float浮点型

可能出现不精确的现象(因为以二进制存储,不是所有的小数都有对应的二进制表达)

解决方案:导入模块decimal

bool布尔类型

True = 1

False = 0

str字符串类型

“ …”

‘… ’

“ ” “ … ” “ ”

‘ … ’

强制类型转换

name = '张三'
age = 22

错误写法:
print('我叫'+name+',今年'+age+'岁。')
正确写法(需要强制转换):
print('我叫'+name+',今年'+str(age)+'岁。')

四、运算符

算数运算符

/ 除法运算

// 整除运算 结果取整(向下取整)

一正一负向下取整	eg:	9//-4=-3		-9//4=-3

** 幂运算 2**3表示2的3次方

% 取余运算 一正一负要咨询公式(余数=被除数-除数*商)

比较运算符

== 对象value的比较

is、is not 对象id的比较(内存空间的比较)

逻辑运算符

and 两者全True才得到True

or 两者之一为True即为True

not 取反 相当于!

成员运算符

in 
not in

在这里插入图片描述

str1 = "hello"
print('e' in str1)  #True
print('k' not in str1)  #True

注意:python中没有++或- -

五、程序执行顺序

分支结构

if  条件表达式:

	执行语句...

else:

	...
if...elif...(elif)...else...

在这里插入图片描述

条件表达式(三元运算符)

(类似于Java中的三段式)

x if 条件表达式 else y

条件表达式为True,返回值为x

条件表达式为False,返回值为y
在这里插入图片描述
pass语句

什么都不做,只是一个占位符,例如,还没想好函数体的内容/if的条件执行体/保证程序的完整性…

循环

for-in循环

in表示遍历

for  自定义的变量  in  可迭代对象(字符串/元组/列表/集合)

	循环体

在这里插入图片描述
在这里插入图片描述
输出:12 换行 34 换行 5 … 换行 … 42
在这里插入图片描述
输出:
在这里插入图片描述

for i in "我爱学习":
    print(i)

输出:
在这里插入图片描述

(注意:如果不需要用到自定义变量,可用下划线_代替)
while循环

注意:python中没有do...while循环

六、列表

列表的特点

列表相当于其他语言中的数组,不同的是,列表中的元素数据类型可以不全相同

可使用list()函数定义列表对象

列表的索引:正向从0开始,逆向从-1开始

列表可存储重复数据

任意数据类型可以混存

根据需要动态分配和回收空间,一般不用担心内存不够用

获取列表的多个元素(切片)

列表名[start,stop,step]

默认步长为1

(注意:step可正可负 为正数时,start默认为第一个,stop默认为最后一个

		为负数时,start默认为最后一个,stop默认为第一个)
list1 = ["张三","李四","王五",123,"hello"]
print(list1[1:])        # ['李四', '王五', 123, 'hello']
print(list1[-4:-1])     # ['李四', '王五', 123]

有关列表的一些操作

两个列表合并
在这里插入图片描述

index():返回元素的索引

列表的查询操作

根据索引 lst[index] 即可

列表的添加操作

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

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

insert():在任意位置添加一个元素

insert(1,'xyz')		在索引为1的位置上添加元素'xyz'

切片

列表的删除操作

remove(): 注意:传入的参数为要删除的元素值

一次删除一个元素

重复元素只能删除第一个

元素不存在跑出ValueError
list1 = ["张三","李四","王五",123,"hello"]

list1.remove("王五")

print(list1)    # ['张三', '李四', 123, 'hello']

pop(): 传入的参数为索引

删除一个指定索引位置上的元素

指定索引不存在,抛出IndexError

不指定索引,删除列表中最后一个元素
list1 = ["张三","李四","王五",123,"hello"]

list1.pop() # 默认删除最后一个

print(list1)    # ['张三', '李四', '王五', 123]
删除指定索引的元素

list1 = ["张三","李四","王五",123,"hello"]

list1.pop(2)

print(list1)    # ['张三', '李四', 123, 'hello']

切片:一次至少删除一个元素 lst[start : stop] = []

clear():清空列表

del():删除列表

列表的修改操作

lst[index] = 新元素

列表的排序操作

sort():原列表变了

从小到大排序(升序排序)

lst.sort()

指定 reverse=True	 降序排序

lst.sort(reverse=True)

在这里插入图片描述
sorted():原列表没变

lst=[20,40,10,90,8]
new_list = sorted(lst)
print("原列表",lst)	#原列表 [20, 40, 10, 90, 8]
print("新列表",new_list)	#新列表 [8, 10, 20, 40, 90]		

在这里插入图片描述
降序排列

new_list = sorted(lst,reverse=True)补充:一些函数

根据字符串长度排序

添加 key = len
在这里插入图片描述
翻转列表元素

在这里插入图片描述
获取列表长度 len()
在这里插入图片描述
获取列表中最大值 / 最小值

max(列表名称)

min(列表名称)
在这里插入图片描述
获取指定元素的索引 index()

list1 = ["张三","李四","王五",123,"hello"]
print(list1.index("李四"))    # 1

列表的嵌套
在这里插入图片描述

列表生成式:

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

第一个i为产生的元素

list1 = [i ** 2 for i in range(1,6)]
print(list1)    # [1, 4, 9, 16, 25]
# 生成一个列表--元素为1-10以内的奇数
# 方法一
list2 = [i for i in range(1,11,2)]
print(list2)    # [1, 3, 5, 7, 9]
# 方法二
list3 = [i for i in range(1,11) if i % 2 != 0]
print(list3)    # [1, 3, 5, 7, 9]

遍历列表

list1 = ["张三","李四","王五",123,"hello"]
for idx,value in enumerate(list1):
    print(idx,value)

在这里插入图片描述

七、字典

[ ]定义列表

{ }定义字典

键值对 无序(第一个放入字典的元素不一定在第一个,根据hash()计算位置)

字典的创建

方法一:

scores = {'张三':85,'李四':95}

方法二:

student = dict(name='xyz',age=20)

字典中元素的获取

方式一:key不存在时报错

print(scores['张三'])

方式二:get() key不存在是返回None

print(scores.get('李四'))

print(scores.get('王五',99))	#可以定义key不存在时value的默认值,这里是99

字典

dict1 = {"name":"张三","age":20,"job":"算法工程师"}
print(dict1["name"])    # 张三
print(dict1["job"])     # 算法工程师

字典常用的操作

key的判断

in
‘张三’ in scores

not in
‘王五’ not in scores

字典元素的删除

del scores['张三']
scores.clear()	#清空字典元素

在这里插入图片描述

字典元素的新增

scores['陈六'] = 84

字典元素的修改同上

获取字典视图

keys():获取字典中所有的key

values():获取字典中所有的value

dict1 = {"name":"张三","age":20,"job":"算法工程师"}
print(dict1.keys())     # dict_keys(['name', 'age', 'job'])
print(dict1.values())   # dict_values(['张三', 20, '算法工程师'])

items():获取字典中所有的key,value对 元组类型

print(dict1.items())    # dict_items([('name', '张三'), ('age', 20), ('job', '算法工程师')])

字典的遍历

    for item in dict1.items():
    	print(item,type(item))
    	
    输出:
    ('name', '张三') <class 'tuple'>
	('age', 20) <class 'tuple'>
	('job', '算法工程师') <class 'tuple'>

合并字典 update()
在这里插入图片描述

字典的特点:

key不可以重复,value可重复

字典生成式

内置函数zip()

items=['fruit','books','computers']
prices = [12,50,6000]
d={item.upper():price for item,price in zip(items,prices)}
print(d)

当key和value的个数不一致时,以短的个数进行打包

八、元组

不可变序列:没有增删改操作(但是可以对元组的可变序列元素进行增删改)

(列表、字典为可变序列:可执行增删改操作,对象地址不发生改变)

元组的创建与表示

tup = (32,45,"hello","张三",125)
print(tup)      # (32, 45, 'hello', '张三', 125)
print(tup[1])   # 45
print(tup[-1])  # 125

不能修改元组中的元素!!!

合并元组 通过 +
在这里插入图片描述

使用内置函数tuple()创建元组

t = tuple(('python','java',90))

只包含一个元组的元素需使用逗号和小括号

t = ('python',)
print(t,type(t))	#<class 'tuple'>

在这里插入图片描述
判断元素是否在元组内
在这里插入图片描述
元组的切片
在这里插入图片描述
获取元组的长度 len()
在这里插入图片描述
获取元组内最大值max() 最小值min()
在这里插入图片描述
遍历元组
在这里插入图片描述

九、集合

可变序列(还有列表、字典)

{ } 和字典的区别:没有key

集合的特点

集合中的元素不能通过下标访问或者修改

集合中的元素不允许重复,集合中的元素无序

s = {1,4,5,7,5,7}
print(s)	#{1, 4, 5, 7}

另一种创建方式,使用内置函数set()

s2 = set(range(6))
print(s2)	#{0, 1, 2, 3, 4, 5}

集合的新增操作

add():一次添加一个元素

update():一次至少添加一个元素 多个元素以列表的形式追加

set1 = {1,4,9,16,25}
print(len(set1))    # 5
set1.add(36)
print(set1) # {1, 4, 36, 9, 16, 25}
set1.update([45,23,20])
print(set1) # {1, 4, 36, 9, 45, 16, 20, 23, 25}

集合的删除元素

remove():移除一个指定元素,若元素不存在,报keyError错

discard():移除一个指定元素,若元素不存在,不报错

pop():一次删除一个任意元素(删谁,运行前不知道)不可以指定元素

set1 = {30,28,9,16,25}
print(set1)     # {9, 16, 25, 28, 30}
set1.pop()
print(set1)     # {16, 25, 28, 30} 随机删除一个元素

clear():清空集合中的元素

集合之间的关系

集合是否相等? 集合中元素相等则相等,顺序无所谓

一个集合是否为另一个集合的子集? 调用issubset()方法

s1 = {10,20,30,40}
s2 = {20,30}
print(s2.issubset(s1))	#True

一个集合是否为另一个集合的超集? 调用issuperset()方法

print(s1.issuperset(s2))	#True

两个集合是否没有交集? 调用isdisjoint()方法

s1 = {10,20,30,40}
s2 = {20,30,50}
s3 = {100,200}
print(s1.isdisjoint(s2))	#False
print(s1.isdisjoint(s3))	#True

集合的数学操作

# 交集 intersection()
print(s1.intersection(s2))      #方法一
print(s1 & s2)                  #方法二

#并集 union()
print(s1.union(s2))             #方法一
print(s1 | s2)                  #方法二

#差集 difference
print(s1.difference(s2))        #方法一
print(s1 - s2)                  #方法二

#对称差集 symmetric_difference
print(s1.symmetric_difference(s2))  #方法一
print(s1 ^ s2)                      #方法二

集合生成式

s = {i*i for i in range(6)}
print(s)	#{0, 1, 4, 9, 16, 25}

列表、字典、元组、集合总结

list	dict	tuple	set

除了元组(tuple),都可变

字典key、集合 不可重复

列表和元组有序,字典和集合无序(哈希)

列表:[ ]		字典:{key:value }		元组:(	)	集合:{}

十、字符串

不可变的字符序列

字符串驻留机制

对相同的字符串仅保留一份拷贝,创建相同的字符串时不会开辟新空间,而是把该字符串的地址赋给新创建的变量。

驻留机制几种情况

1、字符串的长度为0或1

2、符合标识符的字符串

3、字符串指针编译时驻留,而非运行时

4、[-5,256]之间的整数数字

强制驻留 import sys

import sys
a = 'abc%'
b = 'abc%'
a = sys.intern(b)

注意:进行字符串拼接时,建议使用str类型的**join()**方法,而非+

获取字符串的长度len
统计子串出现的次数count

在这里插入图片描述

字符串查询操作

index():查找子串第一次出现的位置,找不到时抛异常

rindex():查找子串最后一次出现的位置,找不到时抛异常

find():查找子串第一次出现的位置,找不到时返回-1

rfind():查找子串最后一次出现的位置,找不到时返回-1

还可以在指定范围内查找
在这里插入图片描述

字符串大小写转换

upper():所有字符–>大写

lower():所有字符–>小写

swapcase():所有大写–>小写,所有小写–>大写

capitalize():第一个字符–>大写,其余字符–>小写

title():每个单词第一个字符–>大写,每个单词剩余字符–>小写

字符串对齐操作

指定宽度小于字符串原宽度,则返回原字符串

center(宽度,填充符(可选)):居中对齐,填充符默认是空格

ljust():左对齐,其他同上

rjust():右对齐,其他同上

zfill():右对齐,左边用0填充

字符串的劈分操作

split():

从左开始,默认遇到空格就劈分,返回一个列表

s = 'hello world python'
print(s.split())

通过参数sep指定劈分符

s1 = 'hello|world'
print(s1.split(sep='|'))

通过maxsplit指定最大劈分次数,之后的剩余部分单独做一部分

s1 = 'hello|world|python|hello'
print(s1.split(sep='|',maxsplit=2))	#['hello', 'world', 'python|hello']

rsplit()

从右边开始劈分,其他同split()

print(s1.rsplit(sep='|',maxsplit=2))	#['hello|world', 'python', 'hello']

strip() 去除字符串两边的指定字符
在这里插入图片描述
lstrip()和rstrip() 只切除左边/右边的指定字符(默认为空格)
在这里插入图片描述
字符串判断

isidentifier():判断指定字符串是否合法

isspace():判断指定字符是否全由空白字符组成(回车、换行、水平制表)

isupper():检测字符串中字母是否全部为大写

islower():检测字符串中字母是否全部为小写

istitle():检测字符串中单词首字母是否全部为大写

print("HELLO".isupper())        # True
print("HELLO123".isupper())     # True
print("Hello".isupper())        # False
print("hello123".islower())     # True
print("Hello world".istitle())  # False
print("Hello World".istitle())  # True

isalpha():是否全部由字母或文字组成

print("Hello World".isalpha())  # False
print("HelloWorld".isalpha())  # True
print("Hello World123".isalpha())  # False
print("Hello张三".isalpha())  # True

isdecimal():是否全部由十进制数字组成

isnumeric():是否全部由数字组成(包括汉字(一二三)、罗马数字等)

isalnum():是否全部由字母和数字组成

isdigit():是否全部由数字组成

字符串替换:

replace(被替子串,用来替换的子串,最大替换次数)

s = 'hello python python python'
print(s.replace('python','Java'))	#hello Java Java Java


s = 'hello python python python'
print(s.replace('python','Java',2))	#hello Java Java python

字符串的合并

join():将列表或元组之中的字符串合并为一个字符串

lst = ['hello','python','python','hello','hi']
print('|'.join(lst))	#hello|python|python|hello|hi


print('*'.join('python'))	#p*y*t*h*o*n

字符串的切片:

不可变,切片将产生新的对象

s = 'hello,world'
print(s,id(s))
s1 = s[:5]
s2 = s[6:]

在这里插入图片描述

格式化字符串

%做占位符

%s 字符串

%i或%d 整数

%f 浮点数

%.2f 保留两位小数

name = 'zs'
age = 22
print('我叫%s,今年%d岁' % (name,age))

{}做占位符

花括号内为索引

print('我的名字是{0},今年{1}岁,我真的叫{0}'.format(name,age))

f-string

print(f'我叫{name},今年{age}岁')

字符串编码解码

#编码
str1 = "我爱你中国"
str1_en = str1.encode() # 默认按照utf-8编码
print(str1_en)      # b'\xe6\x88\x91\xe7\x88\xb1\xe4\xbd\xa0\xe4\xb8\xad\xe5\x9b\xbd'

str1_en1 = str1.encode('gbk')
print(str1_en1)     # b'\xce\xd2\xb0\xae\xc4\xe3\xd6\xd0\xb9\xfa'

str1_en2 = str1.encode('utf-8')
print(str1_en2)     # b'\xe6\x88\x91\xe7\x88\xb1\xe4\xbd\xa0\xe4\xb8\xad\xe5\x9b\xbd'
#解码
str2 = b'\xe6\x88\x91\xe7\x88\xb1\xe4\xbd\xa0\xe4\xb8\xad\xe5\x9b\xbd'
print(str2.decode("utf-8"))     # 我爱你中国

str3 = b'\xce\xd2\xb0\xae\xc4\xe3\xd6\xd0\xb9\xfa'
print(str3.decode("gbk"))       # 我爱你中国

chr() 和 ord()

# ASCII码的转换
# chr()  ASCII值--->对应的字符
print(chr(97))  # a

# ord() 字符--->对应的ASCII值
print(ord('a')) # 97

十一、函数

函数定义

def …

def calc(a,b):
    c=a/b
    return c

注意!!!

1、在一个文件中,出现了定义的函数名相同的情况,后面定义的函数会覆盖前面的

def test():
    print("前面的")

def test():
    print("后面的")

test()  # 后面的

2、若将函数名赋值给了一个变量,还可以通过该变量调用函数

def test():
    print("一个函数")

demo = test
demo()  # 一个函数

传参

①位置传参

result = calc(2,5)
print(result)	#0.4

②关键字传参

result2 = calc(b = 2,a = 5)
print(result2)	#2.5

在函数调用过程中,进行参数的传递

①如果是不可变对象,在函数体的修改不会影响实参的值

②如果是可变对象,在函数体的修改会影响到实参的值

函数的返回值

①函数没有返回值可以不写return

②函数返回值为1个,直接返回原类型

③函数返回多个值时,结果为元组

没有return时默认返回None

函数的参数定义

①给形参设定默认值,默认形参一般放在最后

def fun2(a,b = 10):		#b为默认值参数,默认值为10
    print(a,b)

fun2(100)       #100,10	此时b使用默认值10
fun2(20,30)     #20,30

注意:函数定义过程中,既有可变关键字形参,又有可变位置形参,位置形参放前面

先* 再**

个数可变的位置参数(一个函数只能有一个可变位置参数)

使用*定义个数可变的位置形参

结果为一个元组

def fun3(*args1):
    print(args1)

fun3(10)        #(10,)
fun3(10,20,30)  #(10, 20, 30)

个数可变的关键字形参(一个函数只能有一个可变关键字参数

使用 ** 定义个数可变的关键字形参,输入形式:key = value

结果为一个字典

def fun4(**args1):
    print(args1)

fun4(a = 10)                    #{'a': 10}
fun4(a = 10,b = 20,c = 30)      #{'a': 10, 'b': 20, 'c': 30}

将一个列表转为位置传参的参数

def fun1(a,b,c):
    print('a=',a)
    print('b=',b)
    print('c=',c)
lst = [12,22,32]
fun1(*lst)

下面这种写法:*之后的参数,在函数调用时,只能关键字实参传递,否则报错

def fun2(a,b,*,c,d):    #这种写法:c、d只能关键字实参传递
    print('a=',a)
    print('b=',b)
    print('c=',c)
    print('d=',d)

fun2(10,20,c=30,d=40)

变量的作用域

局部变量 给局部变量加上global,变成全局变量

全局变量

def fun3():
    global age  #没有global时,age为局部变量,加上后,age为全局变量
    age = 22
    print(age)
fun3()
print(age)

匿名函数
使用lambda定义的表达式,该表达式包含了参数实现体返回值

num1 = lambda num : num ** 2
print(num1(3))  # 9

在这里插入图片描述

回调函数

def add(a,b):
    print(a + b)
def ji(x,y):
    print(x * y)

def func(x,y,fun):
    fun(x,y)

func(24,12,add)

闭包函数

一个外部函数内部定义了一个内部函数,且外部函数的返回值是内部函数,就构成了一个闭包,则这个内部函数称为闭包。

一个简单的闭包函数

def outer():
    def inner():
        print("这是一个闭包函数")
    return inner

fn = outer()    # fn相当于inner函数
fn()            # fn()相当于inner()

内部函数可以使用外部函数的变量

def outer(x):
    y = 17
    def inner():
        print(x + y)
    return inner

fn = outer(7)    # fn相当于inner函数
fn()            # fn()相当于inner()  24

闭包函数主要用于装饰器函数的实现

十二、浅拷贝与深拷贝

1、赋值,其实就是对象的引用(相当于起别名)

list1 = [124,58,35,45,"haha"]
print(list1)        # [124, 58, 35, 45, 'haha']
list2 = list1
print(list2)        # [124, 58, 35, 45, 'haha']
list2[2] = "哈哈"
print(list1)        # [124, 58, '哈哈', 45, 'haha']
print(list2)        # [124, 58, '哈哈', 45, 'haha']

内存图 Pythontutor–>可视化
在这里插入图片描述
2、浅拷贝 copy()

可以解决一维列表复制的问题

list3 = [124,58,35,45,"haha"]
list4 = list3.copy()
print(list3)        # [124, 58, 35, 45, 'haha']
print(list4)        # [124, 58, 35, 45, 'haha']
list3[2] = "哈哈"
print(list3)        # [124, 58, '哈哈', 45, 'haha']
print(list4)        # [124, 58, 35, 45, 'haha']

内存图
在这里插入图片描述
但是对于二维列表,简单的copy()不可行

import copy
list5 = [124,58,[15,47,632],35,45,"haha"]
list6 = list5.copy()
list5[2][1] = "张三"
print(list5)
print(list6)

在这里插入图片描述
3、深拷贝:对于二维列表,要考虑深拷贝

导入copy模块,使用deepcopy()

import copy
list5 = [124,58,[15,47,632],35,45,"haha"]
list6 = copy.deepcopy(list5)
list5[2][1] = "张三"
print(list5)
print(list6)

内存图
在这里插入图片描述

十三、filter和map方法

filter是一个内置类,筛选出满足要求的数据

filter()内置类中有两个参数,第一个参数函数第二个参数是一个可迭代对象

ages = [10,12,50,41,62,71,25,36,48,26]
list1 = filter(lambda ele:ele > 30,ages)
print(list(list1))  # [50, 41, 62, 71, 36, 48]

map方法:可以对所有数据进行相同的操作

ages = [10,12,50,41,62,71,25,36,48,26]
list2 = map(lambda ele:ele + 3,ages)
print(list(list2))  # [13, 15, 53, 44, 65, 74, 28, 39, 51, 29]

十四、装饰器

在不改变函数名的情况下,添加新功能,使用了闭包函数

def outer(fn):
    def inner(*args):
        print("数学运算的结果是:",end="")
        fn(*args)
    return inner

@outer
def add(a,b):
    print(a+b)
add(2,5)        # 数学运算的结果是:7

@outer
def jian(a,b,c):
    print(a-b-c)
jian(52,20,12)  # 数学运算的结果是:20

一个函数被多个装饰器修饰,从离它最近的装饰器开始执行,原函数只执行一次

def outer1(fn):
    def inner1():
        fn()
        print("可能是张三的")
    return inner1

def outer2(fn):
    def inner2():
        fn()
        print("可能是李四的")
    return inner2

@outer2
@outer1
def sing():
    print("这是谁的书?")
sing()

输出

这是谁的书?
可能是张三的
可能是李四的

Python的异常处理机制

try…except结构

try

可能出现异常的代码

except 异常类型

异常处理

try:
    n1 = int(input('请输入第一个整数:'))
    n2 = int(input('请输入第二个整数:'))
    result = n1 / n2
    print(result, type(result))
except ZeroDivisionError:
    print('除数不能为0!')
except ValueError:
    print('输入只能是数字!')

可以采用多个except结构,捕获多个异常

先子类异常,再父类异常,为避免遗漏,可在最后加一个BaseException

try…except…else结构

如果try中没有抛异常,则执行else块

如果try中抛异常,则执行except块

try…except…else…finally结构

finally无论是否发生异常都会执行,常用来释放try块中申请的资源

Python中常见的异常类型

ZeroDivisionError 除(取模)零

IndexError 序列中没有此索引

KeyError 映射中没有这个键

NameError 未声明/初始化对象(没有属性)

SyntaxError Python语法错误

ValueError 传入无效的参数

traceback模块的使用

import traceback
try:
    print('------------')
    print(1/0)
except:
    traceback.print_exc()

会在控制台打印出错信息

内置函数:

input(str类型):输入函数 括号内的是所要输入内容的提示内容 返回的也是str类型

print():输出函数

range():

对象列表不包含stop

range(stop):创建[0,stop]之间的整数序列,步长为1

range(start,stop):创建[start,stop]之间的整数序列,步长为1

range(start,stop,step):创建[start,stop]之间的整数序列,步长为step

可以使用list(range对象)查看range对象中的整数序列

chr():返回类型是String 可以二进制转字符串

ord():返回类型是int 可以得到字符的原始值

其他方法

id(变量名):获取变量的内存地址

type(变量名):获取变量的类型

str():将int或float型转化为str型

类似的有int(),float()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值