Python学习日记(2)

news2024/11/18 21:37:39

有关数字类型,字符串,函数

目录

有关数字类型,字符串,函数

数字

字符串

索引操作

切片操作

单个字符编码

运算符

还有一些常用的内置函数

Python输入函数

输出函数print()语法

python的函数也能给默认值

Python是个脚本语言,所以没有什么main函数,他是从上往下执行的


数字

常见的基本运算就不说了

引入math模块,里面有abs,pow,sqrt等等常用的函数

import math

num=9
print("开根号num是:",math.sqrt(num))


引入random模块包,,用来做随机数的

random(x)函数
随机生成一个 0 到 1 范围内的实数。

uniform(x, y)函数
随机生成一个 x 到 y 范围内的实数。

import random

print(random.random())

print(random.uniform(0,100))

字符串

第一节已经说了一些关于字符串的东西,这块在补充一些

索引操作

py的字符串也能像c一样用下标去访问,不同的是,py下标可以是负数访问,py里面其实是序列的概念,正数了就是从左往右去访问,负数就是从右向左访问。 注意0和-0都是第一个下标位置

序列索引支持非负数和负数,索引为非负数,从 0 开始,如下所示:

在这里插入图片描述
索引为负数由右向左计数,从 -1 开始,如图所示:

arr="hello world"
print(arr)
print(arr[0])
print(arr[1])
print(arr[-1])

切片操作

sname[start : end : step]

c同时也能访问范围字符串,第x个到第y个

如果冒号前面或者后面不写,说明访问到头或者尾巴

print(arr[1:5])

打印ello

print(arr[:5])
打印hello

print(arr[3:])
打印lo world

单个字符编码

Python 使用了 ord() 函数返回单个字符的编码,chr() 函数把编码转成相应字符。如下所示:

s = 'A'
print(ord(s))  打印65
print(chr(65))  打印A

运算符

之前我们已经介绍了大部分运算符,下面再来详细看一下字符串运算符。如下表所示:

运算符描述
+连接符
*重复输出
[]通过索引获取字符串中字符
[ : ]获取字符串中的一部分
in字符串中是否包含指定字符
not in字符串中是否不包含指定字符
r/R字符串原样输出

字符串配上 *  就是重复输出

举个例子 

print("A*3->:",s*3)

输出AAA

同样的对于输出py也可以像c一样有格式化的输出

当我们需要输出的内容中含有变量时,比如:Hello xxxxxx 为变量,此时便需要一种格式化字符串的方式,Python 使用 % 格式化字符串,常用占位符如下表所示:

python 格式化输出详解(占位符:%、format、f表达式)——上篇 理论篇_python format requires a mapping多字典使用的格式_大爽歌的博客-CSDN博客

python 格式化输出详解(占位符:%、format、f表达式)——下篇 实例篇_python输出占位符_大爽歌的博客-CSDN博客

占位符描述
%s格式化字符串
%d格式化整数
%f格式化浮点
a=55
print("hello %d" % a)

输出hello 55

 我们也可以使用字符串的 format() 方法进行格式化,先看下示例:

print('{0} {1}'.format('Hello', 'Python'))
输出Hello Python

检查子串在不在字符串里面

arr="hello world"

print("is" in arr)
print("ell" in arr)

还有一些常用的内置函数

  一些简单的例子:

python 内置函数max()和min()的用法_print (max(d),min(d))_不知哪来的烦恼的博客-CSDN博客

example_arr=[2,1,10,55]
print(max(example_arr))
print(sum(example_arr))
print(len(example_arr))

str="pslocahyyz"
print(max(str))
print(min(str))
print(sorted(str))
print(list(str))
print(len(str))

sts=["absc","kssk","plpz"]
print(max(sts))
print(min(sts))
print(len(sts))

Python输入函数

Python 提供了 input() 内置函数从标准输入(键盘)读入一行文本,默认的标准输入是键盘。

input()函数等待用户从键盘输入,接收一个字符串,包括空格,都可以输入。只有回车不接受,作为结束符。格式:

input([prompt])

其中,prompt是可选的,可作为提示信息。

返回值是从键盘输入的一行文本。

用户输入的任何内容Python 都认为是一个字符串,如果需要其他类型就需要转换函数,如:

