python基础学习2

Python基本语法

数字

数字类型

  • 整数(int)
  • 浮点数(float)
  • 复数(complex)

数学函数

使用数学函数需要导入math模块,常见的数学函数如下:

  • math.ceil(x):返回大于或等于x的最小整数
  • math.floor(x):返回小于或等于x的最大整数
  • math.sqrt(x):返回x的平方根
  • math.pow(x, y):返回x的y次方
  • math.exp(x):返回e的x次方
  • math.log(x):返回x的自然对数
  • math.log10(x):返回x的以10为底的对数
  • math.sin(x):返回x的正弦值
  • math.cos(x):返回x的余弦值
  • math.tan(x):返回x的正切值
  • math.asin(x):返回x的反正弦值
  • math.acos(x):返回x的反余弦值
  • math.atan(x):返回x的反正切值
  • math.degrees(x):将弧度转换为角度
  • math.radians(x):将角度转换为弧度

数学常量

  • math.pi:圆周率
  • math.e:自然常数e

随机数

Python提供了random模块,可以生成随机数。

  • random.random():返回0.0到1.0之间的随机浮点数
  • random.randint(a, b):返回a和b之间的随机整数
  • random.choice(seq):从序列seq中随机选择一个元素
  • random.shuffle(seq):将序列seq随机打乱
  • random.sample(seq, k):从序列seq中随机选择k个不重复的元素

字符串

字符串str是不可变序列,可以用单引号或双引号括起来,也可以用三引号括起来表示多行字符串。

s = 'hello, world'
s = "hello, world"
s = '''hello,
world'''

字符串访问

字符串可以用索引访问,索引从0开始,可以用负数索引从末尾开始。

s = 'hello, world'
print(s[0])  # h
print(s[-1])  # d

字符串切片

  • 字符串也可以用切片操作,语法为s[start:end:step],其中start是切片开始的索引,end是切片结束的索引(不包含),step是切片的步长,默认为1,负数表示逆序切片。
  • 切片遵循“左闭右开”原则,即左边的索引是包含在切片中的,右边的索引是不包含的。
s = 'hello, world'
print(s[0:5])  # hello
print(s[6:11])  # world
print(s[::2])  # hlowrd
# 将字符串逆序
print(s[::-1])  # dlrow ,dlrowolleh

字符串拼接

字符串可以用加号拼接,由于字符串是不可变序列,所以拼接操作不会改变原有字符串,而是返回一个新的字符串。

s1 = 'hello'
s2 = 'world'
s3 = s1 + s2
print(s3)  # helloworld

字符串方法

字符串有很多方法可以进行操作,常见的有:

  • s.lower():将字符串转换为小写
  • s.upper():将字符串转换为大写
  • s.startswith(str):判断字符串是否以str开头
  • s.endswith(str):判断字符串是否以str结尾
  • s.find(str):查找字符串str第一次出现的位置,找不到返回-1
  • s.replace(old, new):将字符串old替换为字符串new
  • s.split(str):以str为分隔符将字符串分割为列表
  • s.join(seq):以字符串seq中的元素为分隔符,将列表seq连接为字符串
  • s.isdigit():判断字符串是否只包含数字
  • s.isalpha():判断字符串是否只包含字母
  • s.isalnum():判断字符串是否只包含字母或数字
  • s.isspace():判断字符串是否只包含空白字符

转义字符

在字符串中,有些字符是有特殊含义的,比如\n表示换行,\t表示制表符,\r表示回车,\b表示退格,\f表示换页。如果要在字符串中使用这些字符,需要用\转义。

s = 'hello, world\n'
print(s)  # 会换行显示

原始字符串

原始字符串(raw string)是以r开头的字符串,它的特殊之处在于它会忽略所有的转义字符,也就是说,它不会将\n等转义字符转换为换行符。

s = r'hello, world\n'
print(s)  # 不会换行显示,原始字符串会原样输出

字符串格式化

字符串格式化(string formatting)有两种方式,一种是用%运算符,一种是用format()方法。

%运算符

