天天看点

Python学习笔记(进阶)

三元运算

三元运算(三目运算),是对简单的条件语句的缩写,让代码更为简洁

三元运算格式

result = 值1 if 条件 else 值2
# 如果条件成立,那么将“值1” 返回给result 变量,否则将“值2” 返回给result变量      

普通if-else语句

# 普通if-else
a = 1
b = 2

if a > b:
    print(a)
else:
    print(b)      

利用三元运算改写

result=print(a) if a > b else print(b)      

上面对比来看,利用三元运算写简单的if语句会比一般if-else简洁,阅读性更高。

字符串常用方法

1.endswith() #是否以***结束

>>> a = 'hello world'
>>> a.endswith('ld')   # 以ld结尾,返回True
True
>>> a.endswith('hello')  # 不是以hello结尾,返回False
False
>>>      

2.startswith()#是否以***开始

>>> a = 'hello world'
>>> a.startswith('world')  # 不是以world开头,返回False
False
>>> a.startswith('hello')  # 以hello 开头,返回True
True
>>>      

3.find #检测str是否包含在mystr中,如果是返回开始的索引值,否则返回-1

mystr.find(str,start=0,end=len(mystr))

>>> mystr = 'hello world,life is short,you need python'
>>> mystr.find('world')  # 如果找到返回字符串所在下标位置
6
>>> mystr.find('is',0,5)  # 没有找到返回-1
-1
>>> mystr.find('is',0,20)
17      

4.isalnum()判断字符串是否是字母和数字

>>> mystr ='python321'
>>> mystr.isalnum()   # 字符串中只包含数字和字母返回True
True
>>> mystr1 ='python 321'
>>> mystr1.isalnum()  # 字符串中有空格,不全是字母或者数字,返回False
False
>>>      

5.isalpha()判断字符串是否是字母

>>> mystr= 'abc'
>>> mystr.isalpha()   # 字符串中是纯字母,返回True
True
>>> mystr= 'abc123'  # 字符串中不是纯字母,返回Fals
>>> mystr.isalpha()
False
>>>      

6.isdigit()判断字符串是否是数字

>>> mystr = 'abc123'  
>>> mystr.isdigit()   # 判断字符串是否是纯数字,是返回True,否则返回False
False
>>> mystr = '123'
>>> mystr.isdigit()
True      

7.islower()#是否是小写

>>> mystr= 'Hello'
>>> mystr.islower()  # 判断字符串是否是小写,是返回True,否则返回False
False
>>> mystr='hello'
>>> mystr.islower()
True      

8.isupper()#是否大写

>>> mystr= 'Hello'
>>> mystr.isupper()  # 判断字符串是否是大写,是返回True,否则返回False
False      

9.lower将字符串中的大写字母全部变成小写的。

>>> mystr='Python HELLO world'
>>> mystr.lower()
'python hello world'      

10、upper将字符串中的小写字母全部变成大写字母

>>> mystr='Python HELLO world'
>>> mystr.upper()
'PYTHON HELLO WORLD'      

11、swapcase小写变大写,大写边小写

>>> mystr='Python HELLO world'
>>> mystr.swapcase()
'pYTHON hello WORLD'      

12、title把每个单词的首字母变成大写

>>> mystr='my name is lilei'
>>> mystr.title()
'My Name Is Lilei'      

13、lstrip移除左侧空白

>>> mystr='   python'
>>> mystr.lstrip()
'python'      

14、rstrip移除右侧空白

>>> mystr='   python     '
>>> mystr.rstrip()
'   python'
>>>      

15、trip移除两侧空白

>>> mystr='   python     '
>>> mystr.strip()
'python'      

16、replace(old,new,count=None):old需要替换的字符串,new替换成这个字符串,count替换多少个。不穿count表示全部替换。

>>> mystr='my name is lilei'
>>> mystr.replace('lilei','ligang')
'my name is ligang'      

17、split切割字符串

>>> mystr='my name is lilei'
>>> 
>>> mystr.split(" ")
['my', 'name', 'is', 'lilei']      

18、join字符串连接,循环取出字符串的值用**去连接

>>> mystr='hello'
>>> '-'.join(mystr)
'h-e-l-l-o'      

19、count()统计出现的次数

>>> mystr='my name is lilei'
>>> mystr.count('i')
3      

字符串格式化扩展(f-strings)

python3.6新增了f-Striings方法,它可以使得字符串格式化更容易。

f-strings是指以f或F开头的字符串,其中以{}包含的表达式会进行值替换。

Python学习笔记(进阶)
>>> name = '杨过'
>>> age = 18
>>> f'我是{name},我今年{age}岁'
'我是杨过,我今年18岁'
>>> F'我是{name},我今年{age}岁'
'我是杨过,我今年18岁'      

因为f-strings是在运行时计算的,那么这就意味着你可以在其中放置任意合法的Python表达式,比如:

运算表达式