float()  字符串或者整数-->浮点型

int()   字符串或浮点型-->整数型

str()   数字-->字符串

eval()  数字-->实数

chr()    ASCII值-->ASCII字符

例如:

a = input("请输入字符串:")

b= int(input(("请输入一个整数:")))

c = float(input("请输入一个数值:"))

输出函数print()语法

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

将 objects 打印到 file 指定的文本流,以 sep 分隔并在末尾加上 end。可选项 sep, end, file 和 flush 如果存在,它们必须以关键字参数的形式给出。

参数描述

objects 要输出的对象,是复数形式,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。

sep 用来间隔多个对象,默认值是一个空格。

end 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。

file    要写入的文件对象,默认是标准输出。

flush   输出是否被缓存通常决定于 file,但如果 flush 关键字参数为 True,流会被强制刷新。

print()无返回值。

注意py里面定义函数是以def开头的。下面给出一些例子

#定义函数以def开头
def function(a,b):
    if a>b:
        print("a>b")
    elif a<b:
        print("a<b")
    else:
        c=a+b
        print("a+b的合是:",c)
        
a=input()
b=input()
function(a,b)

print(1)#输出:1
print("Hello World") #输出:Hello World
a= 10
b= "Hi"
print(a,b) #输出:10 Hi
print("aaa""bbb") #输出:aaabbb
print("aaa","bbb") #输出:aaa bbb
print("aaa","bbb",sep=".") # 设置间隔符,输出:aaa.bbb
print("aaa","bbb",end=" ") # aaa bbb 以空格结尾,本来是换行结尾的

function(2,2)
function(5,2)
function("nihao","nihao")

python的函数也能给默认值

定义的很多语法很像c/c++,举个例子看看


def record(_id,_name,_socre=95,_college="清华大学"):
    print("id:",_id,"\n"
          "name:",_name,"\n"
          "socre:",_socre,"\n"
          "college:",_college)

record(1,"张三",98,"西安交通大学")
record(5,"李四")
#record("熊大") # error 没有给默认值的,不能不写

#上面函数用占位符可以写成下面形式

def record1(_id,_name,_socre=95,_college="清华大学"):
    print("id=%d\nname=%s\nsocre=%d\ncollege=%s" 
          %(_id,_name,_socre,_college))
    
record1(1,"张三",98,"西安交通大学")
record1(5,"李四")    
#record(6) #error

Python是个脚本语言,所以没有什么main函数,他是从上往下执行的

python里面的全局变量和局部变量和别的语言还有些不太一样。

python的全局变量是所有函数之外定义的变量,他没法在函数内部用,就是不能对全局变量做修改,也不是不能修改,不过需要用global关键字,,全局变量能当给函数内部变量去赋值,用的是他的拷贝,他本身不能变

python的局部变量就是在函数内部或者代码块内的,外部不能用

TEMP=21

print("TEMP before=%d" %TEMP)

def fun():
    a=50  #局部变量
    print('a=',a)
    x=TEMP+60
    print('x=',x)
    a=TEMP
    print('new a=',a)
    return a+50

fun()
#print(a) #外部不能用局部变量

print(fun())
TEMP+=10
print("TEMP after=%d" %TEMP)

py里面全局变量习惯用大写表示,如果想在函数内部去修改全局变量,声明global

#py里面定义全局变量 习惯用大写去定义

TEMP=21

print("TEMP before=%d" %TEMP)

def fun():
    a=50  #局部变量
    print('a=',a)
    global TEMP #声明他是全局的
    TEMP=50
    return a+50

#print(a) #外部不能用局部变量
fun()
print("TEMP after=%d" %TEMP)

还有如果局部变量和全局变量名字一样,那么在函数内部用的是局部变量,局部变量会把全部变量隐藏掉,就跟c/c++一样局部的会把全局的隐藏

a=21

print("TEMP before=%d" %a)
def fun():
    a=50  #局部变量
    print('a=',a)
    return a+50

#print(a) #外部不能用局部变量
fun()
print(fun())
print("TEMP after=%d" %a)

大概就了解这些先,下面这个讲的比较详细 

 python的 局部变量和全局变量_python 局部变量_GeekCesto的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/485260.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++系列一: C++简介

