Python学习代码——基础篇

代码可直接复制到python文件中进行运行

# 1.打印
print("你好 世界")

# 2.列表(java中的数组)
name = ["lll", "gx", "zj", "xx"]
print(name[-2])

# 3. if判断
xmTail = 1.75
xmWight = 80.5
BMI = xmWight / (xmTail * xmTail)
print(BMI)

if BMI < 18.5:
    print("小明过轻")
elif BMI >= 18.5 and BMI < 25:
    print("小明正常")
elif BMI >= 25 and BMI < 28:
    print("小明过重")
elif BMI >= 28 and BMI < 32:
    print("小明肥胖")
else:
    print("小明严重肥胖")

# 4. for循环
names = ["xiaoli", "dali", "li", "guan"]
for name in names:
    print(name)
numbers = [1, 2, 3, 4, 5]
# range(5)函数是生产序列数方法
for number in range(5):
    print(number)
# python中的dict 类似java中的map
dict = {'Michael': "kjksd", 'Bob': "kkkk", 'Tracy': "ooxx"}
print(dict['Michael'])
# 判断可以是否存在
print('Thomas' in dict)
# 如果jjk不存在返回None
print(dict.get("jjk"))
# 删除dict中的值
dict.pop('Bob')
print(dict)

# 5. set 类似于数组无序 不重复
s = set([1, 2, 3])
print(s)
s.add("s")
print(s)
s.remove("s")
print(s)
s1 = set([1, 2, 3])
s2 = set([2, 3, 4])
print("s1取交集 ")
print(s1 & s2)
print("s1取并集 ")
print(s1 | s2)

# 6. 简单常用函数
# 取绝对值
print(abs(-1.23))
print(abs(1.23))
# 取最大值
print(max(1, 2, 3, 4, 5, 8))
arr = [1, 2, 3, 4, 4, 5]
print(max(arr))
# 取最小值
print(min(1, 2, 3, 4, 5, 8))
arr = [1, 2, 3, 4, 4, 5]
print(min(arr))
# 类型转换
print(int('123'))
print(int(12.34))
print(float('12.34'))
print(str(1.23))
print(str(100))
print(bool(1))
print(hex(23))

# 7. 函数的定义和调用
from _ast import Num


def sum_seris(x):
    sum = 0
    for number in range(x):
        print(number)
        sum = sum + number
    return sum


# 调用函数
print(sum_seris(10))


# 不做任何处理用pass
def Test_number(x):
    s = 0
    if x == 5:
        s = 100
    elif x == 10:
        s = 1000
    else:
        pass
    return s


print(Test_number(11))


# 参数检查
def Test_number1(x):
    if not isinstance(x, (int, float)):
        raise TypeError('参数类型不对')
    s = 0
    if x == 5:
        s = 100
    elif x == 10:
        s = 1000
    else:
        pass
    return s


print(Test_number1(11))


# python可以有多个返回值

# 默认返回值
def infor(name, gender, age=7, city="wuhan"):
    print('name:', name)
    print('gender:', gender)
    print('age:', age)
    print('city:', city)


print(infor("lll", "n"))
print(infor("zj", "w", 6))
print(infor("gx", "w", 6, 'hefei'))


# 传递list参数
def calc(numbers):
    sum = 0
    for n in numbers:
        sum = sum + n * n
    return sum


print(calc([1, 2, 3]))
print(calc([1, 2, 3, 7, 9]))


# 传递可变参数
def calcs(*numbers):
    sum = 0
    for n in numbers:
        sum = sum + n * n
    return sum


print(calcs(1, 2, 3))
print(calcs())

# 8. python 中的切片操作符slice
L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']
print(L[0:3])
print(L[:3])
print(L[0:])
LL = L = list(range(100))
print(LL[:10:2])  # 前10个数,每两个取一个
print(LL[::5])  # 取所有,每五个取一个

# 列表生成式代替循环
print([x * x for x in range(1, 11)])

# for循环后面还可以加上if判断 仅偶数的平方
print([x * x for x in range(1, 11) if x % 2 == 0])

# 双重循环
print([m + n for m in 'ABC' for n in 'XYZ'])

# 9. 用isdigit函数判断是否数字
# 判断是否为数字或者字母
str_1 = "123"
str_2 = "Abc"
str_3 = "123Abc"
print(str_1.isdigit())
# 用isalpha判断是否字母
print(str_1.isalpha())
# isalnum判断是否数字和字母的组合
print(str_1.isalpha())

# 生成器
g = (x * x for x in range(10))
print(next(g))
# map()传入的第一个参数是f,即函数对象本身。
# 由于结果r是一个Iterator,Iterator是惰性序列,
# 因此通过list()函数让它把整个序列都计算出来并返回一个list。
from _functools import reduce


def f(x):
    return x + x


r = map(f, [1, 2, 3])
print(list(r))


# 10. reduce把一个函数作用在一个序列[x1, x2, x3, ...]上,
# 这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算
def add(x, y):
    return x + y


print(reduce(add, [1, 3, 5, 7]))


