python学习1:
1.打印hello world
print("hello world") #这是我第一个程序
2.python注释有三种方法
#1.方法1
'''
print("hello world")
print("hello world")
'''
#2.方法2
# print("hello world")
# print("hello world")
#3.方法3
"""
print("hello world")
print("hello world")
"""
3.变量定义
a = 10 #整数类型
b = "张三" #字符串
c = 2000.00 #浮点数 小数
#建议:见名知义
age = 10
name = "张三"
money = 2000.00
#建议使用驼峰命名法
_age = 10
ZhangsanAge = 10 #驼峰命名
#当然也可以使用中文但是不推荐
年龄 = 3
名字 = "呵呵"
print("小猫名字:",名字)
4.变量的赋值和类型
age = 10
name = "张三"
money = 2000.00
print(type(age))
print(type(name))
print(type(money))
'''
'''
a,b,c = 1,1000,"hello"
print(a)
print(b)
print(c)
'''
1
1000
hello
'''
a = 10
'''
这里a为变量
就相当于位置
10就相当于存储在这个位置上的东西
'''
5.关键字
#变量名不能和关键字相同
#关键字:python语言中定义了具体含义的特殊标识符
import keyword
print(keyword.kwlist)
#['False', 'None', 'True', '__peg_parser__', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
6.输出
#1. 用%方式
age = 18
age = 20
country = "中国"
print("我的年龄是%d岁"%age)
print("我的国籍是%s"%country)
print("我的年龄是%d岁,我的国籍是%s"%(age,country))
#2. format()函数
#1.每个{}分别代表一个format的输入
str = "我的年纪是{},我的名字是{},我的国籍是{}".format(18,"张三","中国")
print(str)
#2.索引填充 你好代表位置0,世界代表位置1
str = "{0},{1},{0}!".format("你好","世界")
print(str)
#3.关键字填充
str = "姓名:{name},年龄:{age}".format(name="张三",age=18)
print(str)
#4.通过字典设置参数,**展开map集合
info = {"name":"张三","age":18}
str = "姓名:{name},年龄:{age}".format(**info)
print(str)
#5.利用列表的索引设置参数 {0[0]}第一个0代表format函数中位置为0的list列表,第二个0代表列表中位置为0的参数
list = ["百度","www.baidu.cn"]
str = "网站名称:{0[0]},网址:{0[1]},时间:{1}".format(list,2022)
print(str)
":是对后面数字的操作, .2f表示有两个小数"
print("圆周率:{:.2f}".format(3.1415926))
print("{:,}".format(10000000)) #三个数加一个,
print("{:.2e}".format(1000000)) #科学计数法
#.1留一位小数,并用%来表示
print("{:.1%}".format(0.25))
#不足10个字符,打印*
str = "IT最牛"
print("{:*>10}".format(str))
print("{:*<10}".format(str))
print("{:#^10}".format(str))
#f-strings用法
name = "呵呵"
age = 10
print(f"你好,{name}今年{age}岁了")
str = "IT最牛"
print(f"{str:*>10}")
print(f"{str:*<10}")
print(f"{str:#^10}")
#补充
#任意表达式
print(f"{2*100}")
print(f"{'abc'.upper()}")
#多行f-string
teacher = "张老师"
days = 3
message = (f"{'请假条':_^15}n"
f"{teacher}您好:n"
f"我想请假{days}天,可以吗?"
)
print(message)
print(f"{{86}}")
print("aaa","bbb","ccc",200)
print("www","baidu","cn",sep="#")
print("hello",end="")
print("world",end="t")
print("python",end="n")
print("end")
7.输入
#输入
#input()小括号放入的是提示信息,用来获取数据之前给用户的一个简单提示
#input()在从键盘获取了数据以后,会存放到等号左边的变量中
#input()函数接受的输入必须是表达式
password = input("请输入密码:")
print("用户输入的密码是:",password)
#input输入的信息打印出都是字符类型string
#
a = input("输入:")
print(type(a))
#类型转化
b = "abc:" + str(100) #将数字类型强制转换成字符类型
print(type(str(100))) #
a = input("输入:")
print(type(a)) #
b = int(a)
print(type(b)) #
#不建议下面这么写,因为只能输入整型数字,例如:输入一个字母a就会报错
a = int(input("输入:"))
print(a+100)
8.基本数据类型
#(1)整数(int)
#type() 查看数值类型
a10 = 100
print(type(a10))
#
#二进制、八进制、十六进制的表示法
#十进制转为二进制
print(bin(a10)) #binary 0b1100100
#十进制转为八进制
print(oct(a10)) #octonary 0o144
#十进制转为十六进制
print(hex(a10)) #hexadecimal 0x64
#二进制 0 1
#八进制 0 1 2 3 4 5 6 7
#十进制 0 1 2 3 4 5 6 7 8 9
#十六进制 0 1 2 3 4 5 6 7 8 9 a b c d e
#二进制:01100100 0 * 2**7 + 1 * 2**6
# +1 * 2**5 + 0 * 2**4 + 0 * 2**3
# +1 * 2**2 + 0 * 2**1 + 0 * 2**0
#十进制:100 1 * 10**2 + 0 * 10**1 + 0 * 100**0
#八进制:144 1 * 8**2 + 4 * 8**1 + 4 * 8**0
#十六进制:64 100 ÷ 16 = 6 余 4 6 ÷ 16 = 0 余6 反向结合为64
a2 = 0b01100100
print(a2,type(a2)) #100
a8 = 0o144
print(a8,type(a8)) #100
a16 = 0x64
print(a16,type(a16)) #100
#(2)浮点型(float)
a = 3.1415926
print(a,type(a)) #3.1415926
a = 2.1e-2
b = 5.67e3
print(a,type(a)) #0.021
print(b,type(b)) #5670.0
#(3)布尔类型(bool类型)
#state = True 表示"真","成立",”正确“,"对的"
#state = False 表示"假",“不成立”,“错误”,"错误"
state = False
print(state,type(state))
state = True
state = False #False在底层存储,本质是数字0;True在底层存储,本质是数字1
print(state + 3) #4 , 3
a = 0
print(a,bool(a)) #0 False
#(4)复数类型(complex)
#复数 = 实数 + 虚数
#j:如果一个数的平方是-1,那么这个数就是j
c = 3 + 4j
print(c,type(c)) #(3+4j)
c = complex(3,4)
print(c,type(c)) #(3+4j)
#(5)自动类型转换
#不同数据类型进行运算时,结果默认为更高精度类型
#精度从低到高:
# bool -> int ->float -> complex
#(a) bool + int
state = False #False在底层存储,本质是数字0
print("bool + int: ",state + 3) #True在底层存储,本质是数字1
#(b) bool + float
print("bool + float: ", True + 3.2) #结果默认为浮点型
#(c) bool + complex
print("bool + complex: ", False + 2+3j)
#(d) int + float
print("int + float: ", 10 + 20.0)
#(e) int + complex
print("int + complex: ", 10 + 5+6j)
#(f) float +complex
print("float + complex: ", 3.14 + 5+6j)
#(6)强制类型转换
#int 整型、浮点型、布尔类型、纯数字字符串(整数)
#float 整型、浮点型、布尔类型、纯数字字符串(整数或小数)
#complex 整型、浮点型、布尔类型、纯数字字符串(复数)
#bool 全部类型
num1 = 10
num2 = 22.99
num3 = True
num4 = 4+5j
num5 = "567"
num6 = "a78"
#int()
res = int(num2) #22
res = int(num3) #True为1,False为0
res = int(num5) #567
res = int(num6) #报错
#float()
res = float(num1) #10.0
res = float(num3) #0.0
res = float(num5) #567.0
#complex()
res = complex(num1) #10+0j
res = complex(num2) #22.99+0j
res = complex(num3) #1+0j
res = complex(num5) #567+0j
#bool
res = bool(num4) # 3+4j True
res = bool(num6) #a78
#什么时候bool类型是false (共10种)
a = 0 #整数0
a = 0.0 #浮点0
a = 0j #复数0
a = False #布尔False
a = '' #空字符串
a = () #空元组
a = [] #空列表
a = set() #空集合
a = dict() #空字典
a = None #空对象
print(a,bool(a)) #False