Python学习代码——基础篇

参考教材连接:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000

print("你好 世界")

name=["lll","gx","zj","xx"]
print(name[-2])

# 判断测试
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("小明严重肥胖")

# 循环测试
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)

# 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)

# 取绝对值
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))
# 函数的定义和调用
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())

#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‘])

#判断是否为数字或者字母
#用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))

#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])))

#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))

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

#装饰器
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‘))

原文地址:https://www.cnblogs.com/LiLiliang/p/8872908.html

时间: 2024-08-26 16:59:58

Python学习代码——基础篇的相关文章

Python学习笔记基础篇——总览

Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列表.字典.主文件判断.对象 Python学习笔记——基础篇1[第三周]——set集合 Python学习笔记——基础篇2[第三周]——计数器.有序字典.元组.单(双)向队列.深浅拷贝.函数.装饰器 Python学习笔记——基础篇[第四周]——迭代器&生成器.装饰器.递归.算法.正则表达式 Python

Python学习笔记——基础篇【第六周】——面向对象

Python之路,Day6 - 面向对象学习 本节内容: 面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法. 面向对象编程(Object-Oriented Programming )介绍 对于编程语言的初学者来讲,OOP不是一个很容易理解的编程方式,大家虽然都按老师讲的都知道OOP的三大特性是继承.封装.多态,并且大家也 都知道了如何定义类.方法等面向对象的常用语法,但是一到真正写程序的时候,还是很多人喜欢用函数式编程来写代码,特别是初学者,很容易陷入一

Python学习笔记——基础篇【第四周】

本节大纲 1.迭代器&生成器 2.装饰器 a.基本装饰器 b.多参数装饰器 3.递归 4.算法基础:二分查找.二维数组转换 5.正则表达式 6.常用模块学习 7.作业:计算器开发 a.实现加减成熟及括号优先级解析 b.用户输入1-2*((60-30+(-40/5)*(9-2*5/3+7/3*99/4*2998+10*568/14))-(-4*3)/(16-3*2))等类似公式后,必须自己解析里面的(),+,-,*,/符号和公式,运算后得出结果,结果必须与真实的计算器所得出的结果一致 迭代器&

python学习之基础篇

python是一种实际应用较为广泛的语言,并且python的使用是完全免费的,python是一种面向对象(oop)的语言,类模块支持多继承,多态等.笔者认为python最强大之处是可以灵活调用其他语言的程序为其所用. 在开始使用python之前要选一款适合自己的IDE ,笔者所用为pycharm,pycharm是一款功能非常强大的集成开发环境,支持Linux,Windows,Mac等操作系统,并且支持多种编程语言,带有语法高亮.智能提示.自动完成等功能,可以提高开发效率. 注:所有内容都是基于p

python 学习之 基础篇三 流程控制

前言: 一. python中有严格的格式缩进,因为其在语法中摒弃了“{}”来包含代码块,使用严格的缩进来体现代码层次所以在编写代码的时候项目组要严格的统一器缩进语法,一个tab按键设置为四个空格来缩进,防止缩进不规范导致的启动失败. 二.在python中变量(标识符)命名和一般的高级语言没有什么不同都推荐使用,字母.下划线.数字命名,其中数字不能作为标识符的开头,python中变量名是区分大小写的(所以可以使用驼峰命名法去命名,也就是英文单词的字母首字母大写其余的小写).以下划线开头的标识符是有

Python学习笔记——基础篇【第五周】——re.match与re.search的区别

正则表达式 语法: import re #导入模块名 p = re.compile("^[0-9]") #生成要匹配的正则对象 , ^代表从开头匹配,[0-9]代表匹配0至9的任意一个数字, 所以这里的意思是对传进来的字符串进行匹配,如果这个字符串的开头第一个字符是数字,就代表匹配上了 m = p.match('14534Abc') #按上面生成的正则对象 去匹配 字符串, 如果能匹配成功,这个m就会有值, 否则m为None if m: #不为空代表匹配上了 print(m.group

python 学习分享-基础篇

1.python起手式 写下第一个代码,打印'hello world' print('hello world') 2.变量 变量是为了存储信息,在程序中被调用,标识数据名称或类型. 变量定义的规则: 变量名只能是字母,数字或下划线的任意组合 变量名的第一个字符不能是数字 关键字不能生命为变量 为了方便读取等,变量命名一般都遵循变量本身的意义,如名字命名为name,年龄为age等等. name = "Laay" #字符串类型string age = 21 #int类型 province

Python学习笔记——基础篇【第二周】未完待续

python介绍 cpython print("alex xx")  c解释器 .pyc(字节码)  机器码 cpu jphthon print("alex xx") java解释器 Java字节码 机器码 cpu irongpython print("alex xx") C#解释器 C#字节码 机器码 cpu ruby js... pypy print("alex xx") 解释器 字节码  机器码 cpu 最快 代码执行的

Python学习笔记——基础篇【第五周】——常用模块学习

模块介绍 本节大纲: 模块介绍 time &datetime模块   (时间模块) random   (随机数模块) os   (系统交互模块) sys shutil   (文件拷贝模块) json & picle shelve   (封装模块) xml处理 yaml处理 configparser hashlib subprocess logging模块 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的