# 练习把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字
def returnName(Str):
    rStr = ''
    for n, x in enumerate(Str, 1):
        if x.islower() and n == 1:
            x = x.upper()
        elif x.isupper() and n != 1:
            x = x.lower();
        rStr = rStr + x
    return rStr


print(returnName("admin"))
print(list(map(returnName, ['adam', 'LISA', 'barT'])))


# upper()  :将字符串转成大写,并返回一个拷贝
# lower()  :将字符串转成小写,并返回一个拷贝
# capitalize() :将字符串首字母,并返回一个拷贝
# title() :将每个单词的首字母大写,并返回一个拷贝
# isupper() :判断一个字符串是否是大写
# islower() :判断一个字符串是否是小写

# filter()也接收一个函数和一个序列。和map()不同的是,filter()把传入的函数依次作用于每个元素
# ,然后根据返回值是True还是False决定保留还是丢弃该元素。
def is_odd(n):
    return n % 2 == 1


print(list(filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15])))
print(list(map(is_odd, [1, 2, 4, 5, 6, 9, 10, 15])))

# 11. Python内置的sorted()函数就可以对list进行排序
print(sorted([36, 5, -12, 9, -21]))
# 绝对值大小排序
print(sorted([36, 5, -12, 9, -21], key=abs))
# 倒序排列
print(sorted([36, 5, -12, 9, -21], reverse=True))
# 字母排序可实现忽略大小写的排序
print(sorted(['bob', 'about', 'Zoo', 'Credit'], key=str.lower))

# 12. 关键字lambda表示匿名函数,冒号前面的x表示函数参数
print(list(map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9])))


# 13. 装饰器
def log(func):
    def wrapper(*args, **kw):
        print('call %s():' % func.__name__)
        return func(*args, **kw)

    return wrapper


@log
def now():
    print('2015-3-25')


print(now())


# 偏函数 进制转换
def int2(x, base=2):
    return int(x, base)


print(int2('1010101'))

# 14. 字典类型:映射即字典{"哈希值":"对象"}
dict = {}
print(type(dict))
dict1 = {'x': 1, 'y': 2}
print(dict1)
# 遍历字典并打印出来
for xx in dict1.keys():
    print('dict include %s is %d' % (xx, dict1[xx]))

# 15. 推导式
# 列表推导式:简化代码变量(有点类似于java中的三目运算符)
alist = []
for i in range(1, 11):
    if (i % 2 == 0):
        alist.append(i * i)
print(alist)
# 用推导式完成上述代码
blist = [i * i for i in range(1, 11) if (i % 2) == 0]
print(blist)

# 字典推导式
num = {}
for i in dict1:
    num[i] = 0
print(num)
# 用推导式完成上述代码
num = {i: 0 for i in dict1}
print(num)
# 1.打印
print("你好 世界")

# 2.列表(java中的数组)
name = ["lll", "gx", "zj", "xx"]
print(name[-2])

# 3. if判断
xmTail = 1.75
xmWight = 80.5
BMI = xmWight / (xmTail * xmTail)
print(BMI)

if BMI < 18.5:
print("小明过轻")
elif BMI >= 18.5 and BMI < 25:
print("小明正常")
elif BMI >= 25 and BMI < 28:
print("小明过重")
elif BMI >= 28 and BMI < 32:
print("小明肥胖")
else:
print("小明严重肥胖")

# 4. for循环
names = ["xiaoli", "dali", "li", "guan"]
for name in names:
print(name)
numbers = [1, 2, 3, 4, 5]
# range(5)函数是生产序列数方法
for number in range(5):
print(number)
# python中的dict 类似java中的map
dict = {'Michael': "kjksd", 'Bob': "kkkk", 'Tracy': "ooxx"}
print(dict['Michael'])
# 判断可以是否存在
print('Thomas' in dict)
# 如果jjk不存在返回None
print(dict.get("jjk"))
# 删除dict中的值
dict.pop('Bob')
print(dict)

# 5. set 类似于数组无序 不重复
s = set([1, 2, 3])
print(s)
s.add("s")
print(s)
s.remove("s")
print(s)
s1 = set([1, 2, 3])
s2 = set([2, 3, 4])
print("s1取交集 ")
print(s1 & s2)
print("s1取并集 ")
print(s1 | s2)

# 6. 简单常用函数
# 取绝对值
print(abs(-1.23))
print(abs(1.23))
# 取最大值
print(max(1, 2, 3, 4, 5, 8))
arr = [1, 2, 3, 4, 4, 5]
print(max(arr))
# 取最小值
print(min(1, 2, 3, 4, 5, 8))
arr = [1, 2, 3, 4, 4, 5]
print(min(arr))
# 类型转换
print(int('123'))
print(int(12.34))
print(float('12.34'))
print(str(1.23))
print(str(100))
print(bool(1))
print(hex(23))

# 7. 函数的定义和调用
from _ast import Num


def sum_seris(x):
sum = 0
for number in range(x):
print(number)
sum = sum + number
return sum


# 调用函数
print(sum_seris(10))


# 不做任何处理用pass
def Test_number(x):
s = 0
if x == 5:
s = 100
elif x == 10:
s = 1000
else:
pass
return s


print(Test_number(11))


