python入门
一丶python的起源
1989年,为了打发圣诞节假期,Gudio van Rossum吉多· 范罗苏姆(龟叔)决心开发一个新的解释程序(Python雏形)
1991年,第一个Python解释器诞生
Python这个名字,来自龟叔所挚爱的电视剧Monty Python’s Flying Circus
二丶基础语法
1.字面量
在代码中,被写下来的固定的值(数据),叫做字面量
"abcd"
1
1.2
...
2.字面量类型
同时也是值(数据)类型
Python中常⽤的数据类型有:
分类分类类型结果举例
基本数据类型:
整型int 42
浮点型float 3.75
布尔型bool True,False
字符串str 'abcd'
复合数据类型:
列表list [1,2,3,4]
元组tuple (1,2,3,4)
字典dict {'name':'zhangsan','age':24}
集合set {1,2,3,4}
Python中判断⼀个字⾯量或变量的类型使⽤type()函数:
3.什么是字符串
字符串(string),又称文本,是由任意数量的字符如中文、英文、各类符号、数字等组成。所以叫做字符的串
如:
"abcde"
"原神,启动!"
"123 木头人"
都是字符串
name = "小李"
name2 = '小刘'
print(name, name2)
str = 'Let's go!'
# # 为了解决上面的问题可以采用
# 里面如果有单引号,外面就用双引号,反之亦然
str = "Let's go!"
# 使用转义符将需要原样输出的内容转义 转义符:\
str = 'Let\'s go!'
# 换行 \n
print("hello,\nworld!")
# 缩进 \t
print("hello,\tworld!")
# 因为路径中出现了\n以及\t默认就会被python理解为你要转义
print("E:\\notest\\test")
# 如果是要输出路径中包换转义的内容的话,不能用来区分但双引号,可以在字符串前面加入r/R来原样输出
print(r"E:\notest\test")
# 将两行内容在一行中输出
print("hello,", end="")
print("world!")
Python中,字符串需要用双引号(“字符串内容”)包围起来被引号包围起来的,都是字符串!
注:实际使用字符串时,无论是单引号,双引号,还是三引号都可以
即:字符串有三种不同的定义方式
txt1 = '我是字符串'
txt2 = "我也是字符串"
txt3 = '''我不仅能做字符串我还可以当注释用'''
4.注释
作用:
1.解释代码的含义;
2.给工程师看的,方便工程师们理解代码;
3.计算机本身并不会执行注释的内容.
在行业内,对开发的要求,注释量不能少于代码的70%.对测试的要求,注释量不能少于代码的15%~30%.
在python中一共有3中注释的方法
1.以一个#开头,紧跟一个空格,后面的内容被注释
2.一次注释多行内容,使用快捷键ctrl+/,此方法是pycharm提供的
3.以成对出现的三单引号或者三双引号注释大段的内容,此方法一般用来解释大段的字符串内容,不用来作为注释使用
4.一般会在脚本的一开头,或者类/函数的开头用来解释文档或者类与函数的作用
5.简单语句
简单语句
Python的简单语句由⼀个单独的逻辑⾏构成,结尾不需要加其他标点符号。
多条简单语句可以存在于同⼀⾏内并以分号分隔,对于初学者建议⼀⾏只写⼀条简单语句。
# # 这是用来打印hello,world!的语句
# print("hello,world!")
# print("你好,中国!")
运行结果为
hello,world
你好,中国
6.PyCharm解释器
E:\PycharmProjects\pythonProject\.venv\Scripts\python.exe E:\PycharmProjects\pythonProject\Python基础\day1.py
⬆️ 你是用那个地方python解释器,运行了哪一个位置中的文件
File "E:\PycharmProjects\pythonProject\Python基础\day1.py", line 30
⬆️ 在day1.py这个文件的第30行可能有个错误
print('Hello World)
^
⬆️ python将它怀疑的地方进行了标明,可能不精准,需要前后查找问题
SyntaxError: unterminated string literal (detected at line 30)
⬆️ 指出了具体问题的原因,看不明白就翻译
7.编程规范
编程规范是在编写代码时,要遵守的⼀些更好的写法,这些写法经过⻓期的总结并固化下来,形成了编程规范。
符合编程规范的代码,⽆论是阅读还是改写都会⽐较容易,反之则难以维护。
编程规范在公司或组织中,通常会统⼀制定并强制遵守,在后⾯的课程中,会逐步介绍常⻅的编程规范。编程初学者应该从⼀开始就遵守常⻅的编程规范,这样可以养成良好的编程习惯
常⻅的编程规范
1.使⽤4个空格缩进,不要使⽤制表符(TAB)。
2.换⾏,使⼀⾏不超过80或120个字符。
3.使⽤⼀个空⾏分隔函数内的较⼤的代码块,使⽤两个空⾏分隔函数和类。
4.使⽤⽂档字符串注释函数,类或者模块。
5.在运算符前后和逗号后使⽤空格,但不能直接在括号内使⽤: a = (1+2) * 4。
6.以⼀致的规则为类和函数命名。见名知意
7.不要在标识符中使⽤⾮ASCII字符。
对于编程初学者,建议:
对于红⾊的波浪线,基本是语法问题(不是绝对),⼀般都要解决。
对于普通的波浪线,基本是编程规范问题,尽量减少或者最好全部解决。
8.变量和数据类型
ython使⽤变量存储程序中需要⽤到的数据
变量
绝⼤部分程序为了解决实际问题,都会对实际问题中的数据进⾏处理,处理的过程中或者结束时,就要⽤变量进⾏
存放。
语法:
变量名 赋值符 变量的值
name = "张三"
age = 18
weight = 88.88
变量要注意的内容:
命名:给变量命名要使⽤⼀个合法的标识符,易于理解,⼤⼩写严格区分;
类型:根据存储的数据的类型,变量就成为相应的类型。
字符类型:所有通过键盘输入进来的内容都被称作为字符,如:1 a A ! # $ % 💗 汉
字符串类型:各种的字符被串联起来,组成一串内容就叫做字符串,如:123abds#$喊 123 abc
数字类型:整型(整数) 100 浮点型(小数) 3.50、
9.变量的三种赋值方式
变量的赋值方式:
在python中,变量的赋值方式一共有三种
普通赋值
链式复制
序列解包
# # 普通赋值
# name = "小刘"
# age = 18
# weight = 88.88
# # 链式复制 --- 当多个变量名公用一个值的时候
# num1 = num2 = num3 = 100
# print(num1, num2, num3)
# # 序列解包
# num1, num2, num3, num4 = 1, 2, 3, 4
# # num1 = 1
# # num2 = 2
# # num3 = 3
# # num4 = 4
# print(num1, num2, num3, num4)
10.标识符和关键字
标识符在编程语⾔中⽤来给变量,常量,函数,类等起名字。
合法的标识符的要求:
1. 标识符由字⺟、数字或下划线组成,第⼀个字符不能是数字;
2. 不能单独由数字构成;
3. Python将⼀些特定的单词留给⾃⼰⽤,称为关键字。关键字不能⽤作标识符。
有哪些关键字?
查看Python的关键字:
['False', 'None', 'True', 'and', 'as', 'assert', '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']
11.变量命名编程规范
语法上a,b,a1,a2这样的标识符都是合法的,可以⽤作变量名。但是这样的命名让程序不容易理解,编程规范
要求对于变量等的命名,要做到⻅名知意,即给变量起⼀个有意义的名字,尽量做到看⼀眼就知道是什么意思。
命名的方式:
1、小驼峰命名法:首个单词的首字母小写,后面的每一个单词的首字母都大写
如:myName,myCatIs。一般用来给函数命名
2、大驼峰命名法:每个单词的首字母都是大写,如:MyName,MyCatIs。一般用来给类命名
3、下划线连接命名法:每个小写的单词用下划线连接,如:my_name,my_cat_is。一般都用来给变量命名
12.字符串类型的转换
字符串 --- str --- s
整型 --- int --- d
浮点型 --- float --- f
语法:
变量 = 需要转换的类型(原字符串)
'''
# 将整型数据转换
num = 100
# 转成浮点型
f = float(num)
print("未转换之前:", num, "\n原类型: ",type(f), "\n转换后:", f, "\n类型: ",type(f))
# 转成字符串
s = str(num)
print("未转换之前:", num, "\n原类型: ",type(num), "\n转换后:", s, "\n类型: ",type(s))
# 将浮点型转换
num = 88.88
# 转成整型
d = int(num)
print("未转换之前:", num, "\n原类型: ",type(num), "\n转换后:", d, "\n类型: ",type(d))
# 转成字符串
s = str(num)
print("未转换之前:", num, "\n原类型: ",type(num), "\n转换后:", s, "\n类型: ",type(s))
# 将字符串转换
str = "100"
# 转成整型 --- 只有具有整型数据样式的字符串才可以转成整型
d = int(str)
print("未转换之前:", str, "\n原类型: ",type(str), "\n转换后:", d, "\n类型: ",type(d))
# 转成浮点型
f = float(str)
print("未转换之前:", str, "\n原类型: ",type(str), "\n转换后:", f, "\n类型: ",type(f))
# 将字符串转换
str = "88.88"
# 转成整型 --- 具有浮点型数据样式的字符串是无法转换成整型的
d = int(str)
print("未转换之前:", str, "\n原类型: ",type(str), "\n转换后:", d, "\n类型: ",type(d))
# 转成浮点型
f = float(str)
print("未转换之前:", str, "\n原类型: ",type(str), "\n转换后:", f, "\n类型: ",type(f))
# 如果一定要转成整型
f = float(str)
d = int(f)
print(d, type(d))
d = int(float(str))
print(d, type(d))
13.print()函数的特点:
1、print可以用来打印所有的内容;
2、print中如果要打印的内容有很多,就需要用逗号以及一个空格分隔;
练习:
使用print()函数,输入一下内容
我的名字叫xx,今年xx岁,体重xx公斤
要求:先定义好姓名、年龄、体重的变量
my_name = "小刘"
my_age = 18
my_weight = 88.88
print("我的名字叫", my_name, ",今年", my_age, "岁,体重", my_weight, "公斤。")
14.连接符 +
1、+ 两边的数据类型必须一致;
2、如果两边都是数字就进行相加的操作;
3、如果两边都是字符或者字符串就进行连接的操作。
# print("我的名字叫" + my_name + ",今年" + str(my_age) + "岁,体重" + str(my_weight) + "公斤。")
15.格式化输出
1、以一个%加上各种数据类型的缩写,然后指定位置传递指定的类型
注意:此方法在传递数据的时候,格式的顺序不能错
2、以{ } 以及format函数进行输出
注意:此种方法不关系某个位置上的数据类型,所以顺序也不要传错
3、第2种方法的简写
# %的格式化输出
print("我的名字叫%s,今年%d岁,体重%.2f公斤。"%(my_name, my_age, my_weight))
# 以{} 以及format函数进行输出
print("我的名字叫{},今年{}岁,体重{}公斤。".format(my_name, my_age, my_weight))
# 第2种方法的简写
print(f"我的名字叫{my_name},今年{my_age}岁,体重{my_weight}公斤。")
16.字符串的比较
字符串的比较,优先用第一位的字符比较,如果相等,就开始比较下一位,直到比到第一个不相同的字符时,进行大小判断
常⻅ASCII码的⼤⼩规则:0-9<A-Z<a-z。
- 数字⽐字⺟要⼩。如 “7”<“F”;
- 数字0⽐数字9要⼩,并按0到9顺序递增。如 “3”<“8” ;
- 字⺟A⽐字⺟Z要⼩,并按A到Z顺序递增。如“A”<“Z” ;
- 同个字⺟的⼤写字⺟⽐⼩写字⺟要⼩32。如“A”<“a” 。
⼏个常⻅字⺟的ASCII码⼤⼩: “A”为65;“a”为97;“0”为 48
17.输入 — input()
所有的程序都应该提供跟用户的交换功能
所有通过input函数传进来的数据都被视为字符串
# name = input("请输入你的姓名:")
# print(f"你输入的名字是:{name}")
练习:
由用户输入两个数字,然后你编写一个小程序,计算用户输入的两个数相加的值,返回给用户,告诉她是多少!
'''
# num_1 = int(input("请输入第一个数字:"))
# num_2 = int(input("请输入第二个数字:"))
#
# print(f"你输入的数字: {num_1} + {num_2} = {num_1 + num_2}")
三丶练习
1.输出如下菜单:
=====================================================
= 欢迎进⼊身份认证系统
= 1.登录
= 2.退出
= 3.认证
= 4.修改密码
=====================================================
答案:
print("=====================================================")
print("= 欢迎进⼊身份认证系统")
print("= 1.登录")
print("= 2.退出")
print("= 3.认证")
print("= 4.修改密码")
print("= =====================================================")
2.使⽤四个变量,确定好变量的类型,先获取以下输⼊,再进⾏输出:
请输⼊姓名:wang
请输⼊年龄:23
请输⼊⼿机号:13012345678
请输⼊地址:南京市
------
姓名:wang
年龄:23
⼿机号:13012345678
地址:南京市
答案:
name = input("请输入姓名:")
age = input("请输入年龄")
phonenum = input("请输入手机号")
ip = input("请输入地址")
print("姓名: " + name )
print("年龄: " + age )
print("手机号: " + phonenum)
print("地址: " + ip )