Python

单行注释与多行注释

单行注释用#–>一个井号,vacode快捷键ctrl+/

多行注释用"""–>三个双引号,vacode快捷键ctrl+shift+/

print('hello python') #现在这个是单行注释
"""这个是多行注释
print('hello python')
print('hello python')
"""

输入输出

输入

使用input函数可以获得用户输入在控制台窗口上输入的一行字符串,使用变量 = input()的形式将其赋值给一个变量:

str1 = input()
print("输入的是%s" % str1)

在这里插入图片描述

还可以在input()的括号内,加入一些提示信息:

str1=input("请输入:")
print("输入的是%s" % str1)

在这里插入图片描述

还可以一次输入多个值:

a,b=input().split() #字符串,split() 不加参数表示默认空格隔开

指定输入类型:

a=int(input())
b=float(input())

输出

print的函数

将要输出的内容放在print()的括号内,就可以输出:

print("hello world") #单引号包裹也是可行的
#控制台打印:hello world

print函数可以同时输出多个内容,只需要将它一起放在print的括号内,并用逗号隔开:

print("hello","world")
#控制台打印:hello world

注意:此时同时输出的多个内容之间,会有空格隔开。

类似于 C/C++ 的printf,Python 的print也能实现格式化输出,方法是使用%操作符,它会将左边的字符串当做格式字符串,将右边的参数代入格式字符串:

print("1 + 1 = %d" % 2) 
#2会替换掉 %d 。控制台输出:1 + 1 = 2
print("hello %s" % "world")
#左边 %s 被替换成右边的 world 。控制台输出:hello world

一般不用担心占位格式字符由于代码多肉眼难以区分和查看的问题,一般的编译器会带高亮提示。例如:博主用的 vsCode:

(我vsCode使用了主题,所以可能和大众的代码颜色不同)

在这里插入图片描述

如果要带入多个参数,则需要用()包裹代入的多个参数,参数与参数之间用逗号隔开。

注意参数的顺序应该对应格式字符串中的顺序

print("%d + %d = %d" % (1,1,2))
#控制台打印:1 + 1 = 2
print("%s %s" % ("world","hello"))
#控制台打印:world hello

格式化输出

通过format()方法将待输出变量整理成期望输出的格式,如:

name=input("请输入姓名:")
country=input("请输入国家:")
print("{}来自{}".format(name,country))
# 控制台输出:张三来自中国

格式字符串(占位符)

格式字符串中,不同占位符的含义:

占位符表示
%s作为字符串
%d作为有符号十进制整数
%u作为无符号十进制整数
%o作为无符号八进制整数
%x作为无符号十六进制整数,a~f采用小写形式
%X作为无符号十六进制整数,A~F采用大写形式
%f作为浮点数
%e,%E作为浮点数,使用科学计数法
%g,%G作为浮点数,使用最低有效数位

注意: print函数输出数据后会换行,如果不想换行,需要指定end=""

print("hello" , end="")
print("world" , end="")
#控制台输出helloworld

字符串转换

input函数接收的是用户控制台输入的字符串,此时还不能作为整数或者小数进行数学运算,需要使用函数将字符串转换成想要的类型。

  • 转换成整数,使用int()函数:num1 = int(str1)
  • 转换成小数,使用float()函数:f1 = float(str1)
str1 = input()
num1 = int(str1)
f1 = float(str1)
print("整数%d,小数%f" % (num1,f1))
#控制台输入:114514
#控制台输出:整数114514,小数114514.000000

如果输入10,得到的输出是:整数10,小数10.000000


数据类型

常用数据类型 Common Data Types

类型例子
整型 int-100
浮点型 float3.1416
复数 complex2+3j
字符串'hello'
布尔 boolTrue, False

使用type()函数来查看变量类型:

a=12
type(a) # int

整型

整型数字的最大最小值:

在 32 位系统中,一个整型 4 个字节,最小值 -2,147,483,648,最大值 2,147,483,647

在 64 位系统中,一个整型 8 个字节,最小值 -9,223,372,036,854,775,808,最大值 9,223,372,036,854,775,807

import sys
print(sys.maxsize)
# 9223372036854775807

除了10进制外,整数还有其他类型的表示方法。

科学计数法:1e-6

16进制,前面加0x修饰,后面使用数字0-9A-F:0xFF

8进制,前面加0或者0o修饰,后面使用数字0-7:067

2进制,前面加0b修饰,后面使用数字0或1:0b101010

浮点型

# %f格式化浮点数字,可指定小数后精度
print("%.2f" % (2.5 % 1.2)) 
# 0.10

可以用sys.float_info来查看浮点数的信息:

import sys
print(sys.float_info)
# sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1)

例如浮点数能表示的最大值:

sys.float_info.max

浮点数能表示的最接近0的值:

sys.float_info.min

浮点数的精度:

sys.float_info.epsilon

复数 Complex Numbers

Python 使用 j 来表示复数的虚部:

可以查看它的实部,虚部以及共轭:

a.real

a.imag

a.conjugate()

布尔型 Boolean Data Type

为0的数字,包括0,0.0;空字符串’ ',“”;表示空值的None;空集合,包括空元祖(),空序列[],空字典{} 都认为是False ;其他的值都为True。

运算时:False —— 0    True —— 1

Python字符串

Python 语言中,字符串是用两个双引号"example"或者单引号'example'括起来的零个或多个字符。Pyton 不支持字符类型,单个字符当做字符串使用

简单操作:

# 加法
s = 'hello ' + 'world' # 'hello world'
#字符串与数字相乘:
"&" * 10 # '&&&&&&&&&&'
#字符串长度:
len(s) # 11

字符串方法:

查找.find()返回的是下标

source_string = 'The past is gone and static'
# 查看"past"在source_string字符串中的位置
print(source_string.find('past')) # 4
# 查看"love"在source_string字符串中的位置
print(source_string.find('love')) # -1

1.分割 split()

s.split()将s按照空格(包括多个空格,制表符\t,换行符\n等)分割,并返回所有分割得到的字符串。

line = '1 2 3 4 5'
numbers = line.split()
print(numbers)
# ['1', '2', '3', '4', '5']

2.连接 join()

s.join(str_sequence)的作用是以s为连接符将字符串序列str_sequence中的元素连接起来,并返回连接后得到的新字符串

numbers = ['1', '2', '3', '4', '5']
s = ' '
s.join(numbers)
# '1 2 3 4 5'得到的是新字符串

3.替换 replace()

s.replace(part1, part2)将字符串s中指定的部分part1替换成想要的部分part2,并返回新的字符串。

s = "hello world" 
print(s.replace('world', 'python') )  #此时,s的值并没有变化,替换方法只是生成了一个新的字符串。
print(s)
# 控制台顺序输出:
# hello python
# hello world

4.大小写转换

s.upper()方法返回一个将s中的字母全部大写的新字符串。

s.lower()方法返回一个将s中的字母全部小写的新字符串。

s.title()方法返回一个将s中单词的首字符大写的新串。

5.去除多余空格

s.strip()返回一个将s两端的多余空格除去的新字符串。

s.lstrip()返回一个将s开头的多余空格除去的新字符串。

s.rstrip()返回一个将s结尾的多余空格除去的新字符串。

字符串是字符的序列,可以按照单个字符或字符片段进行索引,字符串包括两种序号体系:正向递增序号和反向递减序号。
在这里插入图片描述

Python 字符串也可以采用[N:M]区间格式获取指定字符串。

表示字符串中从NM(不包含M,包左不包右)的子字符串,其中,NM为字符串的索引序号,可以混合使用正向递增序号和反向递减序号。如果表示中N或者M索引缺失,则表示字符串把开始或结束索引值设为默认值。

>>>name="Python语言程序设计"
>>>name[0]
'P'
>>>print(name[0],name[7],name[-1])
P 言 计
>>>print(name[2:-4])
thon语言
>>>print(name[:6])
Python
>>>print(name[6:])
语言程序设计
>>>print(name[:])
Python语言程序设计
str = "abcdefghijklmnopqrstuvwxyz"
print(str[::-1])
print(str[::3])
print(str[2:5:2])
print(str[-3:-6:-1])
print(str[::2])#偶数
print(str[1::2])#奇数
print(str[:])
# zyxwvutsrqponmlkjihgfedcba
# adgjmpsvy
# ce
# xwv
# acegikmoqsuwy
# bdfhjlnprtvxz
# abcdefghijklmnopqrstuvwxyz

类型转换

浮点数转整型,只保留整数部分:

int(12.324)
int(-3.32)

整型转浮点型:

float(1) # 1.0

进制转换:

# 十进制转换为八进制:
x=20
oct(x) # 0o24
# 十进制转换为二进制字符串:
bin(x) # '0b10100'
# 十进制转换为十六进制字符串:
hex(x) # '0x14'

将对象x转换为字符串:

str(1) # '1'

eval() 将字符串 string 对象 转化为有效的表达式参与求值运算返回计算结果:

eval('1+x') 

可以使用 int 将字符串转为整数,还可以指定按照多少进制来进行转换,最后返回十进制表达的整数:

int('23') # 23
int('10',2) # 2

float 可以将字符串转换为浮点数:

float('3.5')

强制转换为字符串

  • str(ob)强制将ob转化成字符串。
  • repr(ob)也是强制将ob转化成字符串。

其他类型 Others

类型例子
列表(list)[1, 1.2, 'hello']
字典(dict){'dogs': 5, 'pigs': 3}
元组(tuple)('ring', 1000)
集合(set){1, 2, 3}
列表(list)元组(tuple)集合(set)字典(dict)
Definition- 有索引(indexed)
- 有序
- 可修改
- 允许重复值存在
- 允许使用不同的数据类型
- 有索引(indexed)
- 有序
- 不可修改
- 允许重复值存在
- 允许使用不同的数据类型
- 没有索引(not indexed)
- 无序
- 可修改
- 不允许重复值存在
- 允许使用不同的数据类型
- 没有索引(有key
- 有序
- 可修改
- 不允许重复值存在
- 允许使用不同的数据类型
新建my_list=["apple", "pen"]my_tpl=("apple", "pen")my_set={"apple", "pen"}空集合:my_set=set()my_dict={"my_fruit": "apple",` `"my_thing":"pen"}
第一个元素my_list[0]my_tpl[0]-my_dict["my_fruit"]
某个范围内的元素my_list[0:2]my_tpl[0:2]只能通过for循环-
检查是否存在if "apple" in my_list...if "apple" in my_tplif "apple" in my_setif "my_fruit" in my_dict
更新元素my_list[1]="cherry"my_tpl[1]="cherry"- my_dict["my_fruit"]="cherry"
添加更多元素my_list.append("orange")my_tpl+=("orange",)my_set.add("orange")
删除某个元素my_list.remove("orange")-my_set.remove("orange")my_dict.pop("sex")
其他

运算符

简单的数学函数

绝对值:

abs(-12.4)

取整:

round(21.6)

round(21.63,1)

最大最小值:

min(2, 3, 4, 5) max(2, 4, 3)

(1)算术运算符

在这里插入图片描述

整数除法,返回的是比结果的最大整数值:

12.3 // -4
# -4.0

(2)关系运算符

在这里插入图片描述

(3)逻辑运算符

在这里插入图片描述

(4)位运算符

按位运算符是把数字看作二进制来进行计算的。

例如,下方变量 a 为 60,b 为 13:

a   = 0011 1100 # 60
b   = 0000 1101 # 13
# -----------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a  = 1100 0011

在这里插入图片描述

(5)赋值运算符

在这里插入图片描述

(6)成员运算符

在这里插入图片描述

(7)身份运算符

以下实例演示了Python所有身份运算符的操作:

a = 20
b = 20
if ( a is b ):
   print ("1 - a 和 b 有相同的标识") # ✔️
else:
   print ("1 - a 和 b 没有相同的标识")
if ( id(a) == id(b) ):
   print ("2 - a 和 b 有相同的标识") # ✔️
else:
   print ("2 - a 和 b 没有相同的标识")
# 修改变量 b 的值
b = 30
if ( a is b ):
   print ("3 - a 和 b 有相同的标识")
else:
   print ("3 - a 和 b 没有相同的标识") # ✔️
if ( a is not b ):
   print ("4 - a 和 b 没有相同的标识") # ✔️
else:
   print ("4 - a 和 b 有相同的标识")

控制台输出:

1 - a 和 b 有相同的标识
2 - a 和 b 有相同的标识
3 - a 和 b 没有相同的标识
4 - a 和 b 没有相同的标识

is 与 == 区别:

is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。

>>>a = [1, 2, 3]
>>> b = a
>>> b is a 
# True
>>> b == a
# True
>>> b = a[:]
>>> b is a
# False
>>> b == a
# True
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

roydon_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值