Syntaxe de base de Python
1. Identifiant
- Le premier caractère doit être une lettre de l'alphabet ou un trait de soulignement _.
- Les autres parties de l'identifiant sont constituées de lettres, de chiffres et de traits de soulignement.
- Les identificateurs sont sensibles à la casse.
- Dans Python 3, le chinois peut être utilisé comme nom de variable, et les identifiants non ASCII sont également autorisés.
2. Mots réservés 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 ' , 'ou', 'passer', 'augmenter', 'return', 'essayer', 'while', 'with', 'yield']
3 caractère d'échappement
- \ t onglet
- \ n nouvelle ligne
- Le caractère après \ représente la signification originale du caractère
- r "" Tout ce qui est entre guillemets correspond à la signification originale de la chaîne
- f "" Constante de chaîne de format.
4 espaces réservés
- Espace réservé de chaîne% s
- % f espace réservé à virgule flottante
- % d espace réservé d'entier
5. Types de données de base
Type de données standard
Nombre
Python3 prend en charge int, float, bool, complex (pluriel). Dans Python 3, il n'y a qu'un seul type entier int. La fonction
intégrée type () peut être utilisée pour interroger le type d'objet vers lequel pointe une variable.
print(type(a), type(b), type(c), type(d))
print(type(a), type(b), type(c), type(d))
<classe 'int'> <classe 'float'> <classe 'bool'> <classe 'complexe'>
De plus, isinstance peut également être utilisée pour juger:
a = 111
isinstance(a, int)
Vrai
La différence entre isinstance et type est
- type () ne considérera pas la sous-classe comme un type parent.
- isinstance () considérera la sous-classe comme un type de superclasse.
5 + 4 # Addition
9
4.3-2 # Soustraction
2.3
3 * 7 # Multiplication
21
2/4 # Division, obtenir un nombre à virgule flottante
0,5
2 // 4 # Division, obtenir un entier
0
17% 3 # Prendre le reste
2
2 ** 5 # Puissance
32
Chaîne (chaîne)
str = 'Runoob'
print (str) # 输出字符串
print (str[0:-1]) # 输出第一个到倒数第二个的所有字符
print (str[0]) # 输出字符串第一个字符
print (str[2:5]) # 输出从第三个开始到第五个的字符
print (str[2:]) # 输出从第三个开始的后的所有字符
print (str * 2) # 输出字符串两次,也可以写成 print (2 * str)
print (str + "TEST") # 连接字符串
Résultat de sortie
Runoob
Runoo
R
noo
Noob
RunoobRunoob
RunoobTEST
Fonctions de chaîne couramment utilisées
- find () -> Vérifie si la chaîne est incluse et renvoie la position de la chaîne, sinon, renvoie -1
str="Hello World"
str.find("Hello") # 返回值:0
str.find("W") # 返回值:6, 这里需要注意下:空格也是一个字符。W前面有个空格,所以W位置是6
str.find("R") # 返回值:-1,并不包含在Hello World中,如果不包含返回-1
- index () -> Vérifie si la chaîne contient le caractère spécifié et renvoie la valeur d'index de départ, sinon, une erreur sera signalée
str.index("Hello") # 返回值:0
str.index("o") # 返回值:4
str.index("W") # 返回值:6
str.index("R") # 返回值:报错信息 ,因为R并不包含其中。 所以建议慎用,如果值不存在程序报错就完蛋了。
- len () -> Renvoie la longueur de la chaîne, à partir de 0
len(str) #返回值:10
- count () -> Collecte le nombre de fois où le caractère spécifié apparaît dans la chaîne
str.count("o") 返回值:2, o字符在Hello World中存在两个。
# 也可以指定count()函数从某个位置开始查找。 语法为:count(" ",start,end)
str.count('o',5,10) 返回值:1, 原因:指定位置后会从索引5开始检索,以索引10结束。 5到10之间只存在一个'o'
str.count('o',4,len(str)) 返回值: 2,索引从4开始,到字符串结束。len(str)字符串长度
- replace () -> remplace la chaîne
str.replace('hello','HELLO') # 把小写的hello替换为大写的HELLO
str.replace('W','B') # 把W替换为B
- coupe de chaîne split ()
str.split('o') #以列表的形式返回["hell","w","rld"] ,hello world 里面的o被切割掉
- upper () -> convertir tous les caractères en majuscules
str.upper() #返回值为 HELLO WORLD
- title () -> convertir la première lettre en majuscule
str.title() #返回值:Hello World
- center () -> renvoie une nouvelle chaîne avec la chaîne d'origine centrée et remplie d'espaces à la longueur et à la largeur
str.center(80) #返回值: ( Hello World ) 其字符串两头被空格填充
- join () -> Insère un caractère spécifié après la chaîne pour construire une nouvelle chaîne
_str="_"
list=["I","Love","You"]
_str.join(list) # 返回值: I_Love_You 每个列表元素后面都插入一个下划线
- isspace () -> Détecte si la chaîne ne contient que des espaces, si elle renvoie Trun, sinon renvoie False. En général, il s'agit de juger une vérification non vide
str=" "
strOne="早上好!"
str.isspace() # 返回trun
strOne.isspace #返回false
- isalnum () -> Vérifiez s'il contient uniquement des chiffres ou des lettres. Utilisation: Il peut être utilisé pour juger du mot de passe. En règle générale, vous ne pouvez pas saisir de caractères chinois ou d'espaces dans le mot de passe.
strOne="a123"
strTwo="a 456"
strOne.isalnum() # 返回trun
strTwo.isalnum() # 返回false ,因为包含空格
- isdigit () -> Vérifie si le caractère ne contient que des chiffres, renvoie Trun et False
str='123'
strone='a123'
str.isdigit() 返回trun
strone.isdigit() 返回false
- isalpha () -> Vérifiez si la chaîne ne contient que des lettres
str="abcd"
strone="123abacd"
str.isalpha() # 返回 trun
strone.isalpha() # 返回false
opération
a, b = 6, 8 Je veux a = 8 b = 6. Que dois-je faire? Réaliser de 2 façons
première méthode
a,b = 6, 8
print(f"a = {a}\tb = {b}")
c = a
a = b
b = c
print(f"a = {a}\tb = {b}")
a = 6 b = 8
a = 8 b = 6
Deuxième méthode
a,b = 6, 8
print(f"a = {a}\tb = {b}")
a, b = b, a
print(f"a = {a}\tb = {b}")
a = 6 b = 8
a = 8 b = 6
Ordre inverse et statistiques des chaînes complètes
- Concevoir un programme qui ne nécessite qu'une chaîne d'une longueur inférieure à 31 pour être saisie, sinon l'utilisateur est invité à entrer à nouveau
- Imprimer la longueur de la chaîne
- Utilisez des tranches pour imprimer la chaîne dans l'ordre inverse
# 1
print("请输入一个字符串")
str1 = ''
s_input = True
while s_input:
str1 = input("input:")
if len(str1) >= 31:
print("请重新输入一个字符串")
else:
s_input = False
print(f"str1: {str1}")
# 2
print(f"字符串长度: {len(str1)}")
# 3
str2 = str1[::-1]
print(f"str2: {str2}")
Il est nécessaire de saisir le nom d'utilisateur et le mot de passe à partir du clavier pour vérifier si le format est conforme aux règles. Sinon, imprimez la raison de la non-conformité et vous invitez à les saisir à nouveau.
• La longueur du nom d'utilisateur est 6-20, et le nom d'utilisateur doit commencer par une lettre. La
longueur du mot de passe est d'au moins 6 chiffres, ne peut pas être un nombre pur, ne peut pas contenir d'espaces
import re
user_name = ''
pwd = ''
s_input = True
while s_input:
user_name = input("用户名:")
reg = '^.{6,20}$'
obj = re.match(reg, user_name)
pwd = input("密码:")
verify_user_name = user_name.isalpha() is False and obj is not None
verify_user_pwd = pwd.isdigit() is False and len(pwd) > 6
if verify_user_name and verify_user_pwd:
print(f"用户名: {user_name}")
print(f"用户名: {pwd}")
s_input = False
else:
print(f"用户名或密码不对")