C入门简介 1. C语言的特点2. C编译器3. 第一个 C 程序4. 总结&#xff08;手稿版&#xff09; C 是一种高级编程语言&#xff0c;是C语言的扩展和改进版本&#xff0c;由Bjarne Stroustrup于1983年在贝尔实验室为了支持C语言中的面向对象编程而创建。C 既能够进行底层的系统编程…

全注解下的SpringIoc 续4-条件装配bean

Spring Boot默认启动时会加载bean&#xff0c;如果加载失败&#xff0c;则应用就会启动失败。但是部分场景下&#xff0c;我们希望某个bean只有满足一定的条件下&#xff0c;才允许Spring Boot加载&#xff0c;所以&#xff0c;这里就需要使用Conditional注解来协助我们达到这样…

二叉搜索树(BST)详解

文章目录 性质二叉搜索树的遍历遍历伪代码实现 二叉搜索树的查找伪代码实现 二叉搜索树最大元素伪代码实现 二叉搜索树最小元素伪代码实现 二叉搜索树的插入伪代码实现 二叉搜索树的删除删除叶子节点&#xff08;对应上面第一种情况&#xff09;&#xff1a;删除度为1的节点&am…

机械硬盘(HDD)与固态硬盘(SSD)

目录 机械硬盘&#xff08;HDD&#xff09; 最小组成单元是扇区 硬盘结构 硬盘工作原理 硬盘上的数据组织 硬盘指标 影响性能的因素 固态硬盘&#xff08;SSD&#xff09; 最小存储单元是Cell SSD的特点 SSD架构 NAND Flash 闪存介质 地址映射管理 FTL闪存转换层 机械硬盘&…

Python之模块和包(九)

1、模块 1、模块概述 模块是一个包含了定义的函数和变量等的文件。模块可以被程序引入&#xff0c;以使用该模块中的函数等功能。通俗讲&#xff1a;模块就好比是工具包&#xff0c;要想使用这个工具包中的工具(就好比函数)&#xff0c;就需要导入这个模块。 2、import 在P…

Redis分布式锁原理之实现秒杀抢优惠卷业务

Redis分布式锁原理之实现秒杀抢优惠卷业务 1. 实现秒杀下单2. 库存超卖问题分析2.1 乐观锁解决超卖问题 3. 优惠券秒杀-一人一单3.1 集群环境下的并发问题 4、分布式锁4.1 基本原理和实现方式对比4.2 Redis分布式锁的实现核心思路4.3 实现分布式锁版本一4.4 Redis分布式锁误删情…

【Java入门合集】第三章面向对象编程(上)

【Java入门合集】第三章面向对象编程&#xff08;上&#xff09; 博主&#xff1a;命运之光 专栏&#xff1a;JAVA入门 理解面向对象三大主要特征&#xff1b; 掌握类与对象的区别与使用&#xff1b; 掌握类中构造方法以及构造方法重载的概念及使用&#xff1b; 掌握包的定义、…

国民技术N32G430开发笔记(14)-IAP升级 usart2接收数据

IAP升级 Usart2接收数据 1、之前有一节我们将PA6 PA7复用成了usart2的功能&#xff0c;这一节我们用usart2接收来自树莓派的升级请求&#xff0c;然后完成N32G430的Iap升级。 2、接线 PA9 PA10 接usb转串口模块A&#xff0c;A模块插入电脑。 PA6 PA7 接usb转串口模块B&#xf…

【移动端网页布局】流式布局案例 ⑥ ( 多排按钮导航栏 | 设置浮动及宽度 | 设置图片样式 | 设置文本 )

文章目录 一、多排按钮导航栏样式及核心要点1、实现效果2、总体布局设计3、设置浮动及宽度4、设置图片样式5、设置文本 二、完整代码实例1、HTML 标签结构2、CSS 样式3、展示效果 一、多排按钮导航栏样式及核心要点 1、实现效果 要实现下面的导航栏效果 ; 2、总体布局设计 该导…

计算机网络笔记:DNS域名解析过程

基本概念 DNS是域名系统&#xff08;Domain Name System&#xff09;的缩写&#xff0c;也是TCP/IP网络中的一个协议。在Internet上域名与IP地址之间是一一对应的&#xff0c;域名虽然便于人们记忆&#xff0c;但计算机之间只能互相认识IP地址&#xff0c;域名和IP地址之间的转…

