python学习之路(三)

#字符串(不可变数据类型)

一、字符串的表示

  1.  字符串可以用单引号‘’ ,双引号””表示,但是左右两边的符号要一样,不能一边单引号一边双引号

>>> str1 = "qwer"
>>> str2 = 'qwer'
str3 = "qwer'
SyntaxError: EOL while scanning string literal

 

2. 三引号字符串不赋值的情况下,通常当作跨行注释使用,例如:

'''这是一个三引号字符串用于注释的例子,
例子虽然只是简简单单的一句话,
却毫无遮掩地体现了作者用情至深,
所谓爱至深处情至简!'''

print("I love Python")


输出的结果为 :
I love Pytho

 

 3. 当一个字符串里面含有引号时,有下面几种方法可以实现打印

(1)使用不同的引号表示字符串

>>> "It's Python"
      
"It's Python"
>>> 

 (2)使用转义符号(\)对字符串中的引号进行转义

>>> 'It\'s Python'
      
"It's Python"
>>> 

(3)当字符串中有反斜杠时,可能会构成一个字符构成不可打印的字符

>>> string = 'C:\now'
      
>>> string
      
'C:\now'
>>> print(string)
      
C:
ow

  这时候不仅可以使用反斜杠转义,也可以使用原始字符串(在字符串前面加上一个英文字母r)

>>> string = 'C:\\now'
      
>>> string
      
'C:\\now'
>>> print(string)
      
C:\now

 

>>> string = r'C:\now'
      
>>> string
      
'C:\\now'
>>> print(string)
      
C:\now

4.字符串也可以进行加法和乘法运算

str1 = 'abc'
str2 = 'efg'
print(str1 + str2)
print(str1 * 5)


abcefg
abcabcabcabcabc

 

二、字符串的内置方法

字符串的内置方法有很多,具体可以去鱼c论坛上看,链接为https://fishc.com.cn/forum.php?mod=viewthread&tid=38992&extra=page%3D1%26filter%3Dtypeid%26typeid%3D403

这里我列举几个比较重要常用的内置方法

 

                                方法                                                      含义
expandtabs([tabsize=8])把字符串中的 tab 符号(\t)转换为空格,如不指定参数,默认的空格数是 tabsize=8
find(sub[, start[, end]])检测 sub 是否包含在字符串中,如果有则返回索引值,否则返回 -1,start 和 end 参数表示范围,可选
join(sub)以字符串作为分隔符,插入到 sub 中所有的字符之间
replace(old, new[, count])把字符串中的 old 子字符串替换成 new 子字符串,如果 count 指定,则替换不超过 count 次。
split(sep=None, maxsplit=-1)不带参数默认是以空格为分隔符切片字符串,如果 maxsplit 参数有设置,则仅分隔 maxsplit 个子字符串,返回切片后的子字符串拼接的列表
strip([chars])删除字符串前边和后边所有的空格,chars 参数可以定制删除的字符,可选


    


#列表(可变数据类型)

一、建立列表——列表中可以包含任何

list1 = [1, 2, "sdj", (1, 2)]
print(list1)

[1, 2, 'sdj', (1, 2)]

二、列表时可以修改的,所以它允许增加删除列表中的元素等操作

1. 向列表中添加元素

(1)使用 append()方法在列表末尾追加数据(只能是一个数据)

list1 = [1, 2, "sdj", (1, 2)]
list1.append(3)
print(list1)


[1, 2, 'sdj', (1, 2), 3]

(2)extend()方法利用迭代的方式追加多组数据
 

list1 = [1, 2, "sdj", (1, 2)]
list1.extend("abc")
print(list1)


[1, 2, 'sdj', (1, 2), 'a', 'b', 'c']

(3)使用 insert()方法在指定位置添加一个新元素

list1 = [1, 2, "sdj", (1, 2)]
list1.insert(1, "qw")
print(list1)


[1, 'qw', 2, 'sdj', (1, 2)]

2. 从列表中删除数据

remove(value)可以指定参数,当不指定参数时,默认删除在最后一个
pop(index = None)可以指定弹出的陈述句的索引号,默认弹出最后一个,可以获取弹出的数据
del可以删除列表索引出的数据

3. 列表其他的内置方法

clear()清空列表中的元素
copy()列表的复制
count(value)计算列表中指定元素的个数
index(value,star = None ,stop = None)在指定范围内找出列表元素的索引号(所在列在中位置)
reverse()将列表整个原定翻转
sort(key = None, reverse = False)用指定的方式对列表的元素进行排序,默认从小到大

 


#元组(不可变数据类型)

一、,元祖和字符串一样是不可修改的,一旦修改就会报错

tuple1 = (11,22,33,44)
tuple1[2] = 55
print(tuple1)


TypeError: 'tuple' object does not support item assignment

二、元祖的内置方法

元祖的内置方法很少

count(value)计算元组中指定元素的个数
index(value,star = None ,stop = None)在指定范围内找出元组元素的索引号(所在元组中位置)

这里值得注意的是,元祖不可修改 是指元祖元素不可修改,但是元祖元素如果是可修改的数据类型,则元素中的元素可以修改,例如:

tuple1 = (123, "abc", ["jiang", 456, (1, 24)], "def")
tuple1[2][0] = "qwer"
print(tuple1)

输出的接结果为:
(123, 'abc', ['qwer', 456, (1, 24)], 'def')

 

#字典(不可变数据类型)

一、建立和访问字典

建立字典的方法有很多种,就不一一举例了

dict1 = {123: 456, "abc": "shjh"}
print(dict1)
dict2 = dict(A=123, B="abc")
print(dict2)


{123: 456, 'abc': 'shjh'}
{'A': 123, 'B': 'abc'}

注意:列表,字典和集合不能作为字典的key,这和字典的储存方式有关

python 调用内部的散列函数,将键(Key)作为参数进行转换,得到一个唯一的地址(这也就解释了为什么给相同的键赋值会直接覆盖的原因,因为相同的键转换后的地址是一样滴),然后将值(Value)存放到该地址中。

对于 Python 来说,键(Key)必须是可哈希的,换句话说就是要可以通过散列函数计算出唯一地址的。那如果拿一个变量当键(Key)可以吗?肯定不行。因为变量随时都可能改变,不符合可哈希原则!
 

 

二、字典的各种内置方法

fromkeys(*args,**kwargs)用于创建并返回一个新的字典,第一个参数是字典的键;第二个参数是可选的,如果不输入则返回None
clear()清空字典中的元素
copy()复制字典
get(k, d =None)寻找并返回指定的值,如果找不到默认返回None,可自行设置第二个参数的值,使找不到是返回设置的值
keys()返回字典中的键
values()放回字典中的值
items()返回字典中所有的键值对
pop(k, d =None)弹出给定 键对应的值
popitem()随机弹出一个项(键值对)
setdefault(k, d =None)和get()方法类似,但是setfault()在字典中找不到相应的键时会自动添加
update(E=None ,**F)用来更新字典

#集合(可变数据类型)

一、建立集合

set1 = {1, 3, "abc" }
set2 = set([1, 3, "abc" ])
print(set1)
print(set2)


{1, 'abc', 3}
{1, 'abc', 3}

二、集合中的元素是唯一的

set1 = {1, 3, "abc", 1, 3}
print(set1)


{1, 3, 'abc'}

三、集合中的元素只能是不可变数据类型

set1 = {1, 3, "abc", [1, 2]}
print(set1)


TypeError: unhashable type: 'list'

集合的内置方法就不多说了,具体可以ctrl+鼠标点击set去查看

 

 

 

 

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值