Python基础语法

1数据类型

使用type()函数去查看元素的类型

1.1数字类型

a = 3   # int类型
f = 3.14    # float类型
c = 3 + 4j  # complex类型
  • 判断这是什么类型? type()
# 判断变量的类型
print(type(a))
print(type(f))
print(type(c))
  • 判断这是不是int类型?这是不是str类型? isinstance()
# 判断a是不是int类型?
print(isinstance(a, int))   # 返回true or false
  • 判断两个数字是否相等?math.isclose()
import math
print(0.4 - 0.3 == 0.1)     #输出False,因为浮点数会有数字溢出的误差
print(math.isclose(0.4 - 0.3, 0.1))     #输出True,使用isclose表示非常接近

1.2字符串类型-String

如何去表示字符串呢?
- 单引号   a = 'test'
- 双引号   b = "Python"
- 三引号   text = '''内容...'''		#三个单引号
一个代码示例
text = "Beautiful is better than ugly." \
       "Easy is better than complex."
print(len(text))    # 字符串的长度
print(text.count('is'))    # 字符串中‘is’出现的次数
print('beautiful' in text)    # 判断某个元素在不在字符串中
转义-如何在字符串里面去表达出来反斜杠\呢?
  • \n表示换行;\t表示制表符(空格)
  • 用两个\ \去表达\
print('jiwei\\')	#==> jiwei\
  • 那么多个反斜杠呢?

可以使用r加字符串 表示字符串的原始含义

print(r'jiwei\\')	#==> jiwei\\
常用方法!!!
a = 'python Is Perfect'
print(a.upper())    # 全部大写 PYTHON IS PERFECT
print(a.lower())    # 全部小写 python is perfect
print(a.title())    # 每个单词首字母大写 Python Is Perfect
print(a.capitalize())   # 句首单词大写 Python is perfect
b = '   python   '
print(b.strip())    # 去除两端的空格

print(a.split(' '))     # 按照指定的字符去分割 分割为列表 ['python', 'Is', 'Perfect']
print(' '.join(['hello', 'world']))    # 连接字符串序列

print(a.find('t'))  # 搜索指定的字符串,返回索引值 只返回第一个遇到的指定元素

print(a.replace('Is', 'Are'))   # 替换元素 python Are Perfect
其他重要的方法!!!
  • 字符串映射
table = ''.maketrans('0123456789', '零一二三四五六七八九')
print('Tel:62819743'.translate(table))
  • 对齐方式
编码和解码
a = '你好'    # 对字符串编码
print(a.encode())   # b'\xe4\xbd\xa0\xe5\xa5\xbd'
print(type(a.encode()))     # 编码后为<class 'bytes'>格式

# 解码
x = b'\xe6\x89\x8e\xe5\xbf\x83\xe4\xba\x86\xef\xbc\x8c\xe8\x80\x81\xe9\x93\x81'
print(x.decode())   # 扎心了,老铁

1.3列表类型-list

列表的创建
list = ['abcd', 785, 23, 'run', 72.1]
print(list((3, 5, 7, 9)))      # 将元组转为列表 [3, 5, 7, 9]
print(list(range(1, 10, 2)))   # 将range转换为列表 [1, 3, 5, 7, 9]
print(list('hello world'))     # 将字符串转换为列表 ['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']
print(list({2, 4, 2, 1}))      # 将集合转换为列表 [1, 2, 4]
  • 列表的索引

  • 列表的拼接、重复

    使用+进行列表的拼接;使用*表示列表的重复

    list = ['abcd', 785, 23, 'run', 72.1]
    list2 = [1111]
    print(list+list2)
    
列表生成器
print([x ** 2 for x in range(5)])
print([i * 2 for i in range(1, 100) if i * 2 < 50])
列表常用方法
a = [4, 2, 3, 6, 6, 9, 5, 8, 1]
a.insert(0, 1)  # 在第0位插入1
print(a)    # [1, 4, 2, 3, 6, 6, 9, 5, 8, 1]

a.append(77)    # 在列表的末尾添加元素77
print(a)

a.sort()    # 对列表a排序
print(a)

a.reverse()     # 对列表a倒叙排序
print(a)

print(a.index(77))      # 元素77在列表a中的索引

print(a.count(1))    # 列表a中元素1的个数

