python 学习笔记

# 单行注释快捷键 ctrl + /
"""
这是多行注释
"""
'''
这也是多行注释
'''

"""
python变量定义不需要指定其数据类型
num = "hello world"
a = 1
a = 12.3
print(num)
print(a)
"""


"""
变量有什么用?
1 引用数据(否则,数据存放内存中,我们不方便引用)
2 指定数据类型(定义时需要指定数据类型的编程语言)

# 打印num01的内存地址
num01 = 1
num02 = 1
print(id(num01))
print(id(num02))
与java一样,python相同的数据在内存中仅存一份
"""
str01="hello"
str02 = "helloq"

str01="hello"
str02 = "helloq"

print(id(str01[0]))
print(id(str01[1]))
print(id(str01[2]))
print(id(str01[3]))
print(id(str01[4]))
print(id(str01))

print("**********")

print(id(str02[0]))
print(id(str02[1]))
print(id(str02[2]))
print(id(str02[3]))
print(id(str02[4]))
print(id(str02[5]))
print(id(str02))

""" 
字符串中每个字母的内存不一定连续,所以字符串地址并不是字符的首地址
"""
"""
输出
"""
# print()默认打印并换行
print("hello","123",100,False)

# 如何使它不自动换行,用end参数
print(123,end=",")

# sep参数在多个打印内容之间加分隔符
print("hello",12.34,"happy",sep="%")


# 如何打印到文件
file01 = open("f:\\a.txt",'w')#双\\  若没有a文件会自动创建
print("打印到文件测试",file = file01)

# 格式化输出
num = 100
print("%d" %num)#10进制
print("%o" %num)#8进制
print("%x" %num)#16进制
print(bin(num))#二进制
num1 = 1.2345779
print("%.2f" %num1)
print(round(num1,2))
print("%e" %num1)#科学计数法
print("%.2e" %num1)#保留2位小数
num2 = 1000563
print("%g" %num2)#保留6位有效数字,总共6位,多余的位数用科学记数法
print("%.3g" %num2)#保留3位有效数字
str = "happy"
print("%s" %str)#默认左对齐
print("%10s" %str)#右对齐
print("%-10s" %str)#左对齐
print("%.3s" %str)#截取前3个字符打印
print("%10.3s" %str)
print("%s" %str[-2:])#截取后两个字符打印




"""
      字符串
python中单引号和双引号等价
 str[开始:结束:步长]
"""
#通过注释的方式打印,可以保留其原本的方式
str01 = """   I am happy
 I am happy I am happy"""
print(str01)

#用转义字符打印双引号等特殊字符
str02 = "\"d:\\abc.txt\""
print(str02)
#用R r 取消转义功能
print(R"d:\abc.txt")

str03 = "北京你好"
print(str03[2])#正序时,从0开始
str04 = "Iamhappy"
print(str04[-3])#逆序时,从1开始
print(str04[1:3])#左闭右开打印
print(str04[1:])#从第2位开始打印,后面的字符全部打印
print(str04[-2:])#截取后两位字符打印
print(str04[1::2])#访问所有偶数位

#字符串运算符
print("I am happy" * 10)#打印10遍
#长度 len()
print(len("hhhhhhhh"))
#比较长度
print("abc" is "abc")
#比较内容
print("abc" == "abc")
#查找 (true  false)  in
print("hhh"in "adhjbjjjjhhhhhdas")

"""
运算符
// 整除,即商为整数
** 求幂
"""


#成员运算符 in not in
# 1用于字符串
# 2用于集合

#身份运算符 is not is
# 判断两个对象是否属于同一内存空间,不是判断对象内容相等不相等

num06 = 100
num07 = 100
print(num06 is num07)#true
print(num06 == num07)#true
print(id(num07))
print(id(num06))
str01 = "abcde"
str02 = "abcde"
print(str01 == str02)#true
print(str01 is str02)#true
#反例
str03 = "abd"*50
str04 = "abd"*50
print(str03 == str04)#true
print(str04 is str03)#false,因为是长串,存储跟短串不一样

# 三元运算符 赋值运算符
num = 3 if 3>2 else 2
print(num)


#输入input()


year,month=input("请输入两个数,以逗号隔开")#这样获得的输入是字符串类型


year,month=eval(input("请输入两个数,以逗号隔开"))#eval()的功能是去除系统强加的引号
print(year,month)


#跟sql差不多,用位置决定循环体
if 条件表达式 :
    语句1
    语句2
     .......
else:
   语句1
   语句2
    .......

elif = else if #单分支
while i<=10:
    i += 1#用i = i+1会创建新对象,py不支持i++
    print(i)

for i in range([起始值],上限值,[跳跃值]):
起始值:默认0,可取到
上限值:取不到
跳跃值:默认1
 
for i in range(1,100):#左闭右开,默认每次自加1
    sum+=i
    print(i)#循环体内
print(sum)#循环体外

for i in range(1,100,2):#左闭右开,默认每次自加2
    sum+=i
    print(i)#循环体内
print(sum)#循环体外

for i in [2,4,6,8]:#该集合元素会依次赋值给i
    print(i)



print("打印1000以内的水仙花数")
for i in range(100,1000):#该集合元素会依次赋值给i
    ge_num = i%10
    bai_num = str(i)[0]
    shi_num = str(i)[1]
    if i==int(ge_num)**3 + int(shi_num)**3 + int(bai_num)**3:
       print(i,end=" ")






#逻辑运算符
与 and
或 or
非 not


'''
可变集合:list,可以存多种类型的数据
不可变集合:
'''
#遍历1
for i in list01:
    print(i)
#遍历2
print(list01)
# 遍历3
i=0
while i < len(list01):
    print(list01[i],end=" ")
    i+=1
#查,跟string用法一样[startPos,desPos,步长]
print(list01[1])
print(list01[1:])
print(list01[-1])
print(list01[1:4])
print(list01[1::2])#访问所有奇数位置的元素
print(list01[:3])
#改
list01[2] = 100
#增
list01.append("haha")
#删除,要删除的元素必须在集合内,否则报错
list01.remove("hello")
#删除集合中的所有元素
list01.clear()
#长度
print(len(list01))

#嵌套集合约等于多维集合














 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值