基于探路者算法的极限学习机(ELM)回归预测-附代码

基于探路者算法的极限学习机(ELM)回归预测 文章目录 基于探路者算法的极限学习机(ELM)回归预测1.极限学习机原理概述2.ELM学习算法3.回归问题数据处理4.基于探路者算法优化的ELM5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;本文利用探路者算法对极限学习机进行优化&…

算法 DAY45 动态规划07 70. 爬楼梯 322. 零钱兑换 279. 完全平方数 139. 单词拆分 多重背包

70. 爬楼梯 和377. 组合总和 Ⅳ (opens new window)基本就是一道题了。本题代码不长&#xff0c;题目也很普通&#xff0c;但稍稍一进阶就可以考察完全背包 class Solution { public:int climbStairs(int n) {vector<int> nums {1,2};vector<int> dp(n1,0);dp[0…

while语句和until语句顺便带点小实验

while语句和until语句 一、while用法二、Until循环语句三、趣味小实验猜价格的游戏&#xff08;价格是随机数&#xff09;写一个计算器脚本闲来无事去购物 一、while用法 for循环语句非常适用于列表对象无规律&#xff0c;且列表来源以固定&#xff08;如某个列表文件&#xf…

Android Studio开发图书管理系统APP

Android Studio开发项目图书管理系统项目视频展示&#xff1a; 点击进入图书管理系统项目视频 引 言 现在是一个信息高度发达的时代&#xff0c;伴随着科技的进步&#xff0c;文化的汲取&#xff0c;人们对于图书信息的了解与掌握也达到了一定的高度。尤其是学生对于知识的渴…

word构建基块:快速插入重复内容的高级剪切板

本文参考自 word录入技巧&#xff1a;如何用自动图文集快速插入重复内容 - 知乎 介绍 构建基块&#xff0c;它就是和剪切板一样&#xff0c;点一下就粘贴一份新的&#xff0c;用于解决大量重复内容的复制粘贴 构建基块包括自动图文集和快速表格&#xff0c;实际上都是构建基块…

Blender启动场景的修改

Blender启动场景的修改 1 使用版本2 现象描述3 解决方法4 启动场景路径5 清理场景资源5.1 空场景大小5.2 清理图片资源5.2.1 断开数据块关联5.2.2 断开伪用户关联5.2.3 断开多用户关联5.2.4 清理数据块5.2.6 文件校验 5.3 使用自建资源库 6 数据块类型 1 使用版本 Blender 3.3…

二叉树建立、遍历、打印(23春教学)

#include<stdio.h> #include <malloc.h> #include <conio.h> typedef char DataType; typedef struct Node {DataType data;struct Node *LChild;struct Node *RChild; }BitNode,*BitTree; void CreatBiTree(BitTree *bt)//用扩展先序遍历序列创建二叉树&am…

《LearnUE——基础指南:上篇—3》——GamePlay架构WorldContext,GameInstance,Engine之间的关系

目录 平行世界是真实存在的吗&#xff1f; 1.3.1 引言 1.3.2 世界管理局&#xff08;WorldContext&#xff09; 1.3.3 司法天神&#xff08;GameInstance&#xff09; 1.3.4 上帝&#xff08;Engine&#xff09; 1.4 总结 平行世界是真实存在的吗&#xff1f; 1.3.1 引言 …

DAY 51 LVS负载均衡——DR模式

数据包流向分析 &#xff08;1&#xff09;客户端发送请求到Director Server (负载均衡器)&#xff0c;请求的数据报文&#xff08;源IP是CIP&#xff0c;目标IP是VIP&#xff09;到达内核空间。 &#xff08;2&#xff09;Director Server 和Real Server 在同一个网络中&…

【五一创作】ERP实施-委外业务-委外采购业务

委外业务主要有两种业务形态&#xff1a;委外采购和工序外协&#xff0c;委外采购主要是在MM模块中实现&#xff0c;工序外协主要由PP模块实现&#xff0c;工序外协中的采购订单创建和采购收货由MM模块实现。 委外采购概念 委外采购&#xff0c;有些企业也称为带料委外或者分包…