《python基础教程》

1.基础知识

  1. 获取用户输入input('请输入:')

  2. 幂运算符**计算乘方,函数形式pow(x,n)

  3. abs() 取绝对值round()把浮点数四舍五入为最接近的整数值。

    print(abs(-100))
    print(round(1.234))
    100
    1
    
  4. math实数相关的函数,cmath (complex math 复数),sqrt 计算平方根

    from math import sqrt  
    

序列

序列是一种基本的数据结构,它包含元素和索引,典型的序列包括列表,字符串,元组,可变序列可以访问,切片,重新赋值,不可变序列仅支持切边访问。

  • 列表count方法统计某个元素在列表中出现的次数

    x=[1,2,4,5,7,1,1,3,4,2,9]x=[1,2,4,5,7,1,1,3,4,2,9]
    x.count(2)
    2

  • 列表reverse方法,将列表中的元素反向存放

    x=[1,2,4,5,7,1,1,3,4,2,9]
    x.reverse()
    print(x)
    [9, 2, 4, 3, 1, 1, 7, 5, 4, 2, 1]
    

注:如果需要对一个序列进行反向迭代,那么可以使用reversed函数,这个函数并不返回一个列表,而是返回迭代器(iterator),使用list将返回对象转化list

list(reversed(x))
  • x.sort()原位置排序,sorted(x)返回新列表。另外两个可选参数key,reverse。关键字参数key提供的是排序过程中使用的函数

- 字符串格式化format方法
基本介绍:一种格式化字符串的函数,它增强了字符串格式化的功能。
基本语法:{} 和:来代替以前的%

"{} {}".format("hello", "world")    # 不设置指定位置,按默认顺序
'hello world'
 
"{0} {1}".format("hello", "world")  # 设置指定位置
'hello world'
 
"{1} {0} {1}".format("hello", "world")  # 设置指定位置
'world hello world'

也可以设置参数

# 通过字典设置参数
site = {"name": "菜鸟教程", "url": "www.runoob.com"}
print("网站名:{name}, 地址 {url}".format(**site))
 
# 通过列表索引设置参数
my_list = ['菜鸟教程', 'www.runoob.com']
print("网站名:{0[0]}, 地址 {0[1]}".format(my_list))  # "0" 是必须的

数字格式化

print("{:.2f}".format(3.1415926))
  • find 方法
    find方法可以在一个较长的字符串中查找子字符串,返回子字符串所在位置的最左端索引,如果没找到则返回-1.

  • join 方法
    是非常重要的字符串方法,是split()方法的逆方法,用来在队列中添加元素。

  • replace方法返回字符串的所有匹配项均被替换之后得到的字符串。

字典

copy:返回一个具有相同键值对的新字典。(shallow copy),因为值本身就是相同,而不是副本。

x={'username':'admin','machines':['foo','bar','baz']}
y=x.copy()
y['username']='mlh'
y['machines'].remove('bar')
print(x)
print(y)

{'username': 'admin', 'machines': ['foo', 'baz']}
{'username': 'mlh', 'machines': ['foo', 'baz']}

可以看出。当副本中替换值,添加新键值对,原字典不受影响,当原地修改某个值,原字典也会改变。因为同样的值也存在原字典中。避免这种情况,可以使用copy模块中的deepcopy函数完成。

from copy import deepcopy
d={'username':'admin','machines':['foo','baz']}
c=d.copy()
dc=deepcopy(d)
d['machines'].append('bar')
print(c)
print(dc)

{'username': 'admin', 'machines': ['foo', 'baz', 'bar']}
{'username': 'admin', 'machines': ['foo', 'baz']}

总结:deepcopy 不仅赋值原字典的外层结构,也复制了内层结构,创建了新的字典。copy和原字典,在内层结构上相互影响。

  • has_key 检查字典中是否含给出的键。表达式d.has_key(k)

  • d.get(key) 返回制定键的值,不存在返回默认值None

  • itemsiteritems :items以list形式返回所有的键值对。iteritems返回的是一个迭代器

  • pop 用来获取相应给定键的值,然后将键-值从字典中删除

  • update:将一个字典更新到另一个字典中去

  • assert 断言函数

猜你喜欢

转载自blog.csdn.net/qq_43283527/article/details/88025337