1.基本语法元素
1)一个缩进=四个空格
缩进是Python语言中表明程序框架的唯一手段
unexpected indent缩进错误
2)注释
#该代码已被注释,程序不会执行
windows
alt+3多行注释
alt+4解除多行注释
mac
选中多行按下ctrl+/
3)续行符 反斜杠\ 后面直接换行
2.变量
1)变量:在运行过程中可以被修改的量
2)常量:一旦赋值就不能改变值的标识符,Python无法定义常量
赋值语句——对变量进行赋值的一行代码
语法格式:
<变量>=<表达式>
表达式-产生或计算新数据值的代码片段
a,b=1,2
print(a,b)
#两种结果相同
a=1
b=2
3)标识符:有一串字符串组成可以是字母、数字、下划线、汉字,不能以数字开头,且不能与关键字【也被称为保留字】同名
3.print函数
可以输出单个/多个值
print(value,… …,sep=" “,end=”\n")表明输出换行
print(value,… …,sep=" “,end=” ")表明输出行尾以空格取代换行
#输出一个
print(15)
#输出多个,注意print自带换行
s="hello world"
print(s,12)
4.基本数据类型
1)数字类型
- 整数
进制种类 | 引导符号 | 描述 |
---|---|---|
二进制 | 0b或0B | 由字符0和1组成0b1010 |
八进制 | 0o 或0O | 由字符0到7组成0o1010 |
十进制 | 无 | 默认情况1010 |
十六进制 | 0x或0X | 由字符0~9,a~f,A~F组成,0x1010 |
- 浮点数
Python要求 浮点数必须带小数的数值(小数部分可以是0)
0.1+0.2
0.30000000000000004
print(a=0.1+0.2)报错
称为不确定尾数
- 复数
有一个基本单位元素j j=√(-1),含有虚数单位的数被称为复数
Python中,复数被看为二元有序实数对(a,b) a+bj虚部通过j或J表示
复数类型中实部和虚部都是浮点类型,对于复数z,可以用z.real z.imag分别获得实数部分和虚数部分
如:
(3+4j).real
(3+4j).imag
2)数值运算操作符
x+y x+=y
x-y x-=y
x*y x+=y
x/y,结果为浮点数 x/=y
x//y,结果为整数
x%y x%=y
x**y,x的y次幂
-x,一个数的负数
+x,一个数本身
3)数值运算函数
abs(x)
print(abs(-22))
用于计算整数和浮点数x的绝对值
divmod(x,y)
用于计算x和y的除余结果,返回两个值,分别是x和y的整数除即x//y以及x与y的余数,即x%y
pow(x,y)
用于计算x的y次幂
pow(x,y,z)用来计算x^y %z,模运算与幂运算同时进行
pow(10,2)
#100
pow(2,5,3)
#2
round(x)
对整数或浮点数x进行四舍五入运算,采用奇进偶不进的方式
解释“奇进偶不进”
round(1.5)
#2
round(2.5)
#2
round(x,d) d:默认保留几位小数
max(x1,x2,…,xn)
取任意多个数字最大值,并输出
min(x1,x2,…,xn)
取任意多个数字最小值,并输出
4)字符串类型
字符串包括两种序列体系:正向递增和反向递减
s="python" #p-0 p--6
多行字符串利用三对双/单引号
s="""python
python
python"""
print(s)
5)索引和切片
字符串利用索引方式找到其中某个字符
索引格式:<字符串或字符串变量>[N]
Python中索引有两种访问方式:
从前往后的正向索引,n个字符串,索引值从0到n-1
从后往前的反向索引,n个字符串,索引值从-1到-n
s="python"
print(s[1])
print("python"[1])
python中,可以使用切片从字符串中提取子串,切片适用于字符串、列表表、元组、range对象等类型
切片格式:<字符串或字符串类型>[N:M:step]==[起始位置:终止位置:步长]
参数:N是切片的起始索引序号;M是切片的结束索引序号;左闭右开
正向标号和反向标号均可
step是切片的步长——步长为正是从左边向右边,步长为负是从右边向左边
6)转义字符
反斜杠()表示转义
换行\n 反斜杠\ 单引号’ 制表符\t
print("这是一个\n换行")
print("这是一个反斜杠\\")
print("将双引号\"输出")
print("这是一个制表\t符")
7)input和eval函数
input()输入函数
<变量> = input(<提示性文字>)
s = input("请输入一个名字:")
eval()函数
<变量> = eval(<字符串>)
去掉字符串最外侧的引号,并按照Python语句方式执行去掉引号后的字符内容
8)format基本使用
- 模板字符串
模板字符串是一个由字符串和槽组成的字符串,用来控制字符串和变量的显示效果
字符串使用方式:<模板字符串>.format(<逗号分隔的参数>)
n = input("请输入个数字:")
name = input("请输入食物名称:")
s = "今天中午我吃了{}个{}".format(n,name)
print(s)
#
print("{0}那么大,{1}想去看看。".format("世界","我"))
- 格式控制
format()的槽不仅包括参数序号还包括格式控制信息,语法格式为:
{<参数序号>:<格式控制标记>}
: | <填充> | <对齐> | <宽度> | <,> | <精度> | <类型> |
---|---|---|---|---|---|---|
引导符号 | 用于填充单个字符 | <左对齐 >右对齐 ^居中对齐 | 槽的设定 输出宽度 | 数字的千位分隔符适用于整数和浮点数 | 浮点数小数部分的精度或字符串对打输出长度 | 整数类型b,c,d,o,x,X 浮点数类型e,E,f% |
s = "今天中午我吃了{:*<20}个鸡腿".format(3)
p = "今天中午我吃了{:X}个鸡腿".format(976)
n = "今天中午我吃了{:e}个鸡腿".format(3.1415926)
print(s)
print(p)
print(n)
9)字符串类型的操作
str1 + str2 连接两个字符串
str * n n *str 复制n次字符串
s in str 判断s字符串是否在str中
10)数字和字符串函数
-
函数
len() 返回字符串的长度chr() 返回Unicode编码对应的单字符
ord() 返回单个字符对应的Unicode编码
a-z 97-122bin() 返回整数x对应的二进制的小写形式
oct() 返回整数x对应的八进制的小写形式
hex() 返回整数x对应的十六进制的小写形式str() 将x转换为字符串
int() 将x转换为整数
float() 将x转换为浮点数 -
字符串处理方法
str.lower()
str.upper()
str.split(sep=None)
str.count(sub) 返回sub字符串出现的次数
str.replace(old,new) 返回字符串str的副本
str.center(width,fillchar)
str.strip(chars)
从字符串str中去掉左和右侧chars中列出的字符【第一次,如果第一个不是则停止寻找】
str.joins(iter) 将iter变量的每一个元素之间增加一个str字符串
补充:
str.capitalize() 将字符串的首字母大写
str.title() 将字符串中每个单词的首字母大写,其余字母小写,非字母后的第一个字母将转换为大写字母
s = "北京,上海,天津,南京"
print(s.split(,))
s = "北京 上海 天津 南京"
print(s.split( ))
s = "abababcababc"
print(s.count("ab"))
s = "北京 上海 天津 南京 重庆 天津"
news = s.replace("天津","湖北")
print(news)
news = s.center(20,"*")
print(news)
s = "$$abcdefg$"
news = s.strip("$")
print(news)
s = " 红白黑绿"
news = "小".join(s)
print(news)
补充:
按位与&——两个对应位置上的数字都为1,运算结果该位置为1
2 010 4 100 2 & 4 = 000 --> 0
异或^ 对应位置上不同数得1,相同得0。
2 ^ 4 = 6
或|
5.练习
获取用户输入的一个(0-25)的数字,屏幕输出对应的小写字母。
如: 用户输入0 输出 a
a = eval(input(“请输入一个数字:”))
print(chr(a+97))
已知字符串s = “北京 上海 武汉 四川”,将字符串按照空格分隔,然后将所得的结果用号串联起来,输出最终结果字符串。
(最终屏幕输出 北京上海武汉四川)
s = “北京 上海 武汉 四川”
string = s.replace(" “,”,")
print(string)