使用%运算符格式化的方式与C语言中的printf()函数类似,可以用%d%f%s等表示整数、浮点数、字符串。

常见的格式化符号如下:

  • %d:整数
  • %f:浮点数
  • %s:字符串
  • %x:十六进制整数
  • %o:八进制整数
  • %e:科学计数法表示的浮点数
print('pi is %.2f' % 3.1415926)  # pi is 3.14)
print('hello, %s' % 'world')  # hello, world

format()方法

使用format()方法格式化的方式更加灵活,可以指定位置参数和关键字参数。

  1. 位置参数:使用{}表示位置参数,从左到右依次对应位置参数。
  2. 关键字参数:使用{key}表示关键字参数,key是参数名,从左到右依次对应关键字参数。
print('pi is {:.2f}'.format(3.1415926))  # pi is 3.14
name = 'world'
print('hello, {}'.format(name))  # hello, world

f-string

f-string(formatted string literal)是Python 3.6中新增的字符串格式化方式,可以直接在字符串中嵌入变量,语法为f'xxx{var}xxx'

name = 'world'
print(f'hello, {name}')  # hello, world

列表

列表list是可变序列,可以用方括号括起来,元素之间用逗号隔开。

l = [1, 2, 3, 4, 5]

列表的访问、切片、拼接与字符串类似。

列表方法

列表有很多方法可以进行操作,常见的有:

  • l.append(obj):在列表末尾添加元素
  • l.extend(seq):在列表末尾添加序列seq中的元素
  • l.insert(i, obj):在列表索引i处插入元素obj
  • l.remove(obj):删除列表中第一个出现的元素obj
  • l.pop(i):删除列表索引i处的元素,并返回该元素
  • l.index(obj):返回列表中第一个出现的元素obj的索引
  • l.count(obj):返回列表中元素obj出现的次数
  • l.sort():对列表进行排序
  • l.reverse():将列表逆序
  • l.clear():清空列表

元组

元组tuple是不可变序列,可以用圆括号括起来,元素之间用逗号隔开。

t = (1, 2, 3, 4, 5)

元组的访问、切片、拼接与字符串类似。

字典

字典dict是无序的键值对集合,可以用花括号括起来,键值对之间用冒号隔开,键和值用逗号隔开。

d = {'name': 'Alice', 'age': 20, 'city': 'Beijing'}

字典访问

字典可以用键访问值,也可以用get()方法访问值。

print(d['name'])  # Alice
print(d.get('age'))  # 20

添加、修改字典

字典可以用[]update()方法添加或修改键值对。

d['gender'] = 'female'
d.update({'age': 21})

字典删除

字典可以用del语句删除键值对,也可以用pop()方法删除键值对。

del d['age']
d.pop('city')

字典方法

字典有很多方法可以进行操作,常见的有:

  • d.keys():返回字典所有键的列表
  • d.values():返回字典所有值的列表
  • d.items():返回字典所有键值对的列表
  • d.get(key):返回字典中键key对应的值,如果不存在,返回None
  • d.pop(key):删除字典中键key对应的值,并返回该值
  • d.popitem():随机删除字典中的一对键值对,并返回该对键值对
  • d.update(other):更新字典,将other中的键值对添加到字典中
  • d.clear():清空字典

集合

集合set是无序的元素集合,可以用{}set()函数创建。

s = {1, 2, 3, 4, 5}

空集合

空集合可以用set()函数创建,不能用{}创建,因为{}表示空字典。

s = set()

集合方法

集合有很多方法可以进行操作,常见的有:

  • s.add(obj):添加元素obj到集合
  • s.remove(obj):删除集合中第一个出现的元素obj
  • s.pop():随机删除集合中的一个元素,并返回该元素
  • s.union(other):返回两个集合的并集
  • s.intersection(other):返回两个集合的交集
  • s.difference(other):返回两个集合的差集
  • s.symmetric_difference(other):返回两个集合的对称差集
  • s.issubset(other):判断集合是否是other的子集
  • s.issuperset(other):判断集合是否是other的超集
  • s.clear():清空集合
  • 40
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值