突破%

 

python基础之基础语法

基础语法、数据类型、条件循环语句、函数

一、基础语法

1、输入、输出
input()  # 输入 返回字符类型
print() # 输出
print(a + b)  # 如果是两个字符相加,输出ab 拼接。

2、格式化输出字符串
占位符 %s
格式化函数:'{}, {}'.format('hello', 'world')
f-string:f'age is {2 + 4}'
3、缩进
四个空格
4、标识符
字母、下划线、数字组成,首字母不能是数字
区分大小写
不能和关键字重名
5、标识符命名规则
见名知意、驼峰命名、蛇形命名
6、算术运算符
+ - * / % ** //
7、比较运算符
== != > < >= <= 
8、赋值运算符
= += -= *= /=
9、位运算符
& | ^ ~ << >>
10、逻辑运算符
and or not

二、数据类型

6种标准数据类型:数值-Number  字符-String  列表-List  元组-Tuple  集合-Sets  字典-Dictionary

整形:int
浮点型:float, 精度默认17位,更大精度用decimal

字符串:string
字符串截取:下标截取 print(str[1:4]),左闭右开
消除字符与空格:str.strip() 默认删除两边空格 str.strip('x')  默认删除两边的x
字符串拼接:用加号做拼接
返回字符长度: len(str)
检查字符串是否包含指定的子串,返回索引值,可以选择是否指定范围:find(str, beg, end) , index(str, beg, end)
检查字符串中子串出现的次数,可以选择是否指定范围:count(str, beg, end)
字符串替换:replace(old, new, max), 旧串, 新串, 替换最大次数
切片:split(str, max) 通过指定str切片
首字母大写:capitalize()
字符小写:lower()
字符大写:upper()
字符大小互转:swapcase()
判断字符是否全数字:isnumeric()

布尔型:True False
and or操作符

数据类型转换:
转整形 int()
转浮点型 float()
转字符型 str()
转16进制 hex()
转8进制 oct()

三、逻辑控制语句

1、条件分支语句:
if 表达式:
    代码块
elif: #可选
    代码块
else:
   代码块

2、while循环语句:
while 表达式:
    代码块

3、for循环语句:
for 变量 in 某种数据类型:
    循环体语句
数据类型需要可迭代

4、终止循环:break  ,终止循环,跳出循环体

5、跳过循环:continue ,结束本次循环,进入下次循环

四、函数

1、函数的定义
 def 函数名():
    函数体语句

2、位置参数
def 函数(a, b):
    print(a + b)
函数(a, b)

3、可变参数
def 函数(*args):
  print(1 + 2)
函数(1, 2)

4、关键字参数
def 函数(3,**kwargs):
  print(1 + 2)
函数(3,a=1, b=2)
# 位置参数要在关键字参数前面

5、形参与实参
def 函数(形参1, 形参2):
    形参3 = 形参1
    形参1 = 形参2
    形参2 = 形参3
实参1 = 1
实参2 = 2
函数(实参1, 实参2)
print(实参1, 实参2)
# 实参不可变类型,形参的变化不会影响实参,实参为可变类型,形参的变化可以影响改变实参。

6、局部变量和全局变量
作用域:
L (Local) 局部作用域
E (Enclosing) 闭包函数外的函数中
G (Global) 全局作用域
B (Built-in) 内建作用域

全局变量:模块内、所有函数外、所有class外
局部变量:函数内、class的方法(类方法、静态方法、实例方法)内,且变量前面没有修饰
类变量:class内,不在class的任何方法内
实例变量:class的方法内,使用self修饰

全局变量关键字:
def 函数():
    global 变量
    
7、递归函数
    函数直接或间接的调用函数本身就是递归,比如阶乘
def fib(num):
    if num<=1:
        return num
    return fib(num-1) + fib(num+2)
print(fib(5))

8、匿名函数
lambda:一个语法,三个特性,四个用法

语法:
lambda argument_list: expression
argument_list 和 expression 由用户自定义

(1)argument_list 是参数列表。它的结构与 python 中函数的参数列表是一样的。

b
a=1, b=2
*args
**kwargs
a, b=1, *args
空

(2)expression 是一个关于参数的表达式。表达式中出现的参数需要在 argument_list 中定义,并且表达式只能是单行的,如下:

1
None
a + b
sum(a)
1 if a > 10 else 0

lambda argument_list: expression 表示的是一个函数,一个匿名函数。

三个特性:
(1)lambda 函数是匿名的;所谓匿名函数,通俗地说就是没有名字的函数。lambda 函数没有名字;
(2)lambda 函数有输入和输出;输入是传入到参数列表 argument_list 的值,输出是根据表达式 expression 计算得到的值;
(3)lambda 函数一般功能简单,单行 expression 决定了 lambda 函数不可能完成复杂的逻辑,只能完成非常简单的功能
四个用法:
(1)将 lambda 函数赋值给一个变量,通过这个变量间接调用该 lambda 函数
(2)将 lambda 函数作为其他函数的返回值,返回给调用者
(3)将 lambda 函数作为参数传递给其他函数
(4)将lambda 函数赋值给其他函数,从而将其他函数用该 lambda 函数替换

五、水仙花数

水仙花数:值等于每位值得立方和的数
def nar(num):
    ge = num % 10
    shi = num //10 % 10
    bai = num // 100
    res = int(pow(ge, 3)) + int(pow(shi, 3)) + int(pow(bai, 3))
    if res == num:
       return True
    else:
       reruen False 
num = 153
print('{}是水仙数为'.format(num),nar(num))

posted on 2022-06-21 00:54  突破%  阅读(27)  评论(0)    收藏  举报

导航