有关数字类型,字符串,函数
目录
有关数字类型,字符串,函数
数字
字符串
索引操作
切片操作
单个字符编码
运算符
还有一些常用的内置函数
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 xxx
,xxx
为变量,此时便需要一种格式化字符串的方式,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博客