# 参数检查
def Test_number1(x):
if not isinstance(x, (int, float)):
raise TypeError('参数类型不对')
s = 0
if x == 5:
s = 100
elif x == 10:
s = 1000
else:
pass
return s


print(Test_number1(11))


# python可以有多个返回值

# 默认返回值
def infor(name, gender, age=7, city="wuhan"):
print('name:', name)
print('gender:', gender)
print('age:', age)
print('city:', city)


print(infor("lll", "n"))
print(infor("zj", "w", 6))
print(infor("gx", "w", 6, 'hefei'))


# 传递list参数
def calc(numbers):
sum = 0
for n in numbers:
sum = sum + n * n
return sum


print(calc([1, 2, 3]))
print(calc([1, 2, 3, 7, 9]))


# 传递可变参数
def calcs(*numbers):
sum = 0
for n in numbers:
sum = sum + n * n
return sum


print(calcs(1, 2, 3))
print(calcs())

# 8. python 中的切片操作符slice
L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']
print(L[0:3])
print(L[:3])
print(L[0:])
LL = L = list(range(100))
print(LL[:10:2]) # 10个数,每两个取一个
print(LL[::5]) # 取所有,每五个取一个

# 列表生成式代替循环
print([x * x for x in range(1, 11)])

# for循环后面还可以加上if判断 仅偶数的平方
print([x * x for x in range(1, 11) if x % 2 == 0])

# 双重循环
print([m + n for m in 'ABC' for n in 'XYZ'])

# 9. isdigit函数判断是否数字
# 判断是否为数字或者字母
str_1 = "123"
str_2 = "Abc"
str_3 = "123Abc"
print(str_1.isdigit())
# isalpha判断是否字母
print(str_1.isalpha())
# isalnum判断是否数字和字母的组合
print(str_1.isalpha())

# 生成器
g = (x * x for x in range(10))
print(next(g))
# map()传入的第一个参数是f,即函数对象本身。
# 由于结果r是一个IteratorIterator是惰性序列,
# 因此通过list()函数让它把整个序列都计算出来并返回一个list
from _functools import reduce


def f(x):
return x + x


r = map(f, [1, 2, 3])
print(list(r))


# 10. reduce把一个函数作用在一个序列[x1, x2, x3, ...]上,
# 这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算
def add(x, y):
return x + y


print(reduce(add, [1, 3, 5, 7]))


# 练习把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字
def returnName(Str):
rStr = ''
for n, x in enumerate(Str, 1):
if x.islower() and n == 1:
x = x.upper()
elif x.isupper() and n != 1:
x = x.lower();
rStr = rStr + x
return rStr


print(returnName("admin"))
print(list(map(returnName, ['adam', 'LISA', 'barT'])))


# upper() :将字符串转成大写,并返回一个拷贝
# lower() :将字符串转成小写,并返回一个拷贝
# capitalize() :将字符串首字母,并返回一个拷贝
# title() :将每个单词的首字母大写,并返回一个拷贝
# isupper() :判断一个字符串是否是大写
# islower() :判断一个字符串是否是小写

# filter()也接收一个函数和一个序列。和map()不同的是,filter()把传入的函数依次作用于每个元素
# ,然后根据返回值是True还是False决定保留还是丢弃该元素。
def is_odd(n):
return n % 2 == 1


print(list(filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15])))
print(list(map(is_odd, [1, 2, 4, 5, 6, 9, 10, 15])))

# 11. Python内置的sorted()函数就可以对list进行排序
print(sorted([36, 5, -12, 9, -21]))
# 绝对值大小排序
print(sorted([36, 5, -12, 9, -21], key=abs))
# 倒序排列
print(sorted([36, 5, -12, 9, -21], reverse=True))
# 字母排序可实现忽略大小写的排序
print(sorted(['bob', 'about', 'Zoo', 'Credit'], key=str.lower))

# 12. 关键字lambda表示匿名函数,冒号前面的x表示函数参数
print(list(map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9])))


# 13. 装饰器
def log(func):
def wrapper(*args, **kw):
print('call %s():' % func.__name__)
return func(*args, **kw)

return wrapper


@log
def now():
print('2015-3-25')


print(now())


# 偏函数 进制转换
def int2(x, base=2):
return int(x, base)


print(int2('1010101'))

# 14. 字典类型:映射即字典{"哈希值":"对象"}
dict = {}
print(type(dict))
dict1 = {'x': 1, 'y': 2}
print(dict1)
# 遍历字典并打印出来
for xx in dict1.keys():
print('dict include %s is %d' % (xx, dict1[xx]))

# 15. 推导式
# 列表推导式:简化代码变量(有点类似于java中的三目运算符)
alist = []
for i in range(1, 11):
if (i % 2 == 0):
alist.append(i * i)
print(alist)
# 用推导式完成上述代码
blist = [i * i for i in range(1, 11) if (i % 2) == 0]
print(blist)

# 字典推导式
num = {}
for i in dict1:
num[i] = 0
print(num)
# 用推导式完成上述代码
num = {i: 0 for i in dict1}
print(num)
原文地址:https://www.cnblogs.com/LiLiliang/p/8872908.html