>>> f"{ 2 * 3 + 1}"
'7'      
>>> f'我是{name},我来自{home},我今年{age}岁,身高{height:.1f}米,银行存款{money:,}'
'我是杨过,我来自终南山,我今年10岁,身高180.2米,银行存款1,234,567,890,123'      

列表常用方法

>>> li =['python','linux']
>>> newli = ['java','mysql']
>>> li.extend(newli)
>>> li
['python', 'linux', 'java', 'mysql']      

1.append在列表后追加元素

>>> li = ['python','java']
>>> li.append('c++')
>>> li
['python', 'java', 'c++']
>>>      

2.count统计元素出现的次数

>>> li = ['python','java','python','c','c++','linux']
>>> li.count('python')
2      

3.extend扩展,相当于批量添加

>>> li =['python','linux']
>>> newli = ['java','mysql']
>>> li.extend(newli)
>>> li
['python', 'linux', 'java', 'mysql']      

4.index获取指定元素索引号

>>> li
['python', 'linux', 'java', 'mysql']
>>> li.index('java')
2
>>> li.index('python')
0      

5.insert在指定位置插入

>>> li = ['python', 'linux', 'java', 'mysql']
>>> 
>>> li.insert(1,'php')
>>> li
['python', 'php', 'linux', 'java', 'mysql']
>>>      

6.pop删除最后一个元素

>>> li = ['python', 'php', 'linux', 'java', 'mysql']
>>> 
>>> li.pop()
'mysql'
>>> li
['python', 'php', 'linux', 'java']      

7.remove移除左边找到的第一个元素

>>> li
['python', 'php', 'linux', 'java']
>>> li.remove('php')
>>> li
['python', 'linux', 'java']      

8.reverse反转列表

>>> li=['python', 'linux', 'java']
>>> 
>>> li.reverse()
>>> li
['java', 'linux', 'python']      

9.sort列表排序

>>> li = ['python', 'php', 'linux', 'java', 'mysql']
>>> li.sort()
>>> li
['java', 'linux', 'mysql', 'php', 'python']

>>> li.sort(reverse=True)
>>> li
['python', 'php', 'mysql', 'linux', 'java']      

字典常用方法

1.修改元素

字典中的值是可以修改的,通过键找到对应值修改

>>> info = {'name':'xiaoming','age':18}
>>> info['age'] = 20
>>> info['age']
20
>>> info
{'name': 'xiaoming', 'age': 20}      

2.新增元素

如果在使用变量名[‘键’]=数据时,这个“键”在字典中不存在,那么就会新增这个元素

>>> info = {'name': 'xiaoming', 'age': 20}
>>> info['hometown']='广州'
>>> info
{'name': 'xiaoming', 'age': 20, 'hometown': '广州'}      

3.删除元素

del删除指定元素

clear清空字典

>>> info = {'name': 'xiaoming', 'age': 20, 'hometown': '广州'}
>>> del info['age']
>>> info
{'name': 'xiaoming', 'hometown': '广州'}
>>> info.clear()
>>> info
{}      

4.len查看字典中有几个键值对

>>> info = {'name': 'xiaoming', 'age': 20, 'hometown': '广州'}
>>> len(info)
3      

5.keys Python3中返回包含字典所有key值的dict_keys对象,用for循环取出每个key值。

Python2中直接返回一个包含字典所有key值的列表

>>> info = {'name': 'xiaoming', 'age': 20, 'hometown': '广州'}
>>> info.keys()
dict_keys(['name', 'age', 'hometown'])   #  python3版本返回一个dict_keys对象,可以迭代取出里面元素
>>> for i in info.keys():
...     print(i)
... 
name
age
hometown
>>> 

# python2版本直接生成列表
>>> info = {'name': 'xiaoming', 'age': 20, 'hometown': '广州'}
>>> info.keys()
['hometown', 'age', 'name']      

6.values获取字典的所有值(value)

python3版本中使用values返回一个包含所有值(value)的dict_values对象

python2版本中使用values直接返回包含字典中所有值(value)的列表

>>> info = {'name': 'xiaoming', 'age': 20, 'hometown': '广州'}
>>> info.values()
dict_values(['xiaoming', 20, '广州'])
>>> for i in info.values():
...     print(i)
... 
xiaoming
20
广州



# python2 版本
>>> info = {'name': 'xiaoming', 'age': 20, 'hometown': '广州'}
>>> info.values()
['\xe5\xb9\xbf\xe5\xb7\x9e', 20, 'xiaoming']      
>>> info = {'name': 'xiaoming', 'age': 20, 'hometown': '广州'}
>>> info.items()
dict_items([('name', 'xiaoming'), ('age', 20), ('hometown', '广州')])


# python2版本
>>> info = {'name': 'xiaoming', 'age': 20, 'hometown': '广州'}
>>> info.items()
[('hometown', '\xe5\xb9\xbf\xe5\xb7\x9e'), ('age', 20), ('name', 'xiaoming')]      
>>> info = {'name': 'xiaoming', 'age': 20, 'hometown': '广州'}
>>> info.pop('name')
'xiaoming'
>>> info
{'age': 20, 'hometown': '广州'}