a.remove(77)     # 删除元素   可以用来删除指定元素
print(a)

print(a.pop())  # 删除最后面的元素
print(a)

print(a.pop(-2))    # 删除指定索引的元素

b = [22, 23, 24]
a.extend(b)     # 在列表a后面扩展列表b
print(a)    # [9, 8, 6, 6, 5, 4, 3, 1, 22, 23, 24]
列表-案例1
def clean_lixt(cls):
    cleaned_list = []
    for i in cls:
        for j in i:
            if j.isalpha() != True:
                i = i.replace(j,'')
        cleaned_list.append(i)
    return cleaned_list

coffee_list = ['32latte', '_Americano30', '/34Cappuccino', 'Mocha35']
cleaned_list = clean_lixt(coffee_list)
for k, v in zip(range(1, len(cleaned_list)+1), cleaned_list):
    print(k, v)

1.4元组类型-tuple

t = ('abcd', 785, 23, 'run', 72.1)
t1 = (1,)

==元组内元素不可以修改!!!==定义只有一个元素的元组时,元素后面要加上逗号!!!

但是元组内可以加上可变的对象,如list

t2 = ('a', 'b', 12, ['A', 'C'])
t2[-1][0] = 'X'
print(t2)   # ('a', 'b', 12, ['X', 'C'])
元组的用途
  • 可变长位置参数
def foo(arg1, *argst):
    print(arg1)
    print(argst)    # * 可以作为收集参数的作用,收集结果以元组形式保存


foo('Hello', 'Wangdachui', 'Jiwei', 'Sunyan')
  • 作为函数特殊返回类型
def foo():
    return 1, 2, 3

print(foo())	# (1, 2, 3)

1.5字典类型-dict

d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
print(d['Bob'])     # 输出75

字典是无序的,用键值对存储,查找极快

同一个字典中key值必须是唯一的!!!

查看字典中那些键对应的值为85

d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
for key in d:
    if d[key] == 85:
        print(key)

1.6集合类型-set

s = set([1, 2, 3])                  # {1, 2, 3}
s2 = set([1, 1, 2, 2, 2, 3, 3])     # {1, 2, 3}
print(s, '\n', s2)
print(id(s), '\t', id(s2))          # id 不同

2运算符

2.1算术运算符

  • 乘方:**
print(-3**2)	#-9
print((-3)**2)	#9	因为乘方的优先级要高于减号
  • 整除://

9 // 2 = 4

  • 取余:%

9 % 2 = 1

9 / 2 = 4.5

2.2比较运算符

  • 赋值 =
  • 比较 ==
  • 不等于 !=

2.3赋值运算符

  • =
  • +=
  • -=
  • /=
  • %=
  • *=
  • //=

2.4逻辑运算符

  • and 两者同时成立才为True

  • or 两者成立一个就为True

  • not 取反

2.5成员运算符

  • in 在。。里面
  • not in 不在。。里面
print(60 in[70, 60, 50])    # True
print('abc' in 'abc123sa')  # True
print('abd' in 'a1b2cd')    # False
print('3' in map(str, range(5)))    # True

2.6身份运算符

  • is 判断两个标识符是不是引用一个对象
  • is not
y = 1
x = 1
print(x is y)   # True
print(id(x) == id(y)) # True

3程序控制流

if

import random
x = random.randint(0, 300)
count = 0
while count <= 5:
    num = int(input('please enter a number between 0 - 300'))

    if num == x:
        print('bingo!')
    elif num > x:
        print('too large, please try again')
    else:
        print('too small, please try again')
    count += 1
print('fail!')

for循环


for i in range(1, 10, 2):
    print(i)

l = list(range(11))
for i in l:
    print(i)
    
s = 'Python'
for i in s:
    print(i)
   

上面的输出结果都是每行一个元素的输出,那么如何在一行去输出呢?

  • 加上end=’’
for i in range(1, 10, 2):
    print(i, end=',')
print()

l = list(range(11))
for i in l:
    print(i, end=' ')
print()
s = 'Python'
for i in s:
    print(i,end='')

break语句

sumA = 0
i = 1
while True:
    sumA += i
    i += 1
    if sumA > 10:
        break
print('i={},sumA={}'.format(i, sumA))
  • break是

4函数、类、对象

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

最佳